把多个 InstaBox 账号的机器放进一个私人面板,随时查看状态、打开终端,还能自动保活、通过 Telegram 收到离线提醒和远程操作。
github项目地址:GitHub - meicuode/InstaBoxPanel · GitHub
InstaBox 是什么?
InstaBox 是云端 Linux 机器平台,可用于搭建开发环境、运行脚本和应用。它提供机器管理、终端访问和 API,支持启动、停止、暂停与恢复;暂停通常保留工作现场,方便下次继续使用。具体机器配置、额度与价格以官网为准。
InstaBox Panel 是管理这些机器的私人控制台,部署在 Cloudflare Workers 上,使用 D1 保存账号、配置和操作记录。面板通过 InstaBox 官方 API 查询和控制机器,无需额外购买服务器来运行面板。
主要功能:
-
多账号统一管理:集中查看机器、筛选状态、暂停、恢复、启动和停止,减少来回切换账号。
-
自动保活:全天或按每天的时间范围检查,暂停后自动恢复。
-
Telegram 联动:离线通知、查询状态,以及通过按钮恢复或暂停机器。
-
网页终端:浏览器直接操作机器,支持多个浮动窗口、拖动缩放和最小化。
-
私人访问与操作记录:管理员账号密码登录,凭据加密保存,记录操作来自 Web、TG 还是保活定时器。
日常怎么用?
首次登录与添加账号
安装完成后,首次打开网站会自动建表,并提示设置管理员账号。创建账号和至少 12 个字符的密码;以后使用这组账号密码登录,没有默认密码。
进入面板后:
- 在 InstaBox 官方控制台 的 Profile → API keys 创建 Key,授予
machines:write权限(已包含读取权限)。 - 点击面板的添加账号,填写账号别名和 API Key,保存即可加载机器。
- 多个账号重复添加即可。页面每 10 秒刷新状态,机器行右侧提供控制、终端和保活入口。
保活:全天运行,或只在需要的时段恢复
点击机器行右侧的心跳图标,选择模式并保存:
| 模式 | 作用 |
|---|---|
| 不保活 | 默认关闭,保留机器原有的自动暂停行为 |
| 全天保活 | 每分钟检查,发现暂停后自动恢复 |
| 指定时间范围 | 仅在每天指定的时间窗口内检查并恢复 |
时间范围默认使用 Asia/Shanghai 时区,每台最多设置 5 段,支持 22:00–06:00 这样的跨午夜范围。例如只在工作时间使用,就设置 09:00–18:00。窗口结束后不会主动暂停机器,只是停止自动恢复。
保活的原理是 Cloudflare Cron 每分钟触发 Worker → 查询机器状态 → 按规则调用恢复 API。配置保存在 D1,关闭网页或退出登录后仍会执行。当前最多同时为 5 台机器开启保活。
这里的保活是“暂停后自动恢复”,不能保证机器从不暂停、服务零中断。通常在下一次检查时发起恢复,还需要等待机器唤醒;已经停止的机器需要手动启动。
Telegram:离线通知与远程控制
绑定步骤:
- 在 Telegram 找到官方 @BotFather,发送
/newbot创建机器人,取得 Bot Token。 - 打开自己的机器人,先发送一次
/start。 - 获取自己的 Telegram 数字用户 ID,可通过 @userinfobot 查询。私人聊天 ID 就是这个数字,不能填
@用户名或群组 ID。 - 点击面板右上角 Telegram,填写 Token 和私人聊天 ID。如需提醒,勾选机器离线时通知我,然后点击绑定机器人。
- 再向机器人发送
/start或/accounts,按消息下方的按钮选择账号 → 机器 → 操作。暂停机器前需要再次确认,无需手动输入长 ID。
面板会自动注册 Telegram Webhook。点击按钮后,Telegram 将请求发给 Worker,Worker 校验回调密钥和绑定用户身份,再调用 InstaBox API。只接受该用户的私人聊天,其他用户和群组无法操作。
保活与通知共用一个每分钟触发器,分别控制开关:
每分钟 Cron
→ 检测机器状态变化,记录离线事件并尝试发送 TG 通知
→ 检查保活规则,对符合条件的暂停机器发起恢复
Telegram 按钮 → Webhook → Worker 校验身份 → 查询或控制机器
开启通知后,首次检查先记录初始状态;之后机器从运行变为暂停、停止或异常时提醒,同一次持续离线不反复通知。API 查询失败不会直接判成机器离线。通知发送失败会保留待发记录并重试,保活仍会继续;补发时若机器已经恢复,消息会注明当前已恢复运行。
例如机器自动暂停后,后台检测到变化,发送 TG 提醒,同时按保活规则恢复机器。收到通知后,可直接点击查看状态确认恢复结果。
两者可以独立使用:不绑定 TG 也能保活;未开启保活的机器也能收到离线通知。关闭通知或解除 TG 绑定不会关闭保活。若希望手动暂停后保持暂停,请先关闭该机器的保活,否则从网页或 TG 暂停后,都可能被下一次检查恢复。
网页终端:在浏览器里操作机器
点击机器行的终端图标即可打开,支持命令输入、复制粘贴、字号调整、拖动、四角缩放和最大化,也可同时保留多个机器的终端。
它提供类似 SSH 的操作体验,实际使用的是 xterm.js + Worker WebSocket 代理 + InstaBox 官方终端,无需自己配置 SSH 私钥。
- 最小化:收起到右下角,连接和输出继续保留。
- 点击窗口 ×:收起并开始 60 秒倒计时;期间恢复窗口会取消断开。
- 点击右下角入口的 ×:立即断开。刷新网页或退出登录也会关闭当前页面的连接。
安装:四步完成
准备好 GitHub 和 Cloudflare 账号即可,整个过程在网页中完成。
第一步:Fork 项目
打开 meicuode/InstaBoxPanel,点击右上角 Fork,复制到自己的 GitHub 账号。
第二步:在 Cloudflare 创建应用
进入 Cloudflare 控制台的 Workers & Pages → Create application / 创建应用,选择从 GitHub 仓库导入,授权后选择自己刚 Fork 的 InstaBoxPanel。
项目名称建议填写 instabox-panel,与仓库配置保持一致;分支选择 main,根目录保持默认。填写:
| 配置项 | 内容 |
|---|---|
| 构建命令(Build command) | npm run build |
| 部署命令(Deploy command) | npx wrangler deploy |
点击 Deploy / 部署,等待首次部署完成。
第三步:绑定 D1 数据库
进入刚创建的 Worker → Settings / 设置 → Bindings / 绑定 → Add binding / 添加绑定:
- 类型选择 D1 database。
- 绑定的 Name 必须填写大写
DB。 - 在下拉框选择数据库,保存并按提示应用更改。
如果没有数据库,先在 Cloudflare 搜索 D1,进入后创建一个数据库,再回到绑定页面选择它。数据库本身可以任意命名,绑定名必须是 DB。
这里添加的是 D1 资源绑定,不是名为 DB 的文本环境变量。程序会自动建表,无需执行 SQL,也无需额外配置加密密钥。
第四步:重新部署并访问
绑定数据库后,进入 Deployments / 部署,点击最近一次记录的 Build 进入构建详情,手动重新运行一次构建/部署,确保新部署使用刚保存的绑定,等待状态变为 Ready。
接着打开 Domains / 域名,就能看到 Cloudflare 分配的 workers.dev 地址。直接点击访问,或通过 Add Domain 绑定自己的域名。
打开网站,设置管理员、添加 InstaBox 账号,再按需要开启保活和绑定 TG,就完成了。
最后检查:每分钟触发器
保活和离线检测依赖 Cloudflare Cron Trigger。 项目默认会在部署时自动配置一个每分钟执行的触发器,正常情况下无需手动添加。
进入 Worker → Settings → Trigger events → Cron triggers,确认有一条:
* * * * *
页面应显示 Every minute,如下图。已有这条配置就不要重复添加;修改后可能需要几分钟传播生效。
如果发布失败并提示 Cron 数量超限(例如错误 10072),通常是 Cloudflare 免费账号下所有 Worker 的触发器合计已达到 5 条上限。去其他 Worker 删除一条确认不再需要的触发器,再回来重新部署。把执行频率改为每 5 分钟不能解决“条数超限”。额度以 Cloudflare 官方限制为准。
另外记住三点:
- 保活会增加机器运行时间,仍受 InstaBox 自身的额度和计费规则约束。
- 部署后及时完成管理员设置,保存好密码、API Key 和 Bot Token;备份 D1,数据库中也保存着后台自动化所需的密钥。
- TG 绑定需要可访问的 HTTPS 地址。更换域名后重新保存机器人设置;若另加了 Cloudflare Access,需允许 Telegram 访问
/api/telegram/webhook,否则按钮回调无法到达面板。










