[Open Source Update] RenewHelper A High-Aesthetic CF Worker/Docker Transaction Reminder Management Tool (Supports Lunar Calendar/Multi-Device Push/Calendar Subscription)

现已更新同时支持Worker和Docker部署!

前言

手里的 VPS、域名、eSIM、机场订阅越来越多,特别是动账后展期xx天的,管理起来非常头大。用 Excel 记太麻烦,用手机自带提醒又不够灵活。于是鞭策哈基米开发了 RenewHelper (时序·守望)

:hammer_and_wrench: 什么是 RenewHelper?

这是一个完全基于 Cloudflare Workers 的全栈服务生命周期管理工具。
不需要服务器,不需要数据库,完全免费,部署简单,数据都在你自己手里。 从此再也不担心忘记续期/续费/签到了。 已更新支持Docker部署。

UI采用了机甲风 (Mecha-style) 设计,还有炫酷呼吸动画特效哦。完美支持了多事项提醒与管理、农历 (Lunar)周期、多端iCal订阅同步

:camera_with_flash: 界面预览


:sparkles: 核心特性

  • :high_voltage: 零成本 Serverless:直接部署在 CF Workers 上,利用免费额度(每天10万次请求)绰绰有余。
  • :date: 强大的周期算法
    • 支持 公历 循环(月付/年付小鸡、域名、影视会员)。
    • 支持 农历 循环(主要为了记农历生日和传统节日)。
    • 支持 “到期重置” 模式(适合 eSIM 保号、Google Voice保号、签到续期这种需要操作后展期的场景)。
  • :bell: 多渠道推送:内置集成 Telegram, Bark (iOS), PushPlus (微信), NotifyX, Resend (邮件), Webhook。
  • :tear_off_calendar: ICS 日历订阅特色功能。它可以生成一个 .ics 订阅链接,你把它加到 iPhone 日历或谷歌日历里,所有服务的到期时间自动同步到你手机系统日历,配合系统自带的提醒,稳得一笔。
  • :shield: 安全隐私:数据存你自己 CF 账号的 KV 里,带 JWT 身份验证,带防爆破限流。

:rocket: 如何部署(保姆级教程)

部署非常简单,大概只需要 3 分钟。

方法一:一键部署(推荐)

直接去我的 GitHub 仓库点个star,fork一下,点击 “Deploy to Cloudflare Workers” 按钮即可。
GitHub 地址: https://github.com/ieax/renewhelper

方法二:手动部署

  1. 在 CF 后台创建一个 KV 命名空间,名字叫 RENEW_KV
  2. 创建一个新的 Worker,把 _worker.js 代码复制进去。
  3. 在 Worker 设置里绑定 KV,变量名填 RENEW_KV
  4. 添加一个环境变量 AUTH_PASSWORD 作为你的登录密码。
  5. 重要: 添加 Cron Trigger(定时任务),规则填 0/30 * * * *(每30分钟检查一次续期和推送)。此处与监控项目的提醒时间是关联的,不按此规则将无法按时提醒。

方法三:Docker部署

  • 服务器需安装 Docker 和 Docker Compose。
  1. VPS新建一个文件夹(例如 renewhelper)。
  2. 在文件夹中创建一个名为 docker-compose.yml 的文件,填入以下内容:
services:
  renew-helper:
    # 官方镜像地址
    image: ieax/renewhelper:latest
    container_name: renew-helper
    restart: unless-stopped
    ports:
      - "9787:9787" # 将容器内部的 9787 端口映射到宿主机的 9787
    volumes:
      # 数据持久化:将宿主机的 ./data 目录挂载进去,防止重启丢失数据
      - ./data:/data
    environment:
      # --- 核心配置 ---
      
      # 1. 登录密码 (必填)
      - AUTH_PASSWORD=你的访问密码
      
      # 2. 定时任务频率 (关键配置)
      # 建议:设置为每30分钟运行一次,不要修改!!!
      # 语法:"0,30 * * * *" 表示在每小时的第0分和第30分各触发一次。
      - CRON_SCHEDULE=0,30 * * * *
      
      # 3. 容器时区
      # 决定了 Cron 什么时候"醒来",建议设置为你所在的地区
      - TZ=Asia/Shanghai
  1. 启动服务:
docker compose up -d
  1. 打开浏览器访问:http://你的服务器IP:9787。为了安全地通过互联网访问 RenewHelper(例如 https://renew.example.com),建议配置反向代理。

:gear: 配置说明 (避坑指南)

部署好后,首次登录(默认密码 admin),点击右上角 系统设置

这里有一张配置图解,大家可以参考:

几个关键点说明:

  1. 偏好时区:一定要选对(比如 Asia/Shanghai),不然你的推送时间和日历时间会有偏差。
  2. 通知配置:可以单独控制每个推送渠道,多端同时推送
    • Telegram:填 Token 和 ChatID。
    • Bark:iOS 神器,填 Server 和 Key。
    • PushPlus、NotifyX:微信公众号推送,需扫码注册获取Token,PushPlus免费额度更友好。
    • Resend:如果想用邮件提醒,先到官网注册获取API Key,没有自己的域名邮箱也没关系,发件人填[email protected],收件人填你注册Resend的邮箱。
  3. 日历订阅:复制那个链接,去 iCalendar/Google Calendar → 添加已订阅日历,然后同步到设备端完事。其他情况参考项目README。
  4. 数据备份:虽然数据在 KV 里很安全,但建议定期点一下“导出备份”下载 JSON 文件。

:memo: 常见用法举例

  1. VPS 续费:新建服务 → 模式选“循环订阅” → 周期“1年” → 开启自动续期。
  2. eSIM 保号:新建服务 → 模式选“到期重置” → 周期“180天” → 建议关闭自动续期(因为你需要手动充值操作后,回来点一下“续期”按钮)。
  3. 小孩农历生日:新建服务 → 模式选“循环订阅” → 开启“农历” → 选好日期 → 周期“1年”。

提前提醒天数和时间根据你的偏好来,默认是提前3天开始,每天8:00提醒(系统每30分钟检查一次,但只会在你设置的时间点推送,而且每个项目的提醒时间是独立的),一直提醒到过期3天后自动续期,如果你在移动端或其他设备的日历中同步了ICS,将会在日历中看到续期日程,到期当天收到设备自带日程的同步提醒。备注最好填入这个项目的续期方法,便于指引续期过程,避免忘记去哪里续期。

:backhand_index_pointing_down: 获取项目

GitHub 开源地址https://github.com/ieax/renewhelper

演示地址https://lostfree.de5.net

演示站千万不要保存你推送渠道的各种TOKEN和API KEY!!!
代码完全开源,MIT 协议。
如果觉得好用,求大佬们给个 Star :glowing_star: 支持一下!
有 Bug 或建议欢迎提 Issue 或在楼里反馈。

31 Likes

look at

1 Like

look first then support

This is pretty good

Thanks for opening up, came in to learn.

nice,刚好需要。。谢谢了

感谢分享,

领个红包先

是一个很好的项目,辛苦了

Thank you for the open-source sharing, this management tool is practical :xhj003:

支持折腾的你,不过话说,有那么多要提醒的吗?我直接用qq邮箱的记事循环提醒感觉完全够了。

1 Like

感谢分享

多谢!开源了,进来学习!

老哥牛啊

不错,点赞 :xhj003:

look at

感谢佬

谢谢分享

感谢分享!

白嫖薅大善人,还可以集中统一管理嘛,对那种动账延期90天的有奇效,不是简单的每90天循环,是根据你实际续签时间展期90天,资源利用最大化。

支持开源