VPS DueGuard:把多家 VPS 续费和流量监控收进 Telegram

一个面向多 VPS 用户的小工具:集中查看服务续费、流量使用,并通过 Telegram 接收提醒和日报。

如果你和我一样,会在不同商家手里放着几台低价 VPS,那大概率也遇到过这类小麻烦:每家后台都要单独登录,续费日期散落在不同页面,流量用量也要点进去看;等到想起来检查时,可能已经快到期了。

VPS DueGuard 就是为这个场景写的一个轻量工具。它不是完整的监控系统,而是更聚焦在「VPS 服务清单、续费日期、流量使用、Telegram 提醒」这几件高频但容易遗忘的小事上。

VPS DueGuard

它解决的是什么问题

很多低价 VPS 商家使用 WHMCS / Lagom 风格相近的用户面板。服务列表、续费时间、流量信息通常都能在后台找到,但问题是:

  • 账号分散在多个商家;
  • 每次查看都要登录不同面板;
  • 有些服务只在临近续费时才会想起来;
  • 流量用量需要点进详情页才能确认;
  • 想要一个每日汇总,还得自己手动整理。

VPS DueGuard 的思路比较直接:把多个提供商配置到一个 config.yaml 里,然后通过脚本统一查询。能拿到的服务信息会被整理成统一输出,并可通过 Telegram Bot 随时查看。

主要功能

这个项目目前比较适合下面几类需求:

功能说明
多商家服务汇总统一列出多个 WHMCS / Lagom 风格面板中的活跃 VPS 服务
续费日期提醒在配置的提醒窗口内,通过 Telegram 发送续费提醒
流量概览读取面板中暴露的已用流量、总流量和剩余流量
Telegram Bot 查询通过 /summary/traffic/renewals 等命令查看最新状态
Cookie 会话缓存尽量复用登录 Cookie,减少重复登录,也让后续查询更快
Linux 菜单部署通过 vpsm.sh 提供安装、配置、测试、日志、卸载等菜单入口
systemd 定时任务支持日报、续费检查、Bot 服务等 systemd 管理方式

它的定位不是替代 Prometheus、Uptime Kuma 这类监控工具。它更像是一个「VPS 到期和流量管家」:不关注 CPU、内存、端口存活,而是关注账单和面板里已经存在的信息。

快速安装

项目为 Debian / Ubuntu 准备了菜单式部署脚本。最简单的使用方式是:

1
2
3
git clone https://github.com/xing-xing-coder/vps-dueguard.git
cd vps-dueguard
sudo bash vpsm.sh

执行后会进入一个双语菜单,可以在里面完成安装、添加服务商、测试查询、配置 Telegram、启用 systemd 服务等操作。详细步骤参考VPS DueGuard

安装完成后,后续可以直接通过下面的命令重新打开菜单:

1
vpsm

安装菜单图

配置提供商

菜单会把配置写入:

1
/opt/vps-dueguard/config.yaml

配置结构大致如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
providers:
  - name: provider-a
    base_url: https://example-provider-a.com/
    username: your@email.com
    password: your-password

  - name: provider-b
    base_url: https://example-provider-b.com/
    username: your@email.com
    password: your-password

这里的 name 建议写得短一些,因为后续 Telegram Bot 可以用类似下面的命令单独查询某一家:

1
/provider provider-a

需要注意的是,VPS DueGuard 主要面向 WHMCS / Lagom 风格的客户区页面。不同商家的页面结构、登录流程、风控策略、语言设置都可能不同,所以兼容性不能保证百分百一致。如果遇到某家无法读取,通常需要先从菜单里跑一次单商家测试,再结合日志判断是登录失败、页面结构变化,还是被验证码 / 2FA 等机制挡住了。

Telegram Bot:最方便的入口

我比较喜欢这个项目的一点,是它没有要求你一直 SSH 到服务器上看输出。配置好 Telegram Bot Token 和 Chat ID 之后,就可以直接在 Telegram 里查询 VPS 状态。

常用命令包括:

1
2
3
4
5
6
/summary
/traffic
/renewals
/provider provider-a
/refresh
/help

其中:

  • /summary:查看所有活跃 VPS、续费日期和流量概览;
  • /traffic:只看流量使用情况;
  • /renewals:只看续费日期和剩余天数;
  • /provider provider-a:查询某一个服务商;
  • /refresh:强制刷新 5 分钟缓存;
  • /help:查看帮助。

Telegram Bot 查询截图

为了安全,项目只允许配置中的 chat_id 查询 VPS 信息。也就是说,即使别人知道了你的 Bot,也不能直接拿它查你的服务状态。

续费提醒和日报

默认续费提醒窗口是:

1
21,14,7,3

也就是服务进入 21 天、14 天、7 天、3 天这些窗口时,可以触发提醒。项目会用本地状态文件做去重,避免同一个服务在同一个提醒阈值下反复发送通知。

除了续费提醒,它也可以通过 systemd timer 发送每日汇总。对 VPS 数量比较多的人来说,这种日报很实用:不用每天主动想起来检查,到点就能看到一份当前服务状态。

systemd 管理

安装器会创建几个 systemd 单元,用来运行 Bot、日报和续费检查:

1
2
3
vps-dueguard-bot.service
vps-dueguard-daily.timer
vps-dueguard-renewals.timer

常见管理命令如下:

1
2
3
sudo systemctl restart vps-dueguard-bot.service
sudo systemctl status vps-dueguard-bot.service
sudo systemctl list-timers 'vps-dueguard-*'

查看日志可以用:

1
2
3
sudo journalctl -u vps-dueguard-bot.service -n 100 --no-pager
sudo journalctl -u vps-dueguard-daily.service -n 100 --no-pager
sudo journalctl -u vps-dueguard-renewals.service -n 100 --no-pager

隐私和安全提醒

这类工具最需要注意的是配置文件安全。config.yaml 里会保存服务商账号密码、Telegram Bot Token 等敏感信息。项目安装时会把配置文件权限设为 600,但日常使用时仍然建议注意:

  • 不要把 config.yaml 上传到公开仓库;
  • 不要在 issue、截图、日志里泄露账号、Token、服务地址、续费日期或流量信息;
  • 不要把 Cookie 会话目录打包分享;
  • 只监控自己拥有或明确被授权管理的 VPS 账号;
  • 不要用它绕过验证码、2FA、访问控制、限速或商家的反自动化机制。

项目本身也明确说明,它不会绕过 CAPTCHA、2FA、访问控制、限速或反机器人机制。因此更合适的使用方式,是把它当作一个面向自有账号的自动化整理工具,而不是任何形式的绕过工具。

适合谁使用

我觉得 VPS DueGuard 特别适合这几类用户:

  • 手里有多台 VPS,且分散在不同商家;
  • 经常忘记某台机器什么时候续费;
  • 想定期看看流量是否快用完;
  • 不想部署一整套重型监控系统;
  • 喜欢用 Telegram 接收服务器相关通知;
  • 希望通过一个菜单完成安装、测试、启停和卸载。

如果你只有一台 VPS,或者只需要监控机器是否在线,那它可能不是必需品。但如果你长期维护多个低价 VPS,尤其是不同商家之间来回切换,它能省掉不少重复登录后台的时间。

小结

VPS DueGuard 是一个很典型的「小而准」工具:它没有试图做成通用监控平台,而是盯住 VPS 用户经常遇到的续费、流量、服务列表和 Telegram 通知问题。

它最吸引我的地方有三个:

  1. 部署入口简单,vpsm 菜单对日常维护比较友好;
  2. Telegram Bot 查询自然,适合随手看状态;
  3. 功能边界清晰,不绕过验证码和安全机制,只做授权账号下的信息整理。

如果你也有多家 VPS 需要管理,可以看看这个项目:VPS DueGuard

使用 Hugo 构建
主题 StackJimmy 设计