執行環境
- Cloudflare Workers — 請求時邊緣 SSR + JSON API。
- Cloudflare D1 — 邊緣 SQLite。服務商、稽核日誌、評測、贊助、onion 巡測結果。
- Cloudflare KV + R2 — 熱快取 + 標誌/OG 儲存 + 公開 /data.json 快照(CC-BY-4.0)。
- Tor hidden service —— 獨立容器代理至 xmr.club,加上
X-Onion-Origin 標頭讓 worker 改寫服務商的 .onion 出口連結。指紋見 /transparency。
前端
- SSR 優先(Astro)。 每個公開頁面在 JS 執行前就渲染出有意義的 HTML。已用 Tor safest mode + Lynx + curl 測過。React 僅在需要互動的地方作為島嶼使用(搜尋、admin)。
- 沒有 CSS 框架。 一份手寫樣式。底色配單一強調色。三種主題:淺色 / 深色 / 自動。
- 沒有分析、沒有指紋追蹤。 沒有 GA、Plausible、Cloudflare Web Analytics。流量透過 Cloudflare 請求日誌觀察。
資料 + 內容
- 服務商資料 存在 D1,由 admin worker 編輯。每次狀態變更都寫一筆稽核 row(/audit),並令相關 edge cache key 失效。
- 長文指南 — 位於 <code>lib/guides.ts</code> 的 TypeScript 模組。型別檢查的交叉連結、schema.org HowTo 區塊、每篇指南的 JSON-LD,不需要建置步驟。
- Onion 驗證 跑日 cron。漂移呈現在 /onion-audit。
- 開放資料。
/data.json + 各 feed JSON 對應版。CC-BY-4.0。
編輯機器人
- @xmrclub_bot 位於 Telegram —— 獨立 Cloudflare Worker 跑在
bot.xmr.club,僅單向通知 webhook。DM 轉發到私人支援群,回覆中繼回來。策展人個人 Telegram 不曝露。 - 投稿、修正、贊助詢問都走 bot 或 /submit。
我們刻意拒絕的東西
- 沒有付費牆、沒有註冊、沒有 email 攔截。權威來自公開可查驗。封閉的目錄無法被交叉比對。
- 沒有第三方追蹤。沒有 GA、Hotjar、Sentry session-replay。裝追蹤器的代價,是一份不相信自己論點的隱私目錄。
- 沒有 CMS build step 鎖定。內容編輯落到 D1,會在一個 edge-cache TTL 內出現。渲染器(現在的 Astro SSR)是可替換的;資料層才是真相之源。
- 沒有「AI 產生的評測」。每一則評測都是策展人手寫的。我們用 AI 工具起草 schema 與審計程式碼;不會讓 LLM 為服務商打分。
我們會推薦給 fork 的棧
- 從零開始想要相同形狀:Cloudflare Workers + D1 + KV。10M req/day 之前每月約 $5 全包。
- 不想用 Cloudflare:Bun + SQLite + Caddy 完全可行。SSR-first 表示邊緣只是延遲優化,不承擔負載。
- 想要靜態 fork(沒有 D1):匯出 /data.json,用任何工具渲染。授權 CC-BY-4.0,需標註。
運營成本(透明度)
我們不公布固定的「月帳單」金額。執行環境是 Cloudflare Workers + D1 + KV + R2;最大成本變量是 D1 讀取計費,會隨查詢模式變動——某個月如果跑到沒建索引的掃描,可能會飆到數百美元,直到索引補上。真正的固定支出(域名、.onion vanity 前綴、onion 鏡像 VPS)金額很小;工程與策展時間遠大於基礎設施。資金模型見 /transparency。