F81 blog|
什麼是 .onion 域名?
.onion 是 Tor 網路(The Onion Router)專用的偽頂級域名(pseudo-TLD),無法透過一般 DNS 系統解析,也沒有任何中央機構核發或管理。只要在本機運行 Tor,任何人都可以免費生成一個。
| 特性 | 說明 |
|---|---|
| 🔒 匿名性 | 伺服器 IP 不會暴露,訪客身份同樣受到保護 |
| 🌐 去中心化 | 不需向任何機構申請,完全由密碼學金鑰決定 |
| 🛡️ 端對端加密 | 流量在 Tor 電路中全程加密,三層洋蔥式保護 |
| ⚡ v3 地址 | 現行標準為 56 字元,基於 ed25519 橢圓曲線加密 |
v2 vs v3:舊版 v2 .onion 地址(16 字元)已於 2021 年由 Tor Project 正式廢棄,現在所有新服務均應使用 v3 地址(56 字元)。v3 使用 ed25519 金鑰,安全性大幅提升。
開始前的重要說明
⚠️ 注意:.onion 服務本身是合法的技術工具,廣泛用於新聞機構(如 BBC、紐約時報)、人權組織與隱私保護應用。然而,使用 Tor 網路從事非法活動仍受各地法律規範,本文僅提供技術教學用途。
安裝 Tor
Ubuntu / Debian
1 | sudo apt update && sudo apt install tor -y |
macOS(使用 Homebrew)
1 | brew install tor |
Windows
下載 Expert Bundle,或使用 WSL2 執行 Linux 指令:
1 | https://www.torproject.org/download/tor/ |
執行 tor --version 確認安裝成功。
設定 Tor 隱藏服務
編輯 Tor 的設定檔 torrc,告訴 Tor 將哪個本地連接埠對外公開。
常見 torrc 路徑
1 | /etc/tor/torrc # Linux |
在 torrc 末尾加入
1 | HiddenServiceDir /var/lib/tor/hidden_service/ |
如果文件中已包含
- 只需移除 # 最後 輸入Ctrl+x enter 保存幷退出

啟動 Tor
1 | sudo systemctl start tor # Linux (systemd) |
取得你的 .onion 地址
1 | sudo cat /var/lib/tor/hidden_service/hostname |
輸出範例(v3 地址):
1 | zqktlwiuavvvqqt4ybvgvi7tyo4hjl5xgfuvpdf6otjiycgwqbym2qad.onion |
⚠️
hs_ed25519_secret_key是你的私鑰,遺失即永遠失去該地址。請備份並設定權限chmod 700。
進階:生成自訂虛榮地址
| 工具 | 平台 | 備注 |
|---|---|---|
| mkp224o | Linux / macOS | 推薦,開源,CPU 多執行緒 |
| eschalot | Linux | 舊版,僅支援 v2 |
1 | sudo apt install gcc libsodium-dev make autoconf -y |
⚠️ 前綴越長耗時越久,8 字元可能需要數天,請耐心等候。
部署與安全建議
- Web 伺服器僅監聽 127.0.0.1,絕不對外(
0.0.0.0)開放,否則會洩露真實 IP。 - 關閉或定期清除存取日誌,避免記錄敏感資訊。
- Nginx 加入
server_tokens off;,隱藏伺服器版本資訊。 - 定期更新 Tor,修補已知的去匿名化漏洞。
- 備份私鑰至加密的離線介質,設定檔案權限
600。
流程快速對照
| 步驟 | 動作 | 結果 |
|---|---|---|
| 1 | 安裝 Tor | 取得 tor daemon |
| 2 | 編輯 torrc | 設定隱藏服務連接埠 |
| 3 | 啟動 Tor | 自動生成金鑰與 .onion 地址 |
| 4 | 讀取 hostname 檔案 | 取得你的 .onion 地址 |
| 5 | 啟動本地 Web 伺服器 | 服務上線 |
| 6 | (選用)mkp224o | 自訂前綴虛榮地址 |
更多資訊請參考 Tor Project 官方文件。
VLESS-Reality-Vision 是目前 Xray 生態中抗封鎖能力最強的協定組合之一。Reality 協定能讓你的流量偽裝成真實的 TLS 連線,幾乎無法與正常 HTTPS 流量區分。本文將一步步帶你從零完成伺服器端設定。
準備工作
開始之前,請確認你已備妥以下項目:
- 一台 VPS:建議使用 Ubuntu 22.04 或 Debian 12,並確保 443 埠口未被占用
- SSH 工具:用於連線你的 VPS(例如 Terminal、PuTTY 或 WindTerm)
- (選填)偽裝目標網站:需支援 TLSv1.3 且不拒絕 VPS 連線的合法網站,例如
images.apple.com或www.microsoft.com
一鍵安裝 Xray 核心
目前社群最主流、維護最積極的安裝方式是使用 XTLS 官方指令碼。登入你的 VPS 後,依序執行以下指令:
1 | # 更新系統套件 |
安裝完成後,相關檔案會存放於以下路徑:
| 用途 | 路徑 |
|---|---|
| Xray 核心執行檔 | /usr/local/bin/xray |
| 設定檔 | /usr/local/etc/xray/config.json |
生成 Reality 所需的金鑰
Reality 需要一對非對稱金鑰(公鑰與私鑰)以及一個隨機的 Short ID。在終端機執行以下指令來生成:
1 | # 生成 x25519 金鑰對 |
執行後,終端機會輸出類似以下的資訊:
1 | Private key: uXXXXXXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYY= |
請記下以下三個值,並妥善保存:
| 值 | 填入位置 |
|---|---|
| Private key(私鑰) | VPS 的伺服器端設定檔 |
| Public key(公鑰) | 手機或電腦的客戶端 |
| Short ID | 伺服器端與客戶端皆需填寫 |
⚠️ 注意:私鑰請勿洩露給他人,公鑰則可安全分享.
配置 VPS 上的 Xray 設定檔
使用文字編輯器開啟 Xray 的設定檔:
1 | sudo nano /usr/local/etc/xray/config.json |
將裡面的內容全部清空,貼入以下標準的 VLESS-Reality-Vision 配置。請根據註解修改所有需要替換的欄位:
⚠️ 注意:以下是加上中文註解的配置 注意 標準 JSON 不支援註解,這份格式適合放在部落格文章或文件說明中是不能直接貼入 Xray 使用的
1 | { |
UUID 生成方式:在終端機執行
xray uuid,會自動輸出一組 UUID。
完成後,在 Nano 編輯器中按 Ctrl+O 儲存,再按 Ctrl+X 離開。
啟動與驗證服務
設定檔修改完成後,重啟 Xray 服務讓設定生效:
1 | # 重新啟動 Xray |
若輸出顯示 active (running),代表伺服器端已成功運作。
若狀態異常,可查看詳細錯誤日誌:
1 | sudo journalctl -u xray -n 50 --no-pager |
客戶端配置
伺服器端設定完成後,在你的裝置上開啟支援 VLESS 的客戶端(如 v2rayN、Mihomo/Clash Meta、Sing-box 等),手動新增節點,填入以下資訊:
| 欄位 | 值 |
|---|---|
| 協定 | VLESS |
| 伺服器位址 | 你的 VPS IP |
| 埠口 | 443 |
| UUID | 設定檔中填入的 UUID |
| Flow | xtls-rprx-vision |
| 加密 | none |
| 傳輸 | TCP |
| 安全性 | Reality |
| SNI / serverName | images.apple.com |
| 公鑰(Public Key) | 第二步生成的公鑰 |
| Short ID | 第二步生成的 Short ID |
結語與運維建議
- 埠口選擇:Reality 建議使用 443 埠口,因為絕大多數的 TLS 流量都走 443,能讓你的節點流量完美混入正常網路背景,降低被識別的風險。
- 定期更新 Xray:重新執行安裝指令碼即可更新至最新版本,金鑰與設定不受影響。
- 偽裝網站選擇:建議選用國際知名企業的 CDN 域名,確保穩定性高且不易被封鎖。