什麼是 Tor 節點營運者?
Tor 網路的運作,是透過全球數千個由志願者運行的伺服器(Relay)來支撐的。這些節點接收來自 Tor 使用者的加密流量,並將其隨機地轉發到網路中的下一個節點,最終到達目的地,從而隱藏使用者的真實 IP 位址。
成為 Tor 節點營運者的意義
- 增強網路彈性: 更多的節點意味著更強大的匿名性,因為流量可以透過更多不同的路徑傳輸。
- 幫助規避審查: Bridge 能夠幫助那些網路受審查地區的使用者連接到 Tor 網路,突破封鎖。
- 支持開放網路: 為全球網路自由和隱私權做出實際貢獻,讓更多人能夠安全上網。
開始之前的準備工作
運行 Tor 節點需要一些基本的條件和考量。請務必仔細評估,確保你的環境或是伺服器提供商符合要求:
基本需求
- 穩定的網路連線和足夠的頻寬: Tor 節點會消耗頻寬,而且通常流量不小。建議至少有 10-20 Mbps 的上傳和下載頻寬,並且最好是不限流量的網路方案,以免產生額外費用。
- 可靠的運行時間 (Uptime): 節點運行時間越長越好,因為這樣能更穩定地為 Tor 網路提供服務,讓網路更可靠。
- 電力供應: 確保你的設備能長時間穩定運行,不會因斷電而中斷服務。
- 對 Linux 基本操作的了解(推薦): 雖然有其他作業系統的設定方法,但 Linux 是運行 Tor 節點最常見且最推薦的環境,了解基本指令會讓設定過程更順暢。
- 理解潛在風險: 雖然運行 Relay 通常不會直接讓你承擔非法活動的責任(因為你僅僅是轉發加密流量,內容加密且你無法讀取),但作為 Exit Relay 可能會因為其 IP 位址直接與目的網站互動,而有法律訴訟的風險。因此,通常會強烈建議從運行不會直接與不法網站互動的 Non-Exit Relay 或是 Bridge 開始,降低風險。
選擇你的貢獻方式:Relay vs. Bridge
在決定成為 Tor 節點營運者之前,你需要了解兩種主要的貢獻方式:
Relay
- Relay 可以分為三種類型:Guard/Entry Relay、Middle Relay 和 Exit Relay。
- Guard/Entry Relay 是使用者流量進入 Tor 網路的第一站。
- Middle Relay 僅在網路內部轉發流量,承擔中途傳輸的任務。
- Exit Relay 是流量離開 Tor 網路並到達最終目的地的最後一站。只有出口節點的 IP 位址會暴露給目的網站,因此潛在的投訴風險相對較高。
Bridge
- Bridge 是未公開列在 Tor 目錄中的 Relay。這意味著它的 IP 位址不會被公開,更難被偵測和封鎖。
- 它們的主要作用是幫助那些網路受到嚴格審查的地區使用者連接到 Tor 網路,因為其 IP 位址不容易被審查機構識別和封鎖。
- 運行 Bridge 的配置相對簡單,且風險低於 Exit Relay,是入門的好選擇,尤其適合希望低調貢獻的使用者。
如何設定一個 Tor Relay(以 Debian/Ubuntu Linux 為例)
以下是在 Debian 或 Ubuntu 系統上設定一個 Relay 的簡化步驟。請注意,這僅供參考,務必以 Tor Project 官方文件 為準,並根據你的實際情況進行調整。
步驟一:選擇你的 VPS 提供商
請參考官方對於 Tor Relay 的硬體需求,選擇適合的伺服器提供商。特別提醒:Tor Relay 的網路流量非常高,務必選擇不會對網路流量多收費的方案,以免帳單暴增!
步驟二:伺服器事前設定
對於新取得的 Linux 主機,建議你先更新並重啟系統,確保所有軟體都是最新狀態:
root $ apt update
root $ apt upgrade
root $ reboot
有些 VPS 伺服器預設只會有 root
帳號。為了安全考量,我習慣建立一個個人帳號,並在需要管理員權限的時候使用 sudo
指令。
root $ apt install sudo
root $ adduser {user}
root $ usermod -aG sudo {user}
步驟三:安裝 Tor
在 Debian/Ubuntu 系統上,預設的套件庫中的 Tor 版本可能不是最新的。為了獲得最佳效能和安全性,請務必使用 Tor Project 的官方套件庫來安裝最新版本。
請參考官方文件中的指示安裝 Tor,步驟會稍微繁瑣一些,但跟著官方步驟走最保險。
步驟四:編輯 Tor 設定檔
Tor 的設定檔位於 /etc/tor/torrc
。你需要以管理員權限編輯它:
sudo nano /etc/tor/torrc
填入以下內容。這些是運行一個基本的 Non-Exit Relay 所需的設定:
Nickname myCoolRelay # 給你的 Relay 取一個暱稱 (例如:myTorNode),這是公開顯示的名稱
ContactInfo your@e-mail # 聯絡資訊,讓 Tor Project 或其他營運者能聯絡到你
ORPort 443 # 你的 Tor Relay 將會監聽的 port,建議使用標準的 443 埠號,較不易被封鎖
# ORPort 443 IPv4Only # 如果你的網路環境或 VPS 只支援 IPv4,可以加入此行防止 IPv6 相關的警告
ExitRelay 0 # 設定為 0 表示這個 Relay 不會作為出口節點,這是推薦的入門設定以降低法律風險
SocksPort 0 # 設定為 0 表示不啟用 SOCKS 代理服務,你不需要讓其他人透過你的 Relay 上網
步驟五:重啟 Tor 服務
設定檔編輯完成後,請重新啟動 Tor 服務,讓新的設定生效:
sudo systemctl restart tor
步驟六:檢查 Tor 節點狀態
你可以透過以下指令檢查 Tor 服務是否正在運行:
sudo systemctl status tor
如果服務正在運行,你會看到綠色的 “active (running)” 狀態。這表示 Tor 服務已經成功啟動。
你還可以使用 journalctl
來查看伺服器的即時日誌,這對於排查問題非常有用:
sudo journalctl -u tor@default -f
你應該會看到類似 “Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.” 的訊息。這表示你的 Tor Relay 已經成功啟動,並且可以被其他 Tor 使用者連接。
使用 nyx 監控
除了以上系統內建的工具,你也可以使用 nyx 來監控你的 Tor 節點狀態。它提供一個視覺化的介面讓你可以看到包括流量、連接數、警告等即時的 Tor 節點狀態,資訊,幫助你更好地管理你的 Relay,非常方便:
安裝方法如下:
sudo apt install nyx
然後啟動 nyx:
sudo -u debian-tor nyx
步驟七:確認你的 Relay 已被識別
通常在啟動後的幾小時到一天後,你可以到 Tor Metrics 網站來確認你的 Relay 是否已上線並被 Tor 網路識別:在搜尋框中輸入你在 torrc
中設定的 Nickname
或伺服器 IP 位址。
要注意,剛開始運行 Tor Relay 時,可能需要一些時間才能被 Tor 網路識別。這是因為 Tor 需要時間來「ramp up」新的節點,並確保它們的穩定性和可靠性。如果你想了解更多關於新節點的生命週期,可以參考這篇文章:The lifecycle of a new relay。