[{"data":1,"prerenderedAt":255},["ShallowReactive",2],{"\u002Fblog\u002Fsub-store-cloudflare\u002F:zh-Hant":3,"\u002Fblog\u002Fsub-store-cloudflare\u002F-surround:zh-Hant":149,"blog-all-posts:zh-Hant":150},{"id":4,"title":5,"author":6,"body":10,"date":132,"description":133,"extension":134,"image":135,"locale":136,"meta":137,"minRead":138,"navigation":139,"original":139,"path":140,"pinned":141,"seo":142,"source":135,"sourceUrl":135,"stem":143,"tags":144,"updated":135,"__hash__":148},"blog\u002Fblog\u002Fsub-store-cloudflare.zh-Hant.md","我把機場訂閱聚合搬到了 Cloudflare 上",{"name":7,"avatar":8},"陳大黃",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":124},"minimark",[13,17,28,32,35,38,51,54,57,61,64,85,88,91,94,97,105,112,115,118,121],[14,15,16],"p",{},"我用機場有三四年了，中間也自己搭過 VPS 節點。一直有個挺煩人的事：手上三五條訂閱，加上自己搭的幾台，分散在用戶端裡要一條條加，分流規則每個用戶端又得重配一遍。換設備、換用戶端、幫家人裝一次，就再來一遍。",[14,18,19,20,27],{},"後來我想，訂閱這件事沒必要在用戶端裡散著管。把它收攏成一條連結，規則在伺服器端定死，用戶端只管訂閱，事情就清爽了。Sub-Store 那套思路我之前就用，但它跑在自己的伺服器上，我嫌維護麻煩。所以這次自己寫了一個跑在 Cloudflare 上的版本，叫 sub-store-cloudflare，開源在 ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fgithub.com\u002Frealchendahuang\u002Fsub-store-cloudflare",[25],"nofollow","GitHub","。",[29,30,31],"h2",{"id":31},"它其實就只做一件事",[14,33,34],{},"把多個訂閱來源合成一條訂閱。",[14,36,37],{},"具體說，你可以往裡面塞幾樣東西：",[39,40,41,45,48],"ul",{},[42,43,44],"li",{},"幾個機場的訂閱連結",[42,46,47],{},"自己 VPS 上的節點文字（vless、trojan、ss、vmess 都行）",[42,49,50],{},"臨時貼一段節點進來也行",[14,52,53],{},"這些進站後 Worker 會去拉取、去重，按你給的規則篩一遍，再按需要改名、補國旗、解析網域。出來之後塞進一個組合訂閱裡，用戶端訂閱這一條就夠了。",[14,55,56],{},"規則這塊我放進了伺服器端。內建了幾個常用的 Mihomo 模板，acl4ssr、loyalsoldier 白名單黑名單、ai-streaming 之類的，分流組、規則集都在雲端配好。你把訂閱丟進 mihomo \u002F clash、surge、sing-box、shadowrocket 這些用戶端，下載下來就是帶好分流規則的成品，那邊不用再手動寫規則、維護規則集 URL。",[29,58,60],{"id":59},"為什麼非要放-cloudflare-上","為什麼非要放 Cloudflare 上",[14,62,63],{},"原因很實在：",[39,65,66,73,79],{},[42,67,68,72],{},[69,70,71],"strong",{},"不用伺服器。"," Workers + D1，免費額度對個人夠用，伺服器錢和維護都省了。",[42,74,75,78],{},[69,76,77],{},"workers.dev 那個網域本身就在牆外。"," 你用戶端連過去抓訂閱這一步是通的，不存在「伺服器在境外、節點拉訂閱還要梯子」這種套娃。",[42,80,81,84],{},[69,82,83],{},"部署完就是 Web 管理介面加一個下載端點。"," 手機換用戶端也能開網頁改設定。",[14,86,87],{},"技術棧我刻意保持小：Worker + Static Assets + D1 + Worker Secrets。KV、R2、Durable Objects、Queue、Cron 都不在核心路徑裡，能少一樣是一樣。",[29,89,90],{"id":90},"部署特意做了兩條路",[14,92,93],{},"第一條是給想用的人：點倉庫裡的 Deploy to Cloudflare 按鈕，Cloudflare 自己拉倉庫、建 Worker、建 D1、問你要兩個 token，部署完給你一個帶 token 的管理連結。一步一步來，不用碰命令列。",[14,95,96],{},"第二條是給我自己也給愛折騰的人：AI Agent 一鍵安裝。",[14,98,99,100,104],{},"倉庫裡帶了 agent 協定（AGENTS.md + agent 裡的 SKILL）。你把訂閱來源、要做的組合訂閱、想用的規則模板寫進一個本機設定檔，跑 ",[101,102,103],"code",{},"pnpm run install:cloudflare","，agent 會替你檢查 Cloudflare 登入、建資料庫、寫 secret、遷移、部署、匯入設定、驗證連結，最後把管理連結和下載連結交到你手上。",[14,106,107,108,111],{},"我自己就是用這條路上線的，所以更推薦這條，省心。給 Codex \u002F Claude Code 用的時候，直接複製倉庫裡 ",[101,109,110],{},"agent\u002Finstall.prompt.md"," 那段提示詞就行。",[29,113,114],{"id":114},"適合誰",[14,116,117],{},"直說：手裡不只一個機場、再加上自己搭的幾個節點、想把它們合成一條訂閱自用的，就是這個專案的目標族群。你就一個機場湊合著用，那真的沒必要用這個。",[14,119,120],{},"程式碼全開源，AGPL。前端的互動思路致敬了原版 Sub-Store，原版跑在容器裡、覆蓋更多用戶端生態，我做的是更小的 Cloudflare-native 形態，方便自己改也方便直接部署，不是逐項複刻。",[14,122,123],{},"有興趣的可以去倉庫翻翻，README 寫得滿齊全，照著部署就行。",{"title":125,"searchDepth":126,"depth":126,"links":127},"",2,[128,129,130,131],{"id":31,"depth":126,"text":31},{"id":59,"depth":126,"text":60},{"id":90,"depth":126,"text":90},{"id":114,"depth":126,"text":114},"2026-06-28","多個機場加自建節點合成一條訂閱，分流規則在伺服器端配好，用戶端只管訂閱。","md",null,"zh-Hant",{},4,true,"\u002Fblog\u002Fsub-store-cloudflare",false,{"title":5,"description":133},"blog\u002Fsub-store-cloudflare.zh-Hant",[145,146,147],"Cloudflare","翻牆","開源專案","jtYf230EOtZCbw-DR_16lbbaBmZ_AlDt94PSV8nHYwo",[135,135],[151,160,168,177,184,192,200,208,216,222,229,231,238,246],{"path":152,"title":153,"description":154,"date":155,"minRead":156,"tags":157},"\u002Fblog\u002Fagent-harness-selection","試遍了 Pi Agent、OMP、Codex、ZCode，我最後為什麼選了 OpenCode + OpenChamber","試過一輪 Agent Harness 後的選型復盤：以 GUI 體驗、供應商綁定、二次開發自由度三個標準，排除了 Pi Agent、OMP、Codex、ZCode，最後選了 OpenCode 核心 + OpenChamber 介面。","2026-08-06",6,[158,159],"AI Agent","工具選型",{"path":161,"title":162,"description":163,"date":164,"minRead":156,"tags":165},"\u002Fblog\u002Fcloudflare-broke-stack","2026 獨立開發最佳實踐：Cloudflare 窮鬼全家餐","獨立開發者的零成本技術棧：Codex 寫程式、GitHub 管版本、Stripe 收款，前端 TanStack Start、後端 Hono + Workers、資料庫 D1、儲存 R2、快取 KV，全部跑在 Cloudflare 上。","2026-06-15",[145,166,167],"獨立開發","技術棧",{"path":169,"title":170,"description":171,"date":172,"minRead":156,"tags":173},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek API 內建聯網搜尋，Responses API 白拿官方搜尋能力","DeepSeek 官方在 API 裡內建了聯網搜尋：用 Responses 介面呼叫 deepseek-v4-flash，宣告 web_search 工具即可，不用自己接第三方搜尋引擎，也不用申請搜尋金鑰。","2026-08-05",[174,175,176],"DeepSeek","API","AI 工具",{"path":178,"title":179,"description":180,"date":172,"minRead":181,"tags":182},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash 正式版深度體驗：便宜、快、1M 上下文、內建搜尋","深度體驗了幾天 DeepSeek V4 Flash 正式版：極致的便宜、快如閃電、1M 上下文、官方內建聯網搜尋、完全開源。唯一的短板是多模態，但可以組合其他模型補上。",7,[174,183,176],"模型評測",{"path":185,"title":186,"description":187,"date":164,"minRead":188,"tags":189},"\u002Fblog\u002Ffree-cloudflare","免費使用者如何榨乾 Cloudflare，免費版到底能白嫖到什麼程度？","Cloudflare 免費版能撐起一整套個人網路基礎設施：DNS、CDN、Pages、Workers、KV、D1、R2、信箱、Tunnel、AI 閘道等。",8,[145,190,191],"免費額度","部署",{"path":193,"title":194,"description":195,"date":196,"minRead":188,"tags":197},"\u002Fblog\u002Fmodel-harness-decoupling","原廠 Harness 未必是版本答案：開放模型時代，模型和 Harness 要分開選","用 Claude 就上 Claude Code？開放模型時代這個直覺該升級了。原廠的優勢是真的，但訓練好模型和做好 Harness 是兩門工程——這篇文章講清楚為什麼模型與 Harness 已經可以分開選，以及五家 Harness 的定位地圖。","2026-09-09",[158,198,199],"Harness","選型",{"path":201,"title":202,"description":203,"date":196,"minRead":188,"tags":204},"\u002Fblog\u002Fopencode-productive-stack","穩定、快速、高產、便宜：我的 AI Coding 全家桶實錄","OpenCode + OpenChamber + 兩份 DeepSeek V4 Flash 訂閱，15 個項目同時跑代碼，額度只掉一點點。這篇文章攤開我的完整配置：上下文剪枝、分層記憶、桌面自動化，以及「原湯化原食」的選型教訓。",[205,206,207],"OpenCode","AI 程式設計","配置",{"path":209,"title":210,"description":211,"date":212,"minRead":213,"tags":214},"\u002Fblog\u002Fproduct-faxin-principle","發心原理：獨立開發者為什麼要學會捨棄","你為什麼出發？你為誰出發？你到底想解決哪一個問題？產品的鋒利感來自捨得和放棄。","2026-06-20",10,[215,166],"產品思維",{"path":217,"title":218,"description":219,"date":212,"minRead":188,"tags":220},"\u002Fblog\u002Fproduct-pain-vs-itch","使用者說「很屌」別上頭：痛點與癢點","口頭喜歡一文不值。判斷需求只有一個硬標準：看使用者願意付出什麼。",[215,221],"需求判斷",{"path":223,"title":224,"description":225,"date":155,"minRead":226,"tags":227},"\u002Fblog\u002Fqwen-vision-for-deepseek","給 DeepSeek 補上多模態：Qwen-3.7-Flash 識圖方案","DeepSeek V4 Flash 沒有多模態，識圖怎麼辦？研究後目前 CP 值最高的方案是 Qwen-3.7-Flash：辨識一張圖片成本極低，和 V4 Flash 組合使用補齊短板。",5,[174,228,183],"多模態",{"path":140,"title":5,"description":133,"date":132,"minRead":138,"tags":230},[145,146,147],{"path":232,"title":233,"description":234,"date":196,"minRead":181,"tags":235},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI 正在殺死你的認知頻寬：AI Coding 的「極客濾鏡」該碎了","一堆 AI Coding Agent 搶著上 TUI，把互動塞回 80 年代的終端範式，還美其名曰「沉浸式」「尊重程式設計師」。這篇文章拆解 TUI 系統性降低認知頻寬的三個機制，以及 Web UI 為什麼才是正解。",[206,236,237],"互動設計","隨筆",{"path":239,"title":240,"description":241,"date":242,"minRead":156,"tags":243},"\u002Fblog\u002Fvalue-not-external","討論有沒有價值，這件事本身就沒有價值","我們的價值不由任何人定義。人在 AI 時代，到底應該如何理解自己。","2026-06-18",[244,245],"AI 思考","人文隨筆",{"path":247,"title":248,"description":249,"date":250,"minRead":251,"tags":252},"\u002Fblog\u002Fx-growth-1000-followers","一天多漲粉 1000+，我做了什麼","6 月認真經營 X，一天多漲粉 1000+。這篇記錄我當時做過的事和得到的回饋。","2026-06-16",12,[253,254],"X 經營","內容增長",1789752318075]