📈 GH Trending Explorer 🎲 Surprise me

← all repos

huilang-me / CF-Server-Monitor

git clone https://github.com/huilang-me/CF-Server-Monitor.git

一个基于 Cloudflare Workers + D1 + Durable Objects 的免费多服务器监控探针系统,支持实时监控、离线告警,到期通知,历史数据查看、延迟追踪、地图展示等功能。兼容主流Linux系统,Alpine Linux,OpenWrt,macOS,群晖 DSM、飞牛 fnOS、Windows系统。

+41
stars, 24h · #939
+~187
stars, 7 days · #1,200
+~800
stars, 30 days · #1,057
2.7k
★ total · +8% this week
2.6k
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 2,589 ★ 2026-10-23 · 2,669 ★
LanguageJavaScript
LicenseMIT
Created2026-05-26 (5mo ago)
Last pushtoday
Watchers2
OwnerUser

Links

README excerpt
# CF-Server-Monitor
基于 Cloudflare Workers、D1 和 Durable Objects 的轻量级多服务器监控面板。
 简体中文 
 |
 English 
在线演示 · API 文档 · Go 探针文档 · 主题开发 · 主题开发 AI 提示词
## 项目简介
CF-Server-Monitor 是一个部署在 Cloudflare Workers 上的服务器监控系统。服务器端安装 Agent 后会单向上报指标到 Worker,数据写入 D1,并通过 Durable Objects + WebSocket 推送到前端,实现免费托管、低维护的实时监控。
支持主流 Linux 发行版、Alpine Linux、OpenWrt、macOS、群晖 DSM、飞牛 fnOS、Windows 等系统,并提供 Docker 镜像部署方式。
高安全性:Agent 仅单向上报指标,不提供 WebSSH、远程命令下发或主控通道;支持非 root 运行,可降低监控组件被利用后的影响范围。
## 目录
- 对比优势
- 特性
- 系统架构
- 版本说明
- 快速部署
- 首次使用
- Agent 参数与安全建议
- 配置说明
- 通知与告警
- 安全建议
- 主题与外观
- 升级与维护
- 本地开发
- 项目结构
- 常见问题
- 界面预览
- 支持项目
## 对比优势
相比传统主控式探针,CF-Server-Monitor 更适合低成本、低维护和安全优先的监控场景:
- 免费托管:面板、API、数据库和实时推送都运行在 Cloudflare 上,按免费额度友好设计;默认 60 秒上报间隔可支持约 60 台服务器,改为 120 秒后理论上可翻倍。
- 单向上报更安全:没有 WebSSH、没有远程命令下发、没有主控通道;Agent 只向 Worker 上报指标。
- 功能覆盖完整:实时指标、历史图表、地图展示、离线通知、资源告警、到期提醒、主题商店、多语言和移动端适配都已内置。
- 参数动态下发:后台可修改 Ping 节点、采集间隔、HTTP 上报间隔、WSS 上报间隔、统计网卡、流量重置日、上下行流量校正等参数,Agent 后续自动拉取并生效;Worker 地址、`API_SECRET` 和自动更新开关变更需要重新执行安装命令。
- 支持非 root 安装:支持 `systemd --user` 的 Linux 可使用普通用户安装,探针文件写入 `~/.cf-probe/`。
- 上报时间自动校准:Go Agent 会使用 Worker 响应中的 HTTP `Date` 头校正样本时间和 `boot_time`,降低服务器本地时间错误对历史图表的影响;不会修改系统时间。
## 特性
| 模块 | 能力 |
| --------- | -------------------------------------------------------------------------------- |
| 实时监控 | CPU、GPU、内存、交换分区、磁盘、磁盘 IO、网络、连接数、进程数、负载、运行时间 |
| 历史数据 | 7 天历史图表、长时段采样、实时网速、月流量统计与校正 |
| 网络质量 | 电信、联通、移动、BGP 节点延迟与丢包率追踪;三网详情开启时首页从 D1 最近 2 小时抽样最多 20 个真实点并缓存 5 分钟 |
| 多视图前台 | 条形图、环形图、表格、地图视图,支持桌面端和移动端 |
| 管理后台 | 服务器增删改查、拖拽排序、隐藏服务器、导入导出、批量删除、数据库维护 |
| 多系统 Agent | 主流 Linux、Alpine Linux、OpenWrt、群晖 DSM、飞牛 fnOS、FreeBSD、macOS、Windows,支持 Docker 镜像部署;默认 Go 版本,保留 Shell/PowerShell 版本 |
| 实时推送 | Durable Objects + WebSocket,Agent 上报后前端即时刷新 |
| 告警通知 | 离线告警、恢复通知、到期提醒、资源负载告警 |
| 多语言 | 前端内置中文、英文和西班牙语(拉美)切换;通知消息支持中文、英文和西班牙语;文档提供中文与英文入口 |
| 多站点 | 支持 GitHub Pages 静态前台和多个 Worker API 聚合展示 |
| 小组件 | 提供 iOS Scriptable 小组件脚本,适合移动端快速查看 |
| 安全控制 | API Secret、管理员密码、JWT、Turnstile、CORS、CSP 白名单 |
| 主题生态 | 内置主题、Mikus 模式、主题商店、第三方主题反代与预览 |
| 额度友好 | 按月表轮换、历史查询采样、缓存与限流设计,适配 Cloudflare 免费额度 |
## 系统架构
 [code] 
核心数据流:
1. 在管理后台添加服务器,复制安装命令。
2. 目标服务器安装 Agent,按上报间隔向 Worker 发送指标。
3. Worker 校验 `API_SECRET`,写入 D1,并通过 Durable Object 广播实时数据。
4. 前台大盘、详情页、管理后台和 iOS 小组件读取同一套 API。
近期变化:
- `2.8.7`:优化定时任务逻辑,降低CPU负载,避免超出免费额度限制;`/update` 增加 512KB 请求体上限,超限直接返回 413;服务器被删除后,其 Agent 的 WSS 连接会在 2 分钟内自动断开;WSS 上报增加帧大小校验,D1 抖动时不再中断已认证会话;批量样本只保留最新 300 条。
- `2.8.6`:WSS前端订阅采用250毫秒批量上报,新增SMTP通知渠道,新增月度流量阈值告警,移除旧版数据库兼容性,新增Docker安装方式。
- `2.8.5`:支持自定义 Ping 节点名称;增加ICMP模式;优化WSS响应逻辑;API接口优化;原皮前端优化;新增4个ping节点。
- `2.8.4`:新增 Agent WSS 上报和 WSS 开启时段,提升实时数据推送及时性,并允许非目标时段自动改用 POST 降低 Do 时长消耗;该能力要求 Agent 升级到 `v1.0.10+`。新增账户Do用量展示,优化无前端订阅时的 Do 实时广播请求,降低空闲额度消耗。通知设置新增自定义 Webhook 渠道, 新增前端wss超时配置。
- `2.8.3`:新增磁盘 IO 统计,默认 Agent 切换为 Go 版本,新增服务器延迟与丢包率实时窗口。
- `2.8.2`:引入 Go Agent 支持。
- `2.8.1`:优化长时间历史查询 D1 读行,增加资源负载通知和主题商店接口优化。
- `2.8.0`:新增主题商店,支持一键切换第三方主题。
- `2.7.x`:重构数据库写入、月表轮换、通知模块、安全策略、服务器计费字段、导入导出和多项后台能力。
Go Agent 的完整更新记录见 cfsm-agent releases。
## 快速部署
### 前置要求
- Cloudflare