Skip to content
 
 

Repository files navigation

洛克王国世界远行商人推送控制台

Docker Image CI Cloudflare Workers Python License

监控《洛克王国世界》远行商人刷新状态的推送服务。提供 Docker 部署(含 Web 控制台)、GitHub Actions 定时推送和 Cloudflare Workers 免费托管三种方式,将刷新结果推送到 12 种主流推送通道。

推送内容以文字和 Markdown 为主,不内置图片渲染和图片推送逻辑。

本项目基于 Entropy-Increase-Team 提供的《洛克王国世界》数据源开发,只负责查询、整理和推送结果,不提供也不分发数据源 ROCOM_API_KEY。

如果你还没决定先用哪个推送通道,当前优先推荐 Server 酱。仓库维护者目前主要实测的也是 Server 酱;该链接包含推荐参数,如后续发生付费订阅,可能为项目维护者带来佣金。

目录

项目简介 · 截图 · 部署方式选择 · 快速开始 · 首次配置 · 常见问题 · 安全提醒 · 文档导航 · 贡献 / 许可 / 鸣谢

项目简介

  • 支持 12 种推送通道:Server 酱、PushPlus、Telegram、Discord、企业微信、Bark、钉钉、飞书、ntfy、Gotify 等
  • 文档示例默认以 Server 酱为主;如果你只是想先跑通一条,建议优先从 Server 酱开始
  • 默认北京时间 08:05,12:05,16:05,20:05 推送,正好卡在远行商人刷新后 5 分钟
  • 支持多通道同时发送、单通道发送、主备失败切换三种策略
  • Docker 版自带 Web 控制台,适合页面化配置和手动测试通道
  • 敏感字段保存后不回显,推送异常和 HTTP 错误会自动脱敏

截图

登录页 控制台
登录页 控制台

Server 酱推送效果:

Server 酱推送效果

部署方式选择

Docker GitHub Actions Cloudflare Workers
需要服务器 是 否 否
Web 控制台 有 无 无
费用 服务器费用 免费 免费
定时精确度 精确到秒 延迟几分钟 延迟 1-2 分钟
长期稳定性 高 中(可能被暂停) 高
配置方式 页面 / 环境变量 GitHub Secrets / Variables Worker 控制台变量 / Wrangler
适合场景 长期运行、需要 Web 管理 已有 GitHub 仓库、偶尔使用 免费长期托管

怎么选:

  • 想最快完成第一次成功推送,而且希望以后都在网页里改配置:选 Docker Web 控制台
  • 想免费长期托管,不想维护服务器:选 Cloudflare Workers
  • 已经在用 GitHub 仓库,并且能接受偶发延迟:选 GitHub Actions

快速开始

下面保留三条最常用的首次部署路径。想看完整部署方式、更新方法和迁移说明,请直接跳到 文档导航。

Docker 自动托管

适合已经知道自己要用哪个推送通道,只想尽快跑起来。

docker run -d \
  --name roco-serverchan-notifier \
  --restart unless-stopped \
  -e ROCOM_API_KEY=你的接口Key \
  -e SERVERCHAN_SENDKEY=你的Server酱SendKey \
  linxi5013/roco-serverchan-notifier:latest

这种模式不会监听 19892,不需要配置 CONSOLE_USERNAME、CONSOLE_PASSWORD、WEB_PORT。如果你想换成 PushPlus、Telegram 等其他通道,变量名见 环境变量参考。

Docker Web 控制台

适合想通过页面管理配置、测试通道、观察运行状态的场景。

docker run -d \
  --name roco-serverchan-notifier \
  --restart unless-stopped \
  -p 19892:19892 \
  -v ./data:/data \
  -e APP_MODE=web \
  -e CONSOLE_USERNAME=admin \
  -e CONSOLE_PASSWORD=你的控制台密码 \
  linxi5013/roco-serverchan-notifier:latest

