Это руководство поможет вам настроить мост WebTunnel, скомпилированный из исходного кода, чтобы помочь подвергнутым цензуре пользователям подключаться к сети Tor.
0. Настройте свой домен и веб-сервер
Прежде чем приступить к выполнению приведенных ниже инструкций, необходимо сначала настроить свой домен и веб-сервер.
Refer to the first part of the WebTunnel guide to see how to set up your web server.
1. Установите Голанг
Чтобы собрать двоичный файл сервера 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
На системе из семейства Debian, установите Tor из репозитория Tor Debian.
$ 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
ContactInfo <address@email.com>
Nickname WebTunnelTest
SocksPort 0
5. Перезапустите Tor
Включите и запустите тор:
$ sudo systemctl enable --now tor.service
А если Tor уже работает, перезапустите, чтобы изменения вступили в силу:
$ sudo systemctl restart tor.service
6. Отредактируйте и перезагрузите разрешение AppArmor tor
Чтобы разрешить tor запускать ваш двоичный файл веб-туннеля, отредактируйте профиль AppArmor system_for в /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> вашего моста в форму и нажмите “Поиск“.
После настройки моста требуется примерно три часа, чтобы мост появился в поиске узлов.
8. Заключительные замечания
Ваш мост WebTunnel по умолчанию будет автоматически распространяться через сайт " Мосты", также известный как дистрибьютор HTTPS.
Это значение по умолчанию применяется, если оператор явно не настроит параметр Мост распределения в файле torrc на другой вариант.
Если установлено любое значение, отличное от HTTPS, мост не будет распространяться среди пользователей.
Если у вас возникли проблемы с настройкой моста, загляните в наш раздел помощи.
Если ваш мост запущен, вы можете проверить его, скопировав и вставив строку вашего моста в Tor Browser.
Чтобы построить линию моста 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