Настройка торрент-клиента на работу через Tor — различия между версиями
(Описание ситуации с неучётом статистики трекером) |
Админ (обсуждение | вклад) м (1 версия импортирована) |
(нет различий)
|
Версия 20:33, 6 ноября 2016
В этой статье будет дано описание двух способов настройки торрент-клиента таким образом, чтобы он соединятся с серверами-трекерами Рутрекера bt*.rutracker.cc и bt*.t-ru.org через сеть Tor, а не напрямую и открыто через сеть вашего провайдера.
Инструкции даны с учётом того, что на компьютере установлена OC Windows 8 с русскоязычной локализацией, а в качестве клиента используется µTorrent версии 3.x. Для других операционных систем и клиентов действия будут несколько иными, но мало отличаться по смыслу.
Содержание
Небольшой FAQ
Зачем? Зачем? Блокировка, ставшая реальностью в январе 2016 года, формально предписывает провайдерам заблокировать своми пользователям доступ к форуму Рутрекера, расположенному по адресу http://rutracker.org/. Однако некоторые провайдеры пошли дальше и случайно или намеренно заблокировали или затруднили доступ и к серверам-трекерам bt*.rutracker.cc и bt*.t-ru.org. Торрент-клиент, не имея возможности соединиться с трекерами, не получает от них список адресов других пользователей, участвующих в той или иной раздаче. В результате падает скорость обмена: клиентам труднее найти друг друга, широта выбора пиров сужается для каждого из них, затруднён поиск новых, ещё неизвестных клиенту раздач. Как известно, тысяча пиров, качающих друг у друга, значительно эффективней десятка, даже обладающего 100% данных раздачи.
Надо ли это делать? Надо ли это делать? Описанные действия по обходу блокировок нужны лишь тем, у кого провайдер блокирует доступ в серверам-трекерам. Остальным же не стоит постоянно пользоваться описанной методикой. Имейте её на будущее как запасной вариант на случай введения более строгих блокировок. Прочтите также раздел Блокирует ли ваш провайдер доступ к трекерам?
Don't torrent over Tor! Don't torrent over Tor! Известная фраза, повторяемая разработчиками Tor. Сеть Tor не была задумана для передачи данных в таком режиме и таких объёмах, какими оперируют торрент-сети. Первая и важнейшая причина этого, хоть сейчас для нас и не важная, в том, что торренты не обеспечивают анонимности участника раздач — помните, что в вопросе обхода блокировок мы не стремимся к анонимности, по крайней мере сейчас. Нам же надо знать, что, прогоняя все свои торренты через торовскую сеть, вы не только снизите её пропускную способность и навредите другим пользователям, но и значительно снизите свою собственную скорость скачивания и раздачи. Здесь мы настроим наш клиент так, чтобы торовская сеть использовалась только для связи с трекерами, а сам обмен данными раздач будет работать напрямую.
Внимание! Внимание! При использовании этого способа обхода ваша статистика раздач будет учитываться частично или не будет учтена вовсе. Это связано с тем, что мы используем торовскую сеть, и с особенностями учёта статистики нашими трекерами. Ниже мы дадим рекомендацию, как уменьшить этот эффект, но тем, кому важны правдивые цифры розданных гигабайт в своём профиле, надо иметь это в виду.
Блокирует ли ваш провайдер доступ к трекерам?
Прежде чем переводить свой торрент-клиент на связь с трекерами через торовскую сеть, надо убедиться в том, что ваш провайдер мешает вам соединяться с трекерами напрямую.
Ниже мы дадим описание нескольких методов, которые помогут определить, занимается ли ваш провайдер блокировкой.
ValdikSS/blockcheck
В двух словах. Загружаете свежую версию программы из https://github.com/ValdikSS/blockcheck/releases и запускаете её в консоли. Текстовой вывод программы расскажет о том, что ей удалось обнаружить.
Сайт: https://github.com/ValdikSS/blockcheck .
Утилита для определения типа блокировок сайтов из единого реестра запрещённой информации на стороне провайдера.
Данная утилита позволяет определить:
- Подмену DNS-ответов.
- Перенаправление DNS-серверов.
- Блокировку DNS-серверов.
- «Обычный» DPI (фильтрация URL на определённых IP-адресах и портах).
- «Полный» DPI (фильтрация URL на всех IP-адресах и/или портах).
- Подмену SSL(HTTPS)-сертификата (прослушивание HTTPS-трафика).
- Блокировку по IP-адресу.
Приложение автоматически отправляет статистику об используемом типе блокировки на сервер.
http://habrahabr.ru/post/229377/ — статистика по провайдерам.
Весёлая картинка
Вначале давайте обратимся к стилю примитивизма и посмотрим на итоговую картину, к которой мы хотим прийти. Схема обхода
Провайдер блокирует прямые соединения с трекерами по HTTP, но мы будем соединяться с ними в обход. Торрент-клиенту будет задан прокси-сервер, запущенный на локальном компьютере, это Privoxy, с ним клиент связывается по протоколу HTTP, отправляя на трекер статистику раздачи и получая списки участников этой раздачи. Privoxy решает, что все запросы, адресованные трекерам (то есть bt*.rutracker.cc и и bt*.t-ru.org), будут переадресовываться на запущенный на этом же компьютере клиент Tor по протоколу SOCKS, а остальные запросы (например, технические от торрент-клиента; на рисунке не показаны) пойдут напрямую по своим адресам. Tor, получив эти запросы, отправляет их через свою сеть из нескольких торовских узлов, и в результате они попадают к серверам-трекерам. В ответ на них в обратную стороны клиент получает от трекеров данные, нужные для быстрой работы: закачки и поиска раздач.
Связь непосредственно с пирами-участниками раздач осуществляется напрямую, без торовской сети. Также, для обнаружения новых пиров без участия серверов-трекеров в клиенте могут применяться технологии DHT и PEX.
Наши варианты
Первый способ предполагает установку двух программ, выстраивающихся затем в цепочку, через которую проходят соединения с трекерами. Это клиент Tor и HTTP- прокси-сервер Privoxy. Tor нам понадобится в любом случае как средство непрямого соединения с трекерами, а в будущем, если это потребуется, и маскировки соединения. Privoxy здесь используется для удобства: имея перед глазами окно лога соединений, легко заметить момент, когда какие-то запросы к трекерам начинают сбоить. Здесь же, в Privoxy, можно заблокировать показ рекламных баннеров в интерфейсе торрент-клиента для тех, кому это не нравится, но такая настройка выходит за рамки статьи.
Второй способ чуть легче и требует только работы клиента Tor на компьютере. Он также вполне работоспособен, но проблемы со связью с трекерами будут видны только в списке раздач в клиенте. Для многих это более привычный режим работы.
Первый способ
Установите обе программы на своём компьютере, следуя этим инструкциям:
Эти инструкции даны с учётом того, что программы будут использованы именно в цепочке для подключения к торрент-клиенту. Будьте внимательны с настройкой программ (редактированием конфигурационных текстовых файлов).
Запустите последовательно Tor и Privoxy. Клиенту Tor требуется некоторое время, чтобы инициализоваться, связаться со своей сетью и получить данные о её текущем состоянии, наличии доступных узлов и прочее. На компьютере автора это занимает до минуты. Как проверить успешность запуска Tor, описано в статье по его настройке.
Окно работающего прокси-сервера. В нём вы увидите все запросы, которые ваш торрент-клиент делает к серверам-трекерам. Если будут возникать какие-то ошибки соединений, они выделяются синим цветом.
Теперь запустите свой торрент-клиент и зайдите в его настройки. Здесь дано изображение окна сетевых настроек клиента µTorrent версии 3.4.2; если у вас другой клиент, найдите в нём соответствующее место, где устанавливаются параметры сетевого соединения, в частности, тип и адрес/порт прокси-сервера.
Итак, выбирайте здесь тип прокси «HTTP», вводите ваш локальный адрес 127.0.0.1, а порт 8118. Это тот порт, на котором работает и ожидает входящие соединения ваш прокси-сервер Privoxy. Также, убедитесь, что выключена настройка «Use proxy for peer-to-peer connection» — об этом сказано в пункте FAQ Don't torrent over Tor. Остальные галки расставьте как на картинке.
Нажимайте «OK» и закрывайте окно настроек.
Теперь откройте окно Privoxy и убедитесь, что в нём начинают появляться запросы от торрент-клиент — пример изображён на картинке выше. Проследите, что в клиенте не возникает ошибок при соединении с трекерами, и что статусы у раздач говорят о доступности серверов-трекеров.
Второй способ
Он проще первого: нам не понадобится Privoxy, её можно не устанавливать, нужен лишь работающий и настроенный узел Tor. Вы просто настраиваете свой торрент-клиент на другой тип прокси и номер порта (см. описание первого способа). Зайдите в настройки µTorrent (или другого своего клиента) и установите тип прокси «SOCKS4», адрес задайте тот же, 127.0.0.1, а порт 9050. Это тот порт, на котором работает и ожидает входящие соединения ваш клиентский узел Tor. Мы вновь напоминаем, что надо снять галку «Use proxy for peer-to-peer connection», она не нужна, её установка навредит и вашей скорости, и другим пользователям торовской сети.
Чтобы проверить работу клиента в новой конфигурации, перезапустите его и проследите, что ваши раздачи успешно соединяются с серверами-трекерами.
Возможные проблемы и их решение
Если раздачи «покраснели»
Если время от времени ваши раздачи «краснеют» (в интерфейсе вашего торрент-клиента), а состояние трекеров показывает сообщение об ошибках связи с ними (невозможность соединиться с трекерами или ошибки вроде 503), попробуйте отключить (лучше закомментировать) параметр TrackHostExits в настроечном файле Tor. О том, как это сделать, читайте в соответствующей статье.
Параметр TrackHostExits говорит Tor-у: по возможности, пока текущее соединение с таким-то доменом активно, продолжай для связи с ним использовать это соединение, а не создавай периодически новые. Это уменьшает анонимность: чем дольше вы пользуетесь одной и той же цепочкой между вами и целевым узлом, тем легче вас выделить из общего числа пользователей. С другой стороны, постоянные изменения адреса-источника пакетов от вас к трекеру не дают учитывать вашу раздачу: трекер запрограммирован отвергать данные из таких «прыгающих» источников как попытки накрутить себе статистику и по другим причинам. А если любой узел из существующей торовской цепочки отказывает (например, выключился — это постоянно случается, т.к. много узлов содержится энтузиастами на своих машинах), но вы намеренно продолжаете им пользоваться (в этом и смысл TrackHostExits), то, естественно, и возникают всякие ошибки.
Если раздачи не видны в профиле и/или розданное не учитывается
Это ситуация, обратная предыдущей. Перечислите в параметре TrackHostExits домены трекеров (см. примерную конфигурацию в соответствующей статье) и проследите, что раздачи появились в профиле, а розданное начало учитываться.
Разумный баланс между полным отключением TrackHostExits и его постоянным использованием можно выбрать самостоятельно с помощью параметра TrackHostExitsExpire — периода в секундах, по истечении которого таблица соответствий домен↔цепочка будет принудительно очищена.