在 Tor 中設置 .onion 網站
📅 歷史內容提醒: 本文最初發布於 2018 年 1 月,描述了 Tor v2 hidden services。Tor v2 .onion 位址現已棄用且不再受支援。 現代 Tor hidden services 使用 v3 位址,採用 ed25519 加密和 56 字元位址。有關當前的設置說明,請參閱官方 Tor Project hidden service 指南。
簡介
在這篇文章中,我們將探索在 Tor 網路中設置具有 .onion 域名的網站的過程。.onion 域名1的運作方式與傳統域名不同,因為它不依賴於 IP 映射,從而保持了 hidden server 的匿名性。.onion 位址的創建涉及從私鑰 RSA 金鑰生成公鑰,然後通過現已過時的 SHA-1 演算法2進行雜湊,再使用 Base 323 編碼以產生獨特的 .onion 域名(例如,http://oxoujukneztb6wxg.onion)。重要的是要注意,Base 32 編碼不包含大寫字母或特殊符號。
.onion Hidden Service 設置流程
graph TD
A[安裝 Web Server<br/>例如 XAMPP, Nginx] --> B[下載 Tor<br/>Expert Bundle]
B --> C[執行 tor.exe<br/>初始化 Tor]
C --> D[創建 torrc<br/>配置檔案]
D --> E{配置<br/>HiddenServiceDir<br/>HiddenServicePort}
E -->|HiddenServiceDir C:\hidden| F[設定金鑰目錄]
E -->|HiddenServicePort 80 127.0.0.1:81| G[映射埠口]
F --> H[重啟 Tor]
G --> H
H --> I[Tor 生成<br/>Private Key]
I --> J[Tor 創建<br/>.onion 位址]
J --> K[在 HiddenServiceDir<br/>找到 hostname]
K --> L[Hidden Service 啟動!<br/>yoursite.onion]
style A fill:#4CAF50
style D fill:#2196F3
style H fill:#FF9800
style J fill:#9C27B0
style L fill:#4CAF50
配置範例:
HiddenServiceDir C:\hidden_service
HiddenServicePort 80 127.0.0.1:81
要點:
- 無需公共 IP:Hidden services 在不暴露 IP 的情況下工作
- 埠口映射:左側埠口 = hidden service,右側埠口 = 本地 web server
- 自動金鑰生成:Tor 創建 private_key 和 hostname 檔案
- 匿名主機:訪客無法確定伺服器位置

注意:建立
.onion網站不需要公共 IP 位址,也不涉及向防火牆添加埠口規則。
設置 .onion 網站的逐步指南
-
網站設置: 首先在你的電腦上創建一個網站。一個簡單的方法是下載 XAMPP4 並快速設置。
-
下載 Tor: 接下來,前往 Tor Project 網站並下載 Windows 的「Expert Bundle」5。避免選擇瀏覽器套件。
-
安裝和配置: 下載後,解壓縮檔案並找到
tor.exe。運行一次然後關閉它。導航到資料夾C:\Users\[你的使用者名稱]\AppData\Roaming\tor。在這裡,創建一個名為torcc的文字檔案,刪除副檔名,並用文字編輯器打開它。添加以下行:HiddenServiceDir C:\ # 這將是你網站的私鑰和公鑰檔案的目錄。如果需要,你可以更改位置。 HiddenServicePort 80 127.0.0.1:81 # 左側數字表示 hidden service 的埠口,右側連接到你的本地埠口。
-
啟動 Hidden Service: 儲存更改並再次運行
tor.exe。恭喜,你的 hidden service 現在應該可以運行了!.onion域名將在HiddenServiceDir資料夾的公鑰檔案中列出。確保保護好你的私鑰,而公鑰可以丟棄,因為 Tor 會在每次操作時重新生成它。
參考資料