Цей посібник допоможе вам налаштувати міст WebTunnel, скомпільований із джерела, щоб допомогти цензурованим користувачам підключатися до мережі Tor.

0. Налаштуйте домен і веб-сервер

Перш ніж продовжити виконання наведених нижче інструкцій, необхідно спочатку налаштувати домен і веб-сервер. Зверніться до першої частини посібника WebTunnel, щоб дізнатися, як налаштувати веб-сервер.

1. Встановіть Golang

Щоб створити двійковий файл сервера WebTunnel, вам потрібно встановити Golang. Ви можете встановити Go на Debian, виконавши:

$ sudo apt install golang

2. Клонувати та скомпілювати

Клонуйте репозиторій git WebTunnel:

$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel

І скомпілюйте двійковий файл сервера WebTunnel:

$ cd webtunnel/main/server
$ go build

Нарешті, скопіюйте двійковий файл в інше місце:

$ sudo cp server /usr/local/bin/webtunnel

3. Встановіть Tor

On a Debian-like system, install Tor from the Tor Debian repository.

$ sudo apt install apt-transport-https lsb-release

Виконайте ці команди, щоб увімкнути репозиторій Tor Debian:

$ CODENAME=$(lsb_release -cs)

$ cat <<EOF > /etc/apt/sources.list.d/tor.list
   deb     [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
   deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
EOF

Імпортуйте брелок проекту Tor:

$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

Нарешті, оновіть список пакетів і встановіть Tor:

$ sudo apt update && sudo apt install tor deb.torproject.org-keyring -y

4. Відредагуйте torrc

Відредагуйте свій конфігураційний файл Tor, який зазвичай знаходиться за адресою /etc/tor/torrc, і замініть його вміст на:

  • url=https://yourdomain/path з вашою URL-адресою WebTunnel, включаючи ваш домен і секретний шлях;
  • <address@email.com> with your contact email address;
  • Нік WebTunnetTest з псевдонімом вашого мосту.
BridgeRelay 1
ORPort 127.0.0.1:auto
AssumeReachable 1
ServerTransportPlugin webtunnel exec /usr/local/bin/webtunnel
ServerTransportListenAddr webtunnel 127.0.0.1:15000
ServerTransportOptions webtunnel url=https://yourdomain/path
ExtORPort auto
Контактна інформація<address@email.com>
Nickname WebTunnelTest
SocksPort 0

5. Перезапустіть Tor

Увімкнути та запустити tor:

$ sudo systemctl enable --now tor.service

Або перезапустіть його, якщо він уже був запущений, щоб конфігурації вступили в силу:

$ sudo systemctl restart tor.service

6. Відредагуйте та перезавантажте дозвіл AppArmor

Щоб дозволити tor запускати ваш двійковий файл WebTunnel, відредагуйте профіль system_tor AppArmor за адресою /etc/apparmor.d/system_tor і додайте запис, що дозволяє tor виконувати WebTunnel:

  # During startup, tor (as root) tries to open various things such as
  # directories via check_private_dir().  Let it.
  /usr/local/bin/webtunnel ix,

Перезавантажте профіль AppArmor:

$ sudo apparmor_parser -r /etc/apparmor.d/system_tor

Після зміни профілю та його перезавантаження перевірте, чи може процес tor тепер виконувати /usr/local/bin/webtunnel без будь-яких відмов AppArmor. Перевірте системні журнали (наприклад, dmesg або /var/log/syslog), щоб переконатися, що помилка не з’явиться знову.

7. Контролюйте свої журнали

Щоб підтвердити, що ваш міст працює без проблем, ви повинні побачити щось на зразок цього (зазвичай у /var/log/syslog або запустіть sudo journalctl -e -u tor@default):

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done

Ви можете контролювати використання свого мосту WebTunnel на Relay Search. Просто введіть <HASHED FINGERPRINT> вашого мосту у форму та натисніть «Пошук». Після налаштування мосту потрібно приблизно три години, щоб міст відобразився в Relay Search.

8. Остаточні примітки

Ваш міст WebTunnel за замовчуванням автоматично розповсюджуватиметься через веб-сайт Bridges, також відомий як дистриб’ютор HTTPS. Це значення за замовчуванням застосовується, якщо оператор явно не налаштує параметр BridgeDistribution у файлі torrc на інший параметр. Якщо встановлено будь-який параметр, окрім HTTPS, міст не буде надано користувачам. Якщо у вас виникли проблеми з налаштуванням мосту, перегляньте наш розділ довідки .

Якщо ваш міст зараз працює, ви можете перевірити його, скопіювавши та вставивши рядок вашого мосту в браузер Tor. Щоб побудувати лінію мосту WebTunnel, вам потрібно скопіювати свій міст FINGERPRINT, але не плутайте його з хешованим відбитком пальця, який є відбитком, який ви знайдете на веб-сайті Tor Relay Search. Якщо ви скопіюєте хешований відбиток пальця замість свого відбитка пальця моста, ви не зможете підключитися. Ви можете знайти свій відбиток бриджа у файлі /var/lib/tor/fingerprint. Не забудьте скопіювати лише відбиток пальця та не включати псевдонім мосту.

Нарешті, ви можете замінити вміст URL-адреси своїм доменом і секретним шляхом. Ви можете знайти це у своєму рядку torrc у розділі ServerTransportOptions.

Тепер просто замініть вміст нижче, щоб створити лінію мосту WebTunnel. 10.0.0.2:443 — це лише випадкова IP-адреса, яка ніколи не використовується. Це просто тому, що для специфікації підключеного транспорту потрібна IP-адреса.

webtunnel 10.0.0.2:443 FINGERPRINT url=https://yourdomain/path