Добавление ретрекеров. |
Здравствуйте, гость ( Вход | Регистрация )
Добавление ретрекеров. |
![]()
Сообщение
#1
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 ![]() |
Обсуждаем, вносим предложения, жалуемся на ошибки.
Ещё раз напоминаю адрес нового списка ретрекеров: http://re-tracker.ru/trackerslist.php -------------------- |
|
|
![]() |
![]()
Сообщение
#2
|
|
Участник ![]() ![]() Группа: Пользователи Сообщений: 13 Регистрация: 23.3.2009 Пользователь №: 941 ![]() |
Цитата С возвращением, последний раз вы были здесь: 7.1.2012, 9:11 ^ Ничего себе! Привет, друзья! Меня зовут Ваня Сорокин, я тот самый unxed, который изобрел ретрекеры. Подумал, и, похоже, изобрёл их второй раз. Идея такая: модифицируем код клиента, чтобы он, вместе с обычным анонсом на трекер, слал ещё один точно такой же анонс в DHT, только вместо инфохэша использовал ХЭШ(ХЭШ_ИСХОДНОГО_ТОРРЕНТА + ВНЕШНИЙ_IP_КЛИЕНТА) А в качестве IP указывал провайдерский IP из локального диапазона. Естественно, если провайдерский IP — внешний, это всё делать не нужно. Понимаете, да? Если внешний айпи у двух клиентов совпадает, то они, вероятно, сидят из одного NAT'а, и смогут через обычную DHT, без всяких retracker.local и патчей узнавать локальные IP друг друга. Как вам? Как по мне, выглядит красиво. И если DHT позволяет указывать в качестве своего IP что угодно — должно сработать. Но нужна поддержка в клиентах. Я мог бы попробовать в qBittorrent добавить такое, например. UPD: Смотрю в исходники libtorrent-rasterbar, файл src/kademlia/dht_storage.cpp Код void announce_peer(sha1_hash const& info_hash , tcp::endpoint const& endp , string_view name, bool const seed) override — выходит, в DHT действительно можно сохранить произвольную пару IP:port для некоего хэша. То есть концепция рабочая. UPD#2: Как определять провайдерский IP из локального диапазона, если клиент за роутером? По UPNP. Если UPNP выключен или не отвечает, использовать локальный адрес устройства. UPD#3: Возможное решение для самого частого кейса: Windows + uTorrent. Приложение, висит в трее, работает ретрекером на локалхосте, данные хранит/получает из DHT, как описано выше. Также следит, чтобы в hosts retracker.local смотрел на localhost (можно использовать 127.0.0.14 или что-нибудь такое, чтоб не мешать пользовательским HTTP серверам), если нужной записи нет, даёт создать одной кнопкой. И ещё пусть проверяет, что uPNP на роутере работает (если нет, рассказывает, как настроить). |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 1.7.2025, 9:27 |