本指南將引導您在 Linux 系統上安裝、運行和維護 Snowflake 代理。 運行 Snowflake 代理是為 Tor 專案的反審查工作做出貢獻的簡單方法。

1. 安裝 Go

首先你需要安裝並設定 Go 編譯器,以便從原始碼建置獨立代理。 請使用具有 sudo 權限的使用者帳號登入,或直接以 root 登入(後者情況下,請在下列命令中省略 sudo)。

如果你使用的是 Ubuntu 或 Debian,可以執行 sudo apt install golang 來安裝 Go。 若您使用 Fedora、Red Hat 或 Amazon Linux,請用 sudo yum install golangsudo dnf install golang

運行Snowflake代理你將需要Go 1.21或(含)以上版本。 請使用指令 go version 確認您的 Go 版本。 否則請從官方網站下載 Go binary 並依照其 installation instructions.

2.安裝git並克隆Snowflake儲存庫

其次,您需要 git 客戶端來下載 Snowflake 原始碼。

若您使用 Ubuntu 或 Debian,可執行 sudo apt install git 安裝 git。 如果您使用帶有 sudo yum install gitsudo dnf install git 的 Fedora、Red Hat 或 Amazon Linux。 否則請查閱你作業系統的文件。

請使用要執行代理程式的使用者帳號執行下列步驟。 不要使用 root.

建議在系統上建立名為 snowflake、權限受限的獨立帳號。

開啟終端機並複製原始碼:

git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git

3. 建造 Snowflake 代理

在你複製 clone 儲存庫後,可執行下列命令建置 Snowflake 代理執行檔:

cd snowflake/proxy
go build

4.運行Snowflake代理

代理完成編譯後,您可以使用以下命令運行它:

nohup ./proxy &

注意:nohup 可讓程式在終端關閉後仍於背景執行,& 則讓指令立即在背景執行。

若要將代理程式輸出儲存到日誌檔(例如查看代理使用情況),可使用:

nohup ./proxy >snowflake.log 2>&1 &

5. 確保系統重新啟動後啟動代理

透過執行以下命令編輯您的 crontab:

crontab -e

輸入下列一行(範例,請依您的環境調整路徑)

@reboot nohup /home/snowflake/snowflake/proxy/proxy > /home/snowflake/snowflake/proxy/snowflake.log 2>&1 &

請透過重新啟動系統並檢查日誌來驗證這是否有效。 注意:在某些 Linux 安裝上可能無效。

6. 保留 Snowflake 代理更新

為了讓你的 snowflake 代理保持更新,請每隔幾週執行以下命令(使用你安裝代理時使用的使用者帳號登入):

kill -9 $(pidof proxy)
cd snowflake/
git pull
cd proxy
go build
nohup ./proxy >snowflake.log 2>&1 &