Сделать на php, на других языках я и сам сделал
Дано:
На вход подаётся:
1)ИнфоХеш,
2)IP:PORT
Выход:
1)Имя торрента
2)Массив со списком всех файлов торрента.
или
Ответ по протоколу(нет торрента/клиент не доступен)
Проверка:
Вы включите демонстрацию экрана и показываете, что код работает(дам пару хешей и ip на проверку),
Возможности и настройки хостинга как у hostinger.ru (Премиум Хостинг)
Описание кратко:
Требуется написать минимальное количество запросов, для получения части метаданных торрент файла(Название торрента, имена файлов). Примерная реализация описана здесь
http://www.bittorrent.org/beps/bep_0009.htmlОписание полно:
Мне известно, что для получения метаданных нужно отправить DHT запрос get_peers(удачно получаю).
Если узнали у какого узла есть 100% содержание файлов, значит этот узел может дать информацию о торренте.
Для этого надо сделать запрос рукопожатия по BitTorrent protocol-у (с этим проблема).
Затем отправить запрос на получение первой части метаданных с расширенным сообщением "d8:msg_typei0e5:piecei0ee"
Готово! Цель достигнут. Мы получили название торрента и список файлов.
Вот ПРИМЕР кода (это НЕ значит что его надо ОБЯЗАТЕЛЬНО использовать)
https://github.com/cuijun123/phpDhtSpider/blob/69a4677e178ccae97badf06d7a4132c1a66e07ca/dht_client_v2(task)/inc/Metadata.class.php
Предупреждаю сразу у многих проблема с получение рукопожатия(check_handshake)
В классе реализовано, почти всё что мне надо, запросы рукопожатия и получения метаданных торрента зная только ИнфоХеш, минусом(работа не будет принята) является зависимость от swoole 1.9.18 , нужно переписать (если брать код за основу) на любой стандартные функционал udp/tcp (socket_create/stream_socket/fsockopen/curl).
Если возникнут вопросы , пишите мне.
Отговорки о невозможности реализовать, не принимаются и задание считается не выполненым..
9-ая .....
F.A.Q.
1)Обязательно php ?, давай питон или другие языки...
О: ДА обязательно php
2)Бюджет поднимите?
О:
Прикинем в месяце 4 недели = 20 дней работы
я на c# за 3 дня сделал(первый раз взялся) 20/3*5к= 33к (зп/месяц)
на java 1 день = 100к зп
питон тоже 1 день(если считать что в день 8 часов то я его даже не полностью отработал) = 100к зп
Я считаю получить такую денежку за пару часов работы это норм, сам был студентом и среднее 50к зп. считаю нормальным для начала. + задача обрезана.
+ люди выставляют свои ценники 800-1700 в час
это 6-3 часов работы за 5к думаю за это время можно справится а если не успевают так я подожду(по 2 недели жду и они пропадают)
по задаче надо 2 запроса отправить и 2 раза получить ответ + рукопожатие и согласие...вроде.
короче не вижу смысла подымать.