本指南將協助您設定 WebTunnel 橋接器,以協助受審查的使用者連線至 Tor 網路。 WebTunnel 是一種可插入傳輸,嘗試模仿基於 HTTPT 的 Web 瀏覽活動。

部署 WebTunnel 橋接節點的要求如下: 1.一組靜態 IPV4(推薦);

  1. 能夠向網際網路開放 TCP 連接埠(確保 NAT 不造成阻礙);
  2. 一個自行託管的網站,包含可設定的網頁伺服器(如 NGINX 或 Apache)以及由您管理的網域;
  3. 一個有效的 TLS 憑證;
  4. 至少 1 GB 記憶體 RAM(建議 4 GB)以支援 Tor 進程和 WebTunnel 傳輸。

有關係統要求的更多詳細信息,我們建議閱讀 Tor relay requirements 頁面。

部署 WebTunnel 橋接節點須同時設定網頁伺服器與使用此可插拔傳輸的 Tor 橋接。 本指南的第一部分提供了有關配置 Web 伺服器以支援 WebTunnel 的詳細說明。 第二部分中,你將在兩種執行 WebTunnel 橋接的方法之間擇一:使用 Docker,或從原始碼編譯。

請注意,如果您不符合執行 WebTunnel 或 obfs4 橋接器的要求,執行 Snowflake proxy 是捐贈頻寬以協助使用者規避審查的好方法。

網路伺服器配置

步驟1 配置你的網域

如果你已擁有網站網域,可以使用主網域或建立子網域。 在本指南中,WebTunnel 橋接器託管在與您的網站相同的伺服器上,但也可以將其託管在不同的伺服器上。

步驟2.取得有效憑證

如果您的網站沒有 TLS 憑證,您可以使用 acme.sh 來取得,它是一個以 Shell 語言撰寫的 ACME 協定用戶端。

2.1. 安裝 ACME

my@example.com 替換為您的電子郵件地址:

$ curl https://get.acme.sh | sh -s email=my@example.com

$ wget -O - https://get.acme.sh | sh -s email=my@example.com

2.2. 簽發憑證

example.com 換成您的網站網域。

$ ~/.acme.sh/acme.sh --issue --standalone --domain example.com

步驟 3. 安裝 NGINX

若要在單一埠號上與其他內容共存,您應安裝反向代理,例如 NGINX。 安裝 NGINX:

$ sudo apt install nginx

步驟 4. 配置 NGINX

4.1. 產生隨機字串

當客戶端連接到您的 Web 伺服器時,如果使用秘密路徑,它們將被重新導向到您的 WebTunnel 代理程式。 您可以執行以下指令來產生隨機字串:

$ echo $(cat /dev/urandom | tr -cd "qwertyuiopasdfghjklzxcvbnmMNBVCXZLKJHGFDSAQWERTUIOP0987654321"|head -c 24)

4.2. 建立或編輯 NGINX 虛擬主機

建立一個新的虛擬主機文件,例如 /etc/nginx/sites-available/webtunnel-vhost,將流量轉送到 WebTunnel 橋接器。 這是完整的 NGINX vhost with WebTunnel example

或者,如果您想使用現有的虛擬主機,您只需編輯並向其添加 location {} 區塊即可。 將 $PATH 換成隨機字串。

# NGINX 虛擬主機區塊範例
location = /$PATH {
        proxy_pass http://127.0.0.1:15000;
        proxy_http_version 1.1;

        ### 設定 WebSocket 標頭 ###
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        ### 設定代理標頭 ###
        proxy_set_header        Accept-Encoding   "";
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        add_header              Front-End-Https   on;

        proxy_redirect     off;
        access_log  off;
        error_log /dev/null;
}

4.3. 測試虛擬主機設定並重新載入 NGINX

sudo ln -s /etc/nginx/sites-available/webtunnel-vhost /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

第五步 配置TorWebTunnel網橋

恭喜!你已成功設定好網頁伺服器,可將請求代理到你的 Tor 橋接。 現在您必須安裝並設定橋接,以從網頁伺服器接收這些請求。 請遵循本指示的第二部分。 您有兩個可用選項:從 source 編譯 Go 二進位檔案或使用 Docker

WebTunnel Docker 設置

如何在 Docker 上執行 WebTunnel 橋接

從源頭編譯和執行WebTunnel

如何從原始碼執行 WebTunnel 橋接