Это руководство поможет вам настроить мост WebTunnel, скомпилированный из исходного кода, чтобы помочь подвергнутым цензуре пользователям подключаться к сети Tor.
0. Настройте свой домен и веб-сервер
Прежде чем приступить к выполнению приведенных ниже инструкций, необходимо сначала настроить свой домен и веб-сервер.
Обратитесь к первой части Руководства по WebTunnel, чтобы узнать, как настроить веб-сервер.
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-адресом вашего веб-туннеля, включая ваш домен и секретный путь;
<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