Разработать дополнительные методы для протокола BitTorrent v2

110 000 руб. за проект
18 февраля 2023, 21:14 • 4 отклика • 72 просмотра
Нам нужно реализовать функции в Boost библиотеке BitTorrent (адрес), чтобы сделать возможной функцию межроевого сидирования. Поскольку новый стандарт поддерживает корневые хэши merkle файлов внутри инфо словаря каждого .torrent, мы могли бы их хранить в памяти и сообщать о файлах, которые у нас есть, в DHT, чтобы другие клиенты могли находить и загружать их, не завися от info хэша торрента.


1) функция для создания нового инфо словаря для отдельных файлов в торренте версии v2
2) алгоритм для определения того, какие файлы являются достаточно значимыми, чтобы гарантировать создание отдельного торрента (поскольку с announce в DHT связаны затраты)
3) Разработать методы для announce с одного торрента нескольких инфо хэшей (для отдельных файлов) в DHT.
4) поддержка одноранговых узлов для ограниченного просмотра торрента, где он может просматривать (и индексировать) только однофайловый торрент. Это может потребовать перевода индексов элементов во все взаимодействия с одноранговым узлом и из них. Должна быть какая-то абстракция, которая позволила бы изолировать этот перевод. Возможно, дополнительная ссылка на объект torrent.
5) Потребуется принять некоторые решения API относительно того, будут ли эти дополнительные однофайловые торренты видны клиентам и в какой степени. Клиент должен иметь контроль над тем, какие файлы выбираются для преобразования в однофайловые торренты.
6) Используя легковесную библиотеку для форматов rar, zip, iso, 7z архивов, кешировать корневые merkle хеши внутри архивов.