@More11o

Получить количество сидов/пиров торрента?

При помощи библиотеки torrent-rw смог получить инфйормацию о торрент файле: список анонсеров, hash info, размер файла и т.п.
Теперь мне нужно получить количество сидов/пиров от анонсеров.
Знаю что нужно отправить GET запрос к анонсеру и передать хеш-сумму. Может мне кто-нибкудь помочь правильно сформировать запрос и расшифровать полученные данные?
UPD
Покопавшись в библиотеке torrent-rw, нашел там функцию scrape. Вроде как она отвечает за вывод статистики, но при ее вызове получаю в ответ такой массив:
{ ["[2001:67c:28f8:92::1111:1]:2710"]=> string(29) "Tracker request timeout (30s)" ["ipv6.leechers-paradise.org:6969"]=> string(29) "Tracker request timeout (30s)" ["tracker.filetracker.pl:8089/scrape"]=> string(29) "Tracker request timeout (30s)" ["tracker2.wasabii.com.tw:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["46.148.18.250:2710"]=> string(29) "Tracker request timeout (30s)" ["retracker.local/scrape"]=> string(29) "Tracker request timeout (30s)" ["tracker.grepler.com:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["opentor.org:2710"]=> string(29) "Tracker request timeout (30s)" ["87.248.186.252:8080/scrape"]=> string(29) "Tracker request timeout (30s)" ["125.227.35.196:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["tracker.tiny-vps.com:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["210.244.71.25:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["46.4.109.148:6969/scrape"]=> string(29) "Tracker request timeout (30s)" ["tracker.dler.org:6969/scrape"]=> string(29) "Tracker request timeout (30s)" } )
  • Вопрос задан
  • 1048 просмотров
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Это не такая простая задача как может показаться.
Во-первых, раздача может быть без трекера. Во-вторых, если там трекер есть - он может показывать не всех пиров для неё.
Наиболее правильным (в плане отображения корректных значений) решением было бы при наличии трекера спросить список пиров у него, а потом дополнить этот список результатом опроса по DHT. Но это уже значительно более долгая и гораздо менее тривиальная нежели GET-запрос задача. Тут уже придётся работать с протоколом BitTorrent.
Кстати, анонсер может работать и не по HTTP. Так что даже если отбросить уточнение по DHT может быть мало одного GET.
Ответ написан
@MaxPyane
Вот либа для правильного декодирования содержимого торрент файла
https://github.com/christeredvartsen/php-bittorrent

А для получения статистики гугли что-то типа udp/http scrapers. Там принцип простой отправка пакетов через сокеты, можно даже самому написать, 100 строк максимум, все интуитивно, отправляешь запрос смотришь что приходит, расшифровываешь, главное правильно декодировать файл чтобы хэш-код был верен ибо не найдешь пиров никогда или найдешь неверных пиров ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
22 янв. 2021, в 03:22
3000 руб./за проект
22 янв. 2021, в 02:27
15000 руб./за проект
22 янв. 2021, в 02:25
15000 руб./за проект