启动后打开 http://服务器IP:19892。如果你更习惯 docker compose,可以从 .env.example 起步,再配合 环境变量参考 使用。

Cloudflare Workers(控制台粘贴)

适合想免费长期托管,又不想准备本地 Node.js 环境的场景。

  1. 打开 Cloudflare Dashboard → Workers & Pages → Create Worker
  2. 删除默认代码,把 releases/cloudflare-worker/_worker.js 的完整内容粘贴进去并保存部署
  3. 在 Settings → Variables and Secrets 中至少添加:
名称 说明
ROCOM_API_KEY 数据源接口 Key(必需)
SERVERCHAN_SENDKEY Server 酱 SendKey;也可以换成其他任一推送通道
TRIGGER_TOKEN 可选,用来保护 /trigger 手动触发端点
  1. 在 Triggers → Cron Triggers 中添加 5 0,4,8,12 * * *
  2. 访问 https://<worker名>.workers.dev/,确认返回健康检查结果

如果想用 Workers Builds、Wrangler 项目部署或仓库自带的一键脚本(Windows PowerShell / Windows 双击 / Linux / macOS),请看 Cloudflare Workers 完整部署指南。

GitHub Actions(Fork 仓库)

适合已有 GitHub 仓库、能接受偶发延迟的场景。不需要服务器,也不需要本地环境。

  1. Fork 本仓库(或在已有仓库中复制 .github/workflows/scheduled-push.yml)
  2. 进入仓库 → Settings → Secrets and variables → Actions,添加:
名称 说明
ROCOM_API_KEY 数据源接口 Key(必需)
SERVERCHAN_SENDKEY Server 酱 SendKey;也可以换成其他任一推送通道
  1. 确认默认分支启用了 scheduled-push.yml 工作流
  2. 在 Actions 页面手动触发一次,验证推送是否成功

定时已预设为北京时间 08:05,12:05,16:05,20:05,仓库长期不活跃可能被 GitHub 暂停。更稳定的免费方案推荐 Cloudflare Workers。完整说明见 GitHub Actions 定时推送说明。

首次配置

Docker Web 控制台

进入控制台后按这个顺序配置最稳:

  1. 基础配置:填写 ROCOM_API_KEY
  2. 数据接口:通常保持默认即可
  3. 北京时间定时:默认 08:05,12:05,16:05,20:05
  4. 通道配置:添加一个推送通道并填入 token / webhook
  5. 点击单通道 测试,确认能收到消息
  6. 选择发送策略并 保存配置
  7. 点击 立即执行 做一次手动检查

配置保存到 ./data/config.json。后续如果页面和 .env 不一致,优先以 config.json 为准。

环境变量模式(Docker 自动托管 / Workers / GitHub Actions)

不走 Web 控制台时,首次成功推送至少需要 ROCOM_API_KEY 加上一个推送通道变量。完整字段说明见 环境变量参考 和 推送通道与发送策略。

常见问题

如何获取 ROCOM_API_KEY?

请按 Entropy-Increase-Team 项目或相关社区的规则获取。本项目不提供、不分发 API Key。

三种部署方式怎么选?
  • 需要 Web 控制台管理配置 → Docker
  • 想免费且稳定运行 → Cloudflare Workers
  • 已有 GitHub 仓库、偶尔用 → GitHub Actions

三种方式的推送逻辑完全一致,区别在于配置方式和运维成本。

默认控制台密码在哪里?

如果 CONSOLE_PASSWORD 为空,控制台首次启动时会随机生成强密码,并在日志中打印 控制台默认密码: ...。Docker Compose 用户可运行 docker compose logs roco-serverchan-notifier 查看。密码哈希会保存到 ./data/config.json 的 console_auth 段,后续重启沿用同一密码且不会再次打印明文。

忘记密码时,可以临时设置 CONSOLE_PASSWORD=新密码 覆盖登录,或停止容器后删除 ./data/config.json 里的 console_auth 段再重启,让程序重新生成默认密码。仅在可信本机环境调试时,可以显式设置 CONSOLE_ALLOW_EMPTY_PASSWORD=true 允许空密码。

为什么没有启动 Web 控制台?

默认 APP_MODE=auto 会在配置齐全时只启动调度器,不监听 19892。设置 APP_MODE=web 后重建容器即可强制启动。

为什么修改 .env 后页面没变?

控制台保存过配置后,会优先读取 ./data/config.json。后续更推荐在 Web 控制台修改;如要完全使用 .env 默认值,需先备份并移走 config.json。

为什么收不到推送?

Docker 版: 先在“通道配置”里点击单通道“测试”。如果测试失败,检查 token / webhook 是否正确、服务商是否限流、服务器是否能访问对应推送服务。

Cloudflare Workers 版: 手动触发 curl <worker-url>/trigger,查看返回结果。若配置了 TRIGGER_TOKEN,使用 curl '<worker-url>/trigger?token=你的token'。执行日志优先在 Cloudflare Dashboard → Workers → 你的 Worker → Logs 查看;Wrangler 项目部署也可以在 cloudflare-worker 目录运行 npm run tail。

GitHub Actions 版: 查看 Actions 运行日志,确认 secrets 是否配置正确。完整说明见 GitHub Actions 定时推送说明。

GitHub Actions 定时不准怎么办?

GitHub Actions 的 cron 不保证精确执行,可能延迟几分钟,仓库长期不活跃还会被暂停。推荐迁移到 Cloudflare Workers,同样免费但更稳定。

如何更新到最新版本?

安全提醒

Docker 版

  • 默认 APP_MODE=auto:配置齐时容器只启动调度器,不启动 Web 控制台;缺少配置时才启动控制台方便首次配置
  • 如果使用 APP_MODE=web,控制台会监听 0.0.0.0:19892;公开部署前请设置强密码,并限制访问来源
  • CONSOLE_PASSWORD 为空时会在首次启动生成默认强密码,明文只出现在启动日志里
  • 不要提交 ./data/config.json,其中可能包含推送 token、接口 Key 和控制台密码哈希

Cloudflare Workers 版

  • Secrets 通过 Cloudflare Worker 控制台加密存储,不会出现在仓库代码里
  • /trigger 默认开放;如果 Worker URL 会被分享,建议配置 TRIGGER_TOKEN
  • 使用一键脚本或 Wrangler 时,不要把 CLOUDFLARE_API_TOKEN 留在长期 shell 环境里

文档导航

部署

配置

开发与维护

  • DEVELOPMENT.md
  • Python / Worker 的测试、构建与 _worker.js 同步检查命令统一写在 DEVELOPMENT.md

贡献 / 许可 / 鸣谢

欢迎提交 issue 和 pull request。适合贡献的方向:

  • 新推送通道
  • 控制台交互优化
  • 部署文档和参考文档改进
  • 测试用例

如果要新增推送通道、调整调度器、修改控制台认证或改 Worker 构建流程,请先阅读 DEVELOPMENT.md。

远行商人数据来自 Entropy-Increase-Team 提供的接口。本仓库只负责调用接口并展示、推送结果,不内置、不分发 ROCOM_API_KEY,也不代为申请 Key。请按数据源项目或相关社区的规则获取 Key。

本项目不会绕过数据源服务端限制,接口调用频率以数据源后端实际限制为准。请合理设置定时任务,避免给数据源服务带来不必要的压力。

本项目是个人学习和自用工具,和游戏官方、WeGame、各推送平台均无从属关系。若需直接使用或改造 Entropy-Increase-Team 的代码,会按其 AGPL-3.0 协议要求处理。

本项目使用 MIT License。

About

洛克王国世界远行商人推送,支持 Docker Web 控制台将刷新结果推送到 10 种主流推送通道。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages