SubsTracker:把訂閱與續費提醒搬上 Cloudflare Workers 的自架工具,但跑在 CF 不是你家伺服器

SubsTracker 是 wangwangit 以 MIT 釋出的開源訂閱管理系統,跑在 Cloudflare Workers 與 KV 上,把訂閱到期追蹤、多檔位續費提醒、九種通知管道與多幣種支出看板整合成一個自架後台。但它的自架是部署到你自己的 CF 帳號,不是你的伺服器;部署要過 Wrangler 命令列這一關;預設 admin/password 必須改;九種管道偏中國大陸生態。

用 AI 摘要這篇文章:

SubsTracker 是一套以 MIT 釋出、跑在 Cloudflare Workers 上的訂閱管理系統,作者 wangwangit 一人開發,GitHub 上累積超過 2900 顆星。它把訂閱到期追蹤、多檔位續費提醒、九種通知管道與多幣種支出看板,整合成一個可以自架的後台,目標是幫獨立開發者、站長或小團隊管理每個月分散在 VPS、API 額度、AI 服務與網域續期上的帳單。但它有一個必須先講清楚的事:它的自架,是部署到你自己的 Cloudflare 帳號,跑在 Workers 與 KV 上,不是裝在你自己的伺服器。

我的判斷是這樣。如果你本來就在用 Cloudflare、手邊有一堆雲服務帳單要追,SubsTracker 把過去散在備忘錄、試算表與行事曆裡的訂閱紀錄收進一個有財務看板的後台,這個價值是真的。但決定你該不該把訂閱清單交給它的,是兩件它不會替你扛的事:你得自己用 Wrangler 命令列把它部署到 Cloudflare,而且它不是企業級的財務或成員管理系統。

TL;DR:SubsTracker 把訂閱追蹤、續費提醒與支出看板做進一個 Cloudflare Workers 自架後台,MIT 開源、2900+ 顆星。但它的自架是裝在你自己的 CF 帳號(Workers + KV),不是你的伺服器;部署要過 Wrangler 命令列這一關;九種通知管道偏中國大陸生態,在地讀者主要會用到 Telegram、Email、Bark 與 Webhook。

它真正在解的是成本控制,不只是流水記帳

一般記帳 App 解的是「今天花了多少錢」,SubsTracker 解的是「我每個月到底養了多少訂閱、哪些快到期、整體燒掉多少」。它不只是把訂閱建檔,還記錄完整的支付歷史、自動計算月度與年度支出與環比趨勢,並支援多幣種(人民幣、美元、歐元、日圓、港幣、新台幣等)加上動態匯率換算。對一個月要繳 VPS、網域、API 額度、AI 服務好幾筆的人,這個看板能讓你一眼看出每月均支落在哪、錢集中在哪些服務,再決定哪些該留、哪些該砍。

其中網域這類一年才續一次的訂閱特別容易被忽略,首購價與續約價往往差一大截,入手前先用網域比價工具看清楚續費成本,能從源頭少掉一筆每年悄悄扣款的開銷,再把它收進 SubsTracker 裡追蹤到期日,整套流程才算接得起來。

它的提醒機制設計得比一般日曆細緻。每一筆訂閱可以獨立設多條提醒規則,例如到期前七天、三天、前一天、當天,到期後每幾小時重複一次直到你續費為止;到期之後也能自動推進到期日並寫入支付紀錄。這套規則讓它不會只在到期當天響一聲就過去,而是把續費這件事變成一個有層次的提醒流程,這對很容易忘記取消不再使用的雲服務、導致持續扣費的人是實際的。

真正的決策軸:自架在你的 Cloudflare,不是你的伺服器

很多人看到「自架、開源、免費」就直覺認定資料在自己機器裡,這是 SubsTracker 最需要被講清楚的地方。它跑在 Cloudflare Workers 上,訂閱資料存在 Cloudflare 的 KV 儲存(SUBSCRIPTIONS_KV),排程提醒用的是 Workers 的 Cron Triggers。換句話說,你部署的是自己的 instance,但整個系統運作在 Cloudflare 的基礎設施上,不是你買的伺服器或 NAS。

這條界線帶來幾個實際的後果。第一,你要有一個 Cloudflare 帳號,並承擔 Workers 與 KV 的方案限制:免費方案有每日請求數與 KV 讀寫次數的上限,個人小量使用通常夠,但若你拿它做高頻查詢或多人協作,就可能撞到額度。第二,你的訂閱與支付資料落在你自己的 CF 帳號的 KV 裡,帳號是你的,資料落地卻是在 Cloudflare 那一側。第三,一旦 Cloudflare 調整 Workers 或 KV 的計價與限制,這套系統的運作成本與穩定性會跟著受影響。這不是 SubsTracker 的缺陷,而是所有跑在 Cloudflare Workers 上的自架工具共通的屬性。

這條「部署是自己的、運作在別人家」的界線,跟之前聊過的OtterHub 這類把伺服器端邏輯寄在 Cloudflare 與第三方服務上的工具是同一個軸:自架不等於自營基礎設施。分清楚這一點,才不會誤以為把它裝起來就等於一切都在自己機房。

九種通知管道,但偏中國大陸生態

SubsTracker 內建九種通知管道:Telegram、Bark、Webhook、企業微信機器人、Resend 郵件、Gotify、Server醬、PushPlus 與 NotifyX。每一條提醒的發送結果(成功或失敗)都會寫進通知歷史頁,可以按訂閱、管道、狀態與時間篩選,排程執行的鏈路日誌也能在後台展開檢視,這份可觀測性是它比一般提醒工具用心的一環。

TechMoon 截圖|SubsTracker 的 GitHub 專案頁面,展示九種通知渠道表格與訂閱管理核心功能Pin
SubsTracker 的 GitHub 專案首頁,完整列出 Telegram、Bark、Webhook 等九種通知渠道配置表格與訂閱管理功能。

但要留意這份清單的生態傾向。企業微信、Server醬、PushPlus 這幾個管道主要服務中國大陸的使用場景,在地讀者實際會用到的主要是 Telegram、Resend 郵件、Bark 與自訂 Webhook 這幾條。好消息是 Webhook 支援自訂 Header 與訊息模板(可帶入訂閱標題、剩餘天數等欄位),等於你可以把提醒接到任何會收 HTTP 的服務上,包含團隊既有的通知系統。挑管道時先認清哪些在你常用環境裡真的會響,比湊滿九格重要。

部署門檻:Wrangler 命令列,不是一鍵安裝

SubsTracker 不支援在網頁端點一個按鈕就拉走 GitHub 部署,你得自己在電腦上準備好 Node.js 環境,透過 Cloudflare 的命令列工具 Wrangler,帶著具備 Workers 與 KV 編輯權限的 API Token 把程式碼推上去。作者提供的 npm run deploy:safe 會自動偵測並建立需要的 KV 綁定,部署流程本身已經盡量簡化,但前置的環境準備與 Token 設定這一段,對沒碰過命令列的人是實實在在的門檻。

另一條路是 fork 專案後用 GitHub Actions 自動部署,把 Cloudflare API Token 與 Account ID 設進倉庫的 Secrets,之後每次 push 到主分支就自動測試並部署。這條路對已經熟悉 GitHub Actions 的人省事,但本質上只是把命令列的工作交給 CI,並沒有把門檻拿掉。無論哪條路,你都得理解 Cloudflare 帳號、Workers、KV 與 API Token 這幾個概念,它不是裝完就跑的一般手機 App。

如果你有興趣的是自架工具這個方向而不是訂閱管理本身,AList 這類自託管網盤是另一種「自架值不值得」的對照,可以一起放在評估清單裡。

預設 admin/password 與資料在 KV 的安全邊界

部署完成後首次登入的預設帳號密碼是 admin 與 password,作者在文件裡明說跑通後必須第一時間在系統設定裡改掉。這是所有自架系統共通的安全底線,但因為 SubsTracker 跑在 Cloudflare Workers 上、綁到你自己的網域,一旦沒改密碼就對外暴露,等於任何人猜中預設值都能看到你完整的訂閱清單與支出。改密碼這一步不是建議,是必要。

另外要認清它的資料模型不是企業級的。訂閱資料全存在 Cloudflare KV 這個鍵值儲存裡,沒有複雜的成員權限分級或細粒度的稽核日誌,它服務的是個人或小團隊的輕量需求。如果你需要的是多人協作、角色權限、完整審計軌跡這類企業財務系統該有的能力,SubsTracker 目前不在那個位置,把它當成大型企業財務平台來用會踩空。

它跟記帳 App 與企業財務系統的差別

比較項目SubsTracker手機記帳 App企業財務系統
部署型態Cloudflare Workers 自架,資料在 CF KVApp 商店安裝,雲端同步自架或雲端,需 IT 維運
核心功能訂閱追蹤、續費提醒、支出看板流水記帳、分類統計會計、報表、權限、稽核
提醒能力多檔位規則、九種通知管道單一推播為主通常無主動續費提醒
多人權限無細粒度分級單人為主完整角色與審計
合適場景個人與小團隊的訂閱成本控制日常支出記錄公司財會作業

把三條路線擺在一起,SubsTracker 的位置就清楚了。它不是要取代記帳 App 記每天的花費,也不是要當企業財務系統。它填的是中間一塊很具體的需求:已經在用 Cloudflare、手邊有一堆訂閱要管的人,把到期追蹤、提醒與支出看板收進一個自架後台。願意過 Wrangler 部署這一關的人,拿到的是一份屬於自己的訂閱成本面板,代價是命令列門檻與 CF 平台依賴。

適合誰、不適合誰

下面這幾種人會覺得 SubsTracker 值得一架:本來就在用 Cloudflare、有 Workers 與 KV 概念的開發者或站長;手邊同時在繳 VPS、網域、API 額度與多個 AI 服務訂閱,需要一份能看到整體月支與到期日的獨立開發者或小團隊;以及想把續費提醒接到 Telegram、Bark 或自訂 Webhook,而不是只靠手機行事曆的人。

反過來說,如果你連命令列與環境變數是什麼都不熟悉,也不打算碰 Cloudflare,這套工具的部署門檻對你太高,直接用行事曆或手機備忘錄會實際得多。如果你需要的是多人協作、角色權限與完整稽核的財務管理,這不是它該被放對位置的地方。如果你的訂閱只有兩三筆、金額單純,導入一套自架系統的維運成本可能超過它省下的麻煩。

三個下一步

  1. 先到 SubsTracker 的 GitHub 倉庫走一次 README 與部署段,確認你手邊有 Node.js 環境、一個 Cloudflare 帳號,以及願意申請具備 Workers 與 KV 編輯權限的 API Token。預期結果是你在寫任何設定之前,就先知道自己能不能跑得起來。
  2. 部署完成後,第一件事是把預設的 admin 與 password 改掉,再挑你實際會用的通知管道(在地讀者通常選 Telegram、Resend 郵件、Bark 或自訂 Webhook)。預期結果是系統對外不暴露預設密碼,而且提醒會真的到你會看的地方。
  3. 先建幾筆你不在意測試的訂閱,把多檔位提醒規則與 Cron 排程跑通一次,再到通知歷史頁確認發送成功。預期結果是你確認整條提醒鏈路真的會響之後,才把真實的訂閱清單搬進來。

常見問題

SubsTracker 是開源專案嗎

是。作者 wangwangit 以 MIT 授權釋出,原始碼在 github.com/wangwangit/SubsTracker,超過 2900 顆星。MIT 是寬鬆授權,你可以讀、可以 fork、可以修改並商用,只要保留授權聲明。不過它依賴的 Cloudflare Workers 與 KV 有各自的服務條款與額度,那些不在 MIT 覆蓋範圍內。

資料存在哪裡

存在你自己 Cloudflare 帳號的 KV 儲存裡(SUBSCRIPTIONS_KV)。帳號是你的,資料落地在 Cloudflare 那一側的基礎設施。忘記密碼時,可以到 Cloudflare Dashboard 的 Workers 與 KV 裡,編輯 config 那條紀錄的 ADMIN_PASSWORD 欄位重設。

免費方案跑得動嗎

個人小量使用通常跑得動。Cloudflare Workers 免費方案有每日請求數與 KV 讀寫次數的上限,排程提醒用的是 Workers 的 Cron Triggers 也有額度。單人或小團隊的訂閱量一般不會撞到,但若拿來做高頻查詢或多人協作,就可能需要評估付費方案。

它適合當企業財務系統嗎

不適合。它跑在 Cloudflare Workers 與 KV 上,沒有複雜的成員權限分級或細粒度稽核日誌,服務的是個人或小團隊的輕量訂閱管理。需要會計報表、角色權限與審計軌跡的公司財會作業,要找正規的企業財務系統。

通知管道在台灣能用嗎

九種管道裡,Telegram、Resend 郵件、Bark 與自訂 Webhook 在台灣都正常可用;Gotify 若自架也可以。企業微信、Server醬與 PushPlus 偏中國大陸的使用場景。挑你實際會收到的那幾條就好,Webhook 支援自訂 Header 與訊息模板,可以接到任何會收 HTTP 的服務。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 638

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...