本指南將引導您在 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 golang 或 sudo 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 git 或 sudo 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 &