Добрый день, уважаемые пользователи. А начну я свой рассказ с отрицательных комментариев ко всем торрент-трекерам, которые сейчас можно найти в глобальной паутине. Совсем не легко ввиду новых «чудо»-законов стало скачивать раздачи. Вот как сейчас построен путь от желания до просмотра желаемого [фильма]:
- google -> «скачать [название] торрент»
- смотрим несколько блокированных сайтов нашим ув. гос-вом
- смотрим
порнорекламу - качаем торрент файл (на самом деле это может оказаться ".exe")
- при плохом раскладе становимся частью ботнета, если не успеваем понять, что что-то не так
- повторяем несколько раз итерации с пункта 1
- качаем раздачу
- черт, отвратительная озвучка, переходим к п.1
«Используйте тор, i2p или другие прокси» — скажете вы. Но если, допустим, я домохозяйка с тремя детьми — я не то, чтобы не хочу этим заморачиваться, я вообще не знаю об их существовании. Потому как вариантов не посмотреть мегабайт-другой рекламы перед нахождением заветной раздачи я просто не знаю. Да что там домохозяйка — это проблемы вполне опытного пользователя пк.
Вот уже на протяжении некоторого времени мы разрабатываем приложение, которое будет предоставлять пользователю все возможности торрент-трекера, но абсолютно без цензуры**. (Сразу хочу отметить, что разработка некоммерческая, все исходники доступны на github, но об этом чуть позже).
Простота использования для конечного пользователя
- Скачал программу (~10 мб)
- Ввел поисковый запрос, кнопка «Find»
- Получил поисковую выдачу, нажал «скачать», (в данный момент доступно ~1500000 раздач, повзаимствованным тут)
- Открылся торрент-клиент по-умолчанию, пошла скачка
- без рекламы, без цензуры**
Захотели раздать?
- Нажали раздать
- Заполнили необходимую информацию о раздаче, загрузили торрент, автоматически посчитался размер и hash
- Нажали «добавить»
- После проверки торрент будет доступен для всех
Акцент на usability → max, отсутствие рекламы, отсутствие влияния правительства на список раздач.
Что происходит за ширмой
Реализация представляет из себя клиент-серверное приложение, написанное на Qt.
Клиент:
- при запуске клиент в фоновом режиме создает прокси сервер Tor`а***, к которому подключится клиент
- запрос уходит на один из серверов на домене .onion, который уже располагается в анонимной сети Tor***
- клиент и сервер обмениваются информацией (получение/отправка поисковых запросов, добавление раздач...)
Сервер:
- прослушивает соединения от клиента в сети Tor***
- обменивается информацией с клиентами и базой торрентов
Устойчивость к блокировкам и просто устойчивость
- Всех клиентов случайным образом расформировывает по доступным серверам (уменьшаем нагрузку за счет увеличения серверов)
- Сервер слушает в анонимной сети Tor, что гарантирует его анонимность. Т.е. по сути никто не знает физического расположения серверов
Что реализовано в данный момент
- Соединение к одному из доступных серверов (список серверов можно задавать вручную в hosts.ini)
- При запуске программы показываются последние 100 загруженных (и одобренных) раздач
- Спарсено для поиска ~1500000 раздач, взятые тут
- К каждой раздаче отображается количество лайков (можно оставить), загрузок, html описание, дата, итд
- Возможность добавлять раздачи, поддержка html шаблонов описаний для категорий (можете редактировать в template/[имя].html)
Что в планах на ближайшее будущее
- Авторизация пользователей, полная поддержка профиля
- Добавление социальных возможностей (чаты, форумы, запросы… пока думаем)
- Поддержка сразу нескольких анонимных сетей
- Переход на децентрализованное решение
Чем отличается от...
- Мы — некоммерческий проект
- Отсутствие цензуры**
- Отсутствие рекламы
- Usability
- Вся работа через анонимную сеть Tor
Что мы получаем? Все возможности торрент-трекера без каких-либо дополнительных манипуляций с прокси, впн… отсутствие рекламы, отсутствие «глаза правительства».
Минусы системы...
- Централизация (есть идеи ухода от нее)
- Время ожидания запроса достаточно велико (3-7 сек), т.к. общение идет через Tor
- Система позволяет сделать анонимными только серверы
Все проблемы решаемы и мы попытаемся прийти к логическому завершению того, как это должно выглядеть.
** Под «абсолютно без цензуры» и «без модерации» не следует воспринимать буквально, аморальный материал (н-р дтске прно) должно фильтроваться.
*** Tor может быть заменен на любую другую анонимную сеть, все упоминания просто для примера.
**** MySQL бд также была выбрана для примера и на ней проводятся тесты. Легко заменяется на другую.
Спасибо за проявленный интерес. В следующей статье будет подробное разобран код, объяснено как все работает. Думаю тогда уже будет полноценный релиз. Все это с целью найти и исправить ошибки, найти единомышленников и создать что-то новое, анонимное и безопасное.
Распространение
Теперь интересно, в каком виде все это распространять. Естественно полагать, что содержать нам серверы — значит подставлять себя под удар. Лучше мы будем просто разработчиками, которые выпускают данный продукт. Однако содержать сервера мы думаем передать третьим лицам, если таковые найдутся. В любом случае, этот вопрос еще в доработке. Если вас заинтересовала наша идея, то см. ниже. В любом случае, к релизу решение будет найдено.
Информация
Сайт: ourtrack.ru
Подписаться на нашу компанию: habrahabr.ru/company/ourtrack/
Github: github.com/farcost/ourtrack
Почта: ifarcost@gmail.com
jabber: farcost@jabber.ru
P.S. В разработке принимает участие 2-е студентов, потому будьте снисходительны к коду и возможным ошибкам.
P.S.S. Спасибо хабру за "Помощь стартапам", под который мы успешно попали.
Благодарю пользователей чата altroism.org/chat за проявленную помощь.
Благодарю разработчиков "Спасем крупнейшую медиатеку в рунете. Вся база rutracker у Вас на компьютере" за раздачи с описанием и некоторые функции ковертации
Автор: farcost