Цей посібник допоможе вам налаштувати міст WebTunnel, щоб допомогти цензурованим користувачам підключатися до мережі Tor. WebTunnel — це транспортний засіб, який можна підключити, який намагається імітувати дії веб-перегляду на основі HTTPT .ch/#Frolov2020b).

Вимоги до розгортання мосту WebTunnel:

  1. Статичний IPv4 (бажано);
  2. Можливість відкрити порти TCP для Інтернету (переконайтеся, що NAT не заважає);
  3. Самостійний веб-сайт, включаючи настроюваний веб-сервер (наприклад, NGINX або Apache) і домен під вашим контролем;
  4. Дійсний сертифікат TLS;
  5. Принаймні 1 ГБ оперативної пам’яті (рекомендовано 4 ГБ) для підтримки процесу Tor і транспорту WebTunnel.

Щоб дізнатися більше про системні вимоги, рекомендуємо прочитати сторінку Вимоги до ретрансляції Tor.

Розгортання мосту WebTunnel передбачає налаштування як веб-сервера, так і мосту Tor за допомогою цього транспорту, що підключається. Перша частина цього посібника містить докладні інструкції щодо налаштування веб-сервера для підтримки WebTunnel. У другій частині ви вибираєте між двома методами запуску моста WebTunnel: або за допомогою Docker, або шляхом компіляції з вихідного коду.

Зауважте, що якщо ви не відповідаєте вимогам для запуску WebTunnel або мосту obfs4, запустіть проксі-сервер Snowflake — чудовий спосіб пожертвувати пропускною здатністю, щоб допомогти користувачам обійти цензуру.

Конфігурація веб-сервера

Крок 1. Налаштуйте свій домен

Якщо у вас уже є домен веб-сайту, ви можете використовувати основний домен або створити субдомен. У цьому посібнику міст WebTunnel розміщено на тому ж сервері, що й ваш веб-сайт, але його можна розмістити на іншому сервері.

Крок 2. Отримайте дійсний сертифікат

Якщо ваш веб-сайт не має сертифіката TLS, ви можете отримати його за допомогою acme.sh, який є клієнтом протоколу ACME, написаним мовою Shell .

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. Згенерувати випадковий рядок

Коли клієнти підключаються до вашого веб-сервера, вони будуть перенаправлені на ваш проксі-сервер WebTunnel, коли вони використовують секретний шлях. Ви можете створити випадковий рядок, виконавши цю команду:

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

4.2. Створіть або відредагуйте віртуальний хост NGINX

Створіть новий файл vhost, наприклад /etc/nginx/sites-available/webtunnel-vhost, який перенаправлятиме трафік до мосту WebTunnel. Ось повний NGINX vhost із прикладом WebTunnel.

Або якщо ви хочете використовувати існуючий vhost, ви можете просто відредагувати та додати до нього блок location {}. Замініть $PATH на випадковий рядок.

# Приклад блоку vhost 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. Перевірте конфігурацію vhost і перезавантажте NGINX

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

Крок 5. Налаштуйте міст Tor WebTunnel

Щиро вітаю! Ви успішно налаштували свій веб-сервер на надсилання запитів проксі до вашого мосту Tor. Тепер ви повинні встановити та налаштувати свій міст для отримання цих запитів від веб-сервера. Дотримуйтеся другої частини цього посібника. У вас є два доступних варіанти: скомпілювати двійковий файл Go з source або використати Docker.

Налаштування WebTunnel Docker

Як запустити міст WebTunnel на Docker

Скомпілюйте та запустіть WebTunnel з джерела

Як запустити міст WebTunnel з джерела