BitTorrent protocol & DHT PHP

5 000 руб. за проект
09 сентября 2019, 22:11 • 3 отклика • 32 просмотра
Кратко:
Требуется написать минимальное количество запросов, для получения части метаданных торрент файла(Название торрента, имена файлов). Примерная реализация описана здесь http://www.bittorrent.org/beps/bep_0009.html

Полно:
Мне известно, что для получения метаданных нужно отправить DHT запрос get_peers(удачно получаю).
Если узнали у какого узла есть 100% содержание файлов, значит этот узел может дать информацию о торренте.
Для этого надо сделать запрос рукопожатия по BitTorrent protocol-у (с этим проблема).
Затем отправить запрос на получение первой части метаданных с расширенным сообщением "d8:msg_typei0e5:piecei0ee"
Готово! Цель достигнут. Мы получили название торрента и список файлов.

Вот пример кода https://github.com/cuijun123/phpDhtSpider/blob/...
В классе реализовано, почти всё что мне надо, запросы рукопожатия и получения метаданных торрента зная только ИнфоХеш, минусом является зависимость от swoole 1.9.18 , нужно переписать (если брать код за основу) на любой стандартные функционал(socket_create/stream_socket/fsockopen/curl).

Дано:
На вход подаётся ИнфоХеш, IP:PORT клиента у которого есть торрент
Максимальное время ожидание ответа от клиента DHT 45сек.

Проверка:
Вы включите демонстрацию экрана и показываете, что код работает(дам пару хешей и ip на проверку),
Возможности и настройки хостинга как у hostinger.ru (Премиум Хостинг)

Условия оплаты, Вы демонстрируете работу скрипта, я делаю предоплату 50%.
Вы передаёте мне код, и проверяете правильность запуска(помогаете получить запрос).

Можем обговорить цену.