开始
这是什么
ProbeDeck(探针台)是 CF-Server-Monitor 的 Docker / VPS 移植版。
原版运行在 Cloudflare Workers + D1 + Durable Objects 上;本移植版把整个后端搬进一个 Node.js 单进程(better-sqlite3 + ws),前端、REST API、探针协议与原版完全一致,被控端探针无需任何改动,主题生态完全通用。
你不需要有 Cloudflare 账户。移植之后,关掉 Cloudflare 面板也能正常跑。
能看到什么
- 实时状态:CPU、负载、内存、swap、磁盘、网速、TCP / UDP 连接数、进程数,上报间隔最低 1 秒
- 流量:总流量、按商家重置日计的月流量、今日流量。见流量统计
- 三网延迟:每台最多 24 个探测点,画出延迟和丢包。见三网延迟
- 到期:记录价格与到期日,在线节点过期后自动顺延一个付款周期。见节点
- 通知:离线、资源告警、流量、到期、登录,以及日 / 周 / 月流量报告。见通知与报告
- 地图:内置 GeoLite2 离线库,探针位置自动显示国旗。见地区识别
两个部分
| 组件 | 装在哪 | 是什么 |
|---|---|---|
| 面板 | 主控机 | Node.js 单容器,后台、API、公开状态页、静态资源都在里面 |
| 探针 | 每一台被监控的机器 | Go 写的单文件,Linux / Alpine / OpenWrt / macOS / 群晖 / fnOS / Windows,另有 Docker / Unraid 镜像 |
适配层的原理
server/ 目录在 Node 里模拟了 Workers 的运行时环境:
| Workers | ProbeDeck |
|---|---|
| D1 | SQLite(better-sqlite3) |
| Durable Objects | 单进程实例(落盘到 do-storage.json) |
| Cron Triggers | 按 UTC 对齐的 setInterval |
| Workers Assets | 静态文件 |
src/ 业务代码保持原样,方便跟随上游更新——这就是移植能长期跟住原版的原因,原理见架构与适配层。
与 Cloudflare 原版的差异
| 项 | 说明 |
|---|---|
| 地区识别 | 已用 GeoIP 复刻,行为与原版基本一致 |
| CF 用量统计 | 已移除(VPS 部署无此概念) |
| Turnstile 人机验证 | CF 服务,默认关闭;启用需服务器能访问 challenges.cloudflare.com |
| 版本更新提示 | 读取本仓库的 version.json,发新版时同步更新 |
| 其他 | 定时任务按 UTC、周期表轮换、离线检测、通知逻辑 100% 保留 |
在 GitHub 上修改这一页最后更新 2026-09-25