架一座自己的中繼站

中繼站只轉發密文——它看不到你的訊息內容,也看不出誰在跟誰說話。自己架一座,那些密文就落在你自己的帳號上。這一頁把三條路從頭到尾寫完。

你會得到什麼

一個 wss:// 開頭的網址,跑在你自己的 Cloudflare 帳號上。你在 Cinderous 裡把它設成主要中繼站,你的離線留言就存在那裡。我們碰不到它,也管不到它——包括我們想關掉它也辦不到。

三條路,選一條

路線難度大約適合
桌面版一鍵部署★☆☆3 分鐘大多數人
官網 Deploy 按鈕(即將提供)★★☆10 分鐘有 GitHub 帳號、不用桌面版
自己跑 wrangler★★★15 分鐘想改設定或綁自訂網域

路線一:桌面版一鍵部署

1

打開 Cinderous 桌面版,進「設定 → 連線與備份」,按「建立我的節點」。

2

按「開啟 Cloudflare 建立 token」。權限已經幫你勾好了,只有「上傳 Worker」與「讀取帳號」兩項。建立完把那串字複製回來貼上。

3

選一個 Cloudflare 帳號。第一次用 Workers 的話,會要你替網址取個名字——這個名字之後改不了,想清楚再打。

4

等它跑完。它會上傳中繼站程式,然後真的連上去確認活著才算成功。

5

完成畫面上有一個預設勾好的「設為我的主要中繼站」。按完成就切過去;不想切也可以拿掉勾,網址會留在設定裡,之後隨時能換。

路線二:官網 Deploy 按鈕(即將提供)

按下去會把 Cinderous 的中繼站程式複製一份到你的 GitHub,再由 Cloudflare 部署。適合不想裝桌面版的人。

兩件要先知道的事:它會在你的 GitHub 建一個新的程式庫;而且部署完成之後,網址不會自己回到 App——你要自己從 Cloudflare 的畫面複製那個網址,再貼進 Cinderous 的設定裡。

路線三:自己跑 wrangler

適合想改設定、綁自訂網域,或想先在本機跑起來看看的人。指令在下面。

git clone https://github.com/VaalRL/Cinderous cinder && cd cinder
pnpm install
cd relay
npx --yes wrangler@4 login
pnpm run deploy

如果你想要「一個網址,朋友用瀏覽器打開就能聊」,改用 deploy:unified。它會把網頁版跟中繼站部署成同一座 Worker。要注意:那台伺服器同時送出客戶端程式,它被入侵就等於能換掉程式碼——純中繼站沒有這條路徑,所以官方的節點不用這個模式。

pnpm run deploy:unified

要花錢嗎

跑在你自己的 Cloudflare 帳號上,費用也由它承擔。一個人或一小群朋友用的量,遠低於免費額度。但免費額度的條件變過不只一次,所以我們不在這裡宣稱「免費」——請直接看 Cloudflare 的計價說明。

部署完之後

想確認它活著,開瀏覽器連到你的網址加上 /healthz,看到 ok 就對了。(不要用首頁判斷——統一模式下首頁本來就會回網頁版。)如果你願意讓別人也用你的節點,可以申請加入官方清單,那是一套只驗行為、不看你是誰的流程。

卡住了?

說 token 權限不夠

重建一把 token,確認有勾到「Workers Scripts 編輯」。用我們給的連結建立就會自動勾好。

說你的帳號還沒有 workers.dev 名稱

第一次用 Workers 的帳號都會這樣。取一個名字就好——但它會永久出現在你的網址裡,改不了。

網址打得開,但 Cinderous 連不上

統一模式下少了 run_worker_first 就是這個症狀:首頁正常回網頁版,但 WebSocket 握不到手。Cloudflare 的資產是「命中就直接回傳、不執行程式」,而中繼站的入口正好是首頁。我們的設定檔已經設好了,自己改過的話檢查這一行。

說 Durable Object migration 撞名

同一個帳號下已經有同名的 Worker 用了不同的 migration 標籤。換一個 Worker 名字重部署,或先把舊的刪掉。

誠實說在前面

  • workers.dev 的網址裡含有你的 Cloudflare 帳號名。你把分享 ID 給別人時,對方會看到那個名字。介意的話改綁自訂網域。
  • 你的節點下線時,已經寄到它上面、你還沒收的留言要等它回來才拿得到。新訊息會自動改走別的中繼站,但已經躺在那裡的不會搬家。
  • 統一模式下,那台伺服器同時送出客戶端程式。它被入侵就等於能換掉程式碼、竊取金鑰。純中繼站沒有這條路徑。