Настройка торрент-клиента на работу через 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, описано в статье по его настройке.


Файл:Privoxy 03.png
Окно работающего прокси-сервера.

Окно работающего прокси-сервера. В нём вы увидите все запросы, которые ваш торрент-клиент делает к серверам-трекерам. Если будут возникать какие-то ошибки соединений, они выделяются синим цветом.


Файл:UTorrent Preferences Connection.png
Настройка μTorrent на работу через HTTP-прокси.

Теперь запустите свой торрент-клиент и зайдите в его настройки. Здесь дано изображение окна сетевых настроек клиента µ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 — периода в секундах, по истечении которого таблица соответствий домен↔цепочка будет принудительно очищена.