Как узнать количество семян / сверстников для торрента в PHP

Когда вы размещаете файл .torrent для загрузки на своем веб-сайте, как вы можете получить количество Seeds & Peers для этого Torrent и сообщить пользователю о них?

Вам необходимо связаться с трекером (-ами), который показан в torrent-файле. Если трекер поддерживает «соскабливание», это, вероятно, запрос, который вы хотите. В противном случае, вплоть до трекера, чтобы решить, сколько ровесников он хочет вернуться к вам, и вы не представляете, являются ли эти сверстники семенами или пиявками, прежде чем обращаться к ним.

Torrentfile находится в формате bencoded, ищите библиотеку php bdecode для простого анализа информации.

Предоставьте infohash, который вы получите из информации о частях в метаданных, и трекер ответит, если вы будете следовать протоколу, прочитайте http://en.wikipedia.org/wiki/BitTorrent_%28protocol%29 для получения дополнительной информации

Вы очистите трекер, отправив ему HTTP-запрос GET с URL-адресом, сформированным, как описано в http://wiki.theory.org/BitTorrentSpecification#Tracker_.27scrape.27_Convention. URL-адрес scrape получен из URL-адреса анонса ) в ключах «анонс» и «анонс-список» в metainfo.

Ответ трекера описан в той же ссылке wiki.theory.org. Он включает в себя подсчеты сеялки / лекаря, которые вы ищете.

Обратите внимание, что современные .torrent-файлы обычно содержат несколько трекеров, включенных в их список-анонс, поэтому вам может понадобиться очистить более одного для получения более подробной информации. Однако у вас нет возможности узнать, какие пэры перекрываются от трекера A до трекера B, поэтому лучшее, что вы действительно можете сделать, скремблировать несколько трекеров, – это предложить диапазон минимального / максимального количества лексеров и сеялок в рое ,