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