wdc王东超 Evanwangdongchao.cloud ← 返回博客
Blog · VPS 专题

Stock-dedione-VPS Monitor 教程

2026-10-17 · 王东超 Evan

在腾讯云现有 CVM(wangdongchao.cloud 同机)上跑一个常驻监控,定时抓取 DediOne 的 LAX.VPS.CN.1C1G20G 商品页:缺货时静默,一旦有货立刻 个人微信(Server 酱)+ QQ 邮箱 双通道推送。本教程只讲「干什么、怎么搭、怎么看、怎么停」,部署即忘。

一、干什么事

二、原理图

腾讯云 CVM 复用现有机器 Node + pm2 常驻 daemon monitor.js 每 60s 循环 DediOne 商品页 加购重定向 sendNotify 个人微信(Server 酱) QQ 邮箱 SMTP 每 60s GET 抓取商品页 有货 a=view 缺货: Out of Stock → 静默不推送

监控进程每 60s 抓一次商品页 → 缺货静默 / 有货经 sendNotify 双通道推送。

三、操作步骤

1. 前置检查(SSH 进 CVM)

node -v        # 需 >= 18(推荐 22)
pnpm -v        # 没有就:npm i -g pnpm
curl -I https://dedione.com/store/special-vps-plans/20260520-lax-vps-cn-1c1g20g-special-1299

2. 部署

mkdir -p /opt/stockvps-monitor && cd /opt/stockvps-monitor
git clone https://github.com/izhichao/stockvps-monitor.git .
pnpm i
cp .env.example .env

3. 填写 .env(关键项)

# 监控目标与间隔
STOCKVPS_URLS="https://dedione.com/store/special-vps-plans/20260520-lax-vps-cn-1c1g20g-special-1299"
STOCKVPS_INTERVAL=60
STOCKVPS_LOGS=true

# 推送1:个人微信(Server 酱,sct.ftqq.com 微信扫码拿 SendKey)
PUSH_KEY="SCTxxxxxxxxxxxxxxxxxxxxxxxx"

# 推送2:QQ 邮箱 SMTP(兜底必达)
SMTP_SERVICE="QQ"
SMTP_SERVER="smtp.qq.com:465"
SMTP_SSL="true"
SMTP_EMAIL="你的QQ号@qq.com"
SMTP_PASSWORD="QQ邮箱授权码(16位,非登录密码)"
SMTP_NAME="Stock-Dedione-VPS 监控"
SMTP_EMAIL_TO="你的QQ号@qq.com"

4. 启动 + 开机自启

pnpm start        # 内部走 pm2 启动 monitor.js
pm2 save          # 保存进程列表
pm2 startup       # 按提示执行它生成的命令,设开机自启
pm2 ls            # 确认 stockvps-monitor 状态 online

5. 金丝雀验证(推荐,确认「有货会推」)

目标套餐长期缺货、无法验证正向推送。先临时把 STOCKVPS_URLS 改成同门在售套餐验证,再改回目标:

# 临时探针(当前在售)
STOCKVPS_URLS="https://dedione.com/store/special-vps-plans/20260520-lax-vps-cn-2c2g40g-special-2599"
pm2 restart stockvps-monitor
# 预期 1 分钟内两通道收到「补货通知」;确认缺货日志为「无货」而非误报
# 验证通过后改回目标 URL 并 pm2 restart

四、查看日志

pm2 logs stockvps-monitor        # 实时日志:看「无货 / 有货 / 未上架」
pm2 monit                        # 资源监控(CPU/内存)
pm2 restart stockvps-monitor     # 改完 .env 后重启生效

五、停掉服务

pm2 stop stockvps-monitor        # 暂停(保留进程,可随时 start 恢复)
# 或彻底移除:
pm2 delete stockvps-monitor      # 删掉进程(开机自启需再 pm2 save 固化)
pnpm start                       # 之后想再跑,直接重启即可

只停推送不想删进程:把 .env 里的 PUSH_KEY / SMTP 凭证清空后 pm2 restart,进程继续跑但不再发通知。若屏蔽 stockvps.org 出站,版本检查失败会走兜底分支直接运行,功能不受影响(隐私更友好)。


内容整理自个人部署手册 · 项目:izhichao/stockvps-monitor · 推送:Server 酱 + QQ 邮箱 SMTP