ProbeDeck

开始

这是什么

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 的运行时环境:

WorkersProbeDeck
D1SQLite(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