68еместо

3

голоса

Удалять из торрентов атрибут Private

Сейчас, при получении магнет-ссылки на торрент с Private атрибутом (обычно Lost и NovaFim), клиент успевает до получения самого торрента получить несколько адресов из DHT. Но после его получения, дальнейшие обновления адресов DHT и PEX запрещены. Если файл еще не скачан, а пиров по этим адресам уже нет - раздача остается недокачаной.
Эти же файлы (серии) легко находятся клиентом по хэшу от того же торрент-файла, только с удаленным атрибутом Private. Не установленным в 0, а именно удаленным.
Предлагаю, в магнет-ссылку включать хэш от модифицированного торрента.

Lecron, 18.04.2013, 20:22
Официальный ответ
drfreez, 19.04.2013
Сделаю прокси трекер
Статус идеи: запланировано

Комментарии

drfreez, 18.04.2013, 20:54
Если я изменю атрибут это будет считаться уже другой раздачей, потому что хэш изменится. Без атрибута private вам повезло найти пиров только потому, что кто-то пересоздал раздачу без private.

Оригинал
magnet:?xt=urn:btih:bdabeaed9433699081be7bfb87190a96ac8a2e35&dn=Hawaii.Five-0.S03E20.HD.rus.LostFilm.TV.mkv

Без private
magnet:?xt=urn:btih:729dc0b2d6b607788cd0a134856423b055a4e458&dn=Hawaii.Five-0.S03E20.HD.rus.LostFilm.TV.mkv

ни одного пира нет, можете попробовать.
Lecron, 18.04.2013, 21:09
Я знаю, что хэш изменится, и фактически это будет другая раздача.
Так же признаю, что погорячился. Не проверил до конца. Все зависит от того, как модернизировали торент при создании новой раздачи. А вариантов у них несколько, что полностью исключает мое предложение. Извините.

Grimm с LostFilm. Оригинальная раздача - пока клиент не считал из торрента приватный атрибут, он успел найти 10 пиров. При измененной - 189.
Borgias с LostFilm. Оригинальная раздача - 11 пиров. При измененой - 350.
Только проблема в том, что у "Грима" в измененной раздаче удалены поля Private и Source, а у "Борджиа" - только Private. При других вариантах изменений - пиров 0.

Но может есть другой вариант решения проблемы?
Это же не дело. Перезагрузка компа/клиента или даже hibernate компьютера на ночь - и приехали, докачка не возобновляется.
drfreez, 18.04.2013, 21:28
Deluge спокойно качал, пиры менялись. Пробовал даже клиент перезапустить, всё равно появлялись новые пиры. Дайте хеши для оригинальной и измененной раздачи.
Lecron, 18.04.2013, 21:45
Значит это зависит от клиента. У меня uTorrent 3.1.3. Предыдущие версии вели себя аналогично. И это правильно. По стандарту.
Процедура такова: клиент получает магнет, получает адреса пиров из DHT (любопытно, откуда они там появились, если работа с DHT для данной раздачи запрещена?), от одного или нескольких пиров скачивает сам торрент-файл, читает из него атрибуты, блокирует работу с DHT, начинает качать саму раздачу от уже найденных пиров.

Оригинальные
magnet:?xt=urn:btih:11782510687437ee58a6fcf103d1dec85a805bb8&dn=The.Borgias.S03E01.720p.rus.LostFilm.TV.mkv
magnet:?xt=urn:btih:e18b9d20ae6762c08dd2a2edc553d65c1360b8a9&dn=Grimm.S02E17.720p.rus.LostFilm.TV.mkv
Измененные
magnet:?xt=urn:btih:F2D56AA6D41B21C3499B23D0AA03BEC3CCB0F218&dn=The.Borgias.S03E01.720p.rus.LostFilm.TV.mkv
magnet:?xt=urn:btih:2141B7DE3852293CC019A0CD20FFD820C47FDBD7&dn=Grimm.S02E17.720p.rus.LostFilm.TV.mkv

Фактически, для uTorrent, работа через магнеты с LostFilm и NovaFilm удачна с вероятностью 50 на 50. Если канал быстрый; закачка началась сразу, а не встала в очередь; если закончилась до момента перезагрузки клиента или длительного усыпления компьютера - все хорошо. Иначе - облом.
Осталось найти сайт с посерийными раздачами и уговорить вас подключить его к сервису.
drfreez, 18.04.2013, 21:53
https://www.google.ru/search?client=opera&q=F2D56AA6D41B21C3499B23D0AA03BEC3CCB0F218&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest

Вот и всё объяснение. Просто кто-то пересоздал раздачу.

Подумаю, что можно сделать.
Lecron, 18.04.2013, 22:10
Я так и понял. Угадать, с какими параметрами пересоздадут раздачу невозможно.
Если планируете подумать - рискну предложить. Поднять ретрекер, который хранит адреса не только обратившихся к нему клиентов, а который сам будет синхронизироваться с DHT, и добавить его адрес в магент-ссылку. Этакий мост DHT -> Ретрекер -> клиент.
drfreez, 19.04.2013, 16:00
Чтобы такое провернуть придётся постоянно мониторить ~20к раздач.
Всё, что я могу предложить, это:
1) зарегистрироваться и добавлять ссылку на трекер
2) вооружиться HEX редактором и поломать проверку private flag

Потом сделаю, чтобы можно было сохранять ваши приватные ключи с трекеров, чтобы сразу добавлять в magnet ссылку на трекер с вашим ключём.
Lecron, 19.04.2013, 16:48
За ссылки спасибо. Попробую. Но для этого необходим высокий уровень всех пользователей сервиса.

Что значит мониторить ~20к раздач? Я не про это говорил. Хотя возможно я не правильно понимаю механизмы.
1. Ссылку на поднятый вами ретрекер нужно будет включать только в магнеты, торрент которых содержит данный флаг. Вы же скачиваете сам торрент, для определения хэша? А значит и проанализировать данный флаг не проблема. Данных раздач не так много, чтобы создать существенную нагрузку.
2. Обращаться в дальнейшем к оригинальным ресурсам нет необходимости. Поднятый ретрекер, будет выполнять роль классического ретрекера + __DHT прокси с кэшированием__.
Допустим, время жизни кэша - 1 час. Клиент обращается к ретрекеру за адресами пиров. Если в базе/кэше нет данных или они просрочены, то трекер их запрашивает из DHT и кэширует. Затем отдает запросившему их клиенту в формате ответа обычного ретрекера. Если для данного торрента есть актуальные данные в кэше, они напрямую отдаются из базы.
Для первого запроса, чтобы не задерживать ответ на время общения с DHT, можно отдать данные только других пользователей ретрекера, а при следующих - включать также адреса из DHT.
При желании можно анонсировать в DHT адреса обратившихся клиентов, тем самым, полностью соответствуя идеологии.
drfreez, 19.04.2013, 17:08
Понял. Но сделаю лучше, дабы не тратить время на поиски через DHT буду запрашивать пиры с трекера. Это проще и быстрее. Правда времени нет, поэтому не знаю когда получится всё это реализовать.
Lecron, 19.04.2013, 17:30
И надежнее. Причем намного. Так как в DHT пиров может вообще не быть. Все-таки работа с ним запрещена Приватным флагом.
Спасибо. Будем ждать.
drfreez, 19.04.2013, 16:05
http://rutracker.org/forum/viewtopic.php?t=4338936
http://dml.compkaluga.ru/forum/index.php?showtopic=54412
drfreez, 03.05.2013, 21:01
С трекерами на XBT возникнут проблемы. У них хорошая защита приватных торрентов.
Проблема в том, что ссылки на анонсы можно получить только из торрента, а на некоторых трекерах ограниченное количество скачиваемых торрентов в сутки.
Lecron, 03.05.2013, 22:41
Ограничение на количество скачиваний не так критично. У них не так много анонсов за сутки.
бОольшая проблема, что активно может быть ограниченное количество торрентов. Обычно около 50. Если их станет больше, придется организовывать ротацию.
Если число обслуживаемых торрентов - S, а предел - P, минимальный период неактивности торрента - T, то каждый час нужно будет снимать "с раздачи" (S-P)/T торрентов и такое же количество из пула неактивных ставить "на раздачу".
Тогда все торренты будут иметь достаточно акуальные данные по пирам.

В принципе, эту проблему можно обойти еще одним способом. Намного более простым. Вы фактически уже будете использовать один "фэйковый" аккаунт. Он будет получать пиров, но участвовать в раздаче не будет. Так в чем проблема, завести их несколько, два, три, а если надо, то и четыре?

Оставить комментарий