Про BitTorrent v2, улучшения анонсера и многое другое — TorrentPier 2.4.0.

Started by kovalensky on 2023-12-09 17:14 — 2 replies, 1636 views

#1
BitTorrent v2 это следующая версия протокола BitTorrent, которая имеет ряд улучшений:

- Так как хеш каждого файла вшит в торрент файл, клиенты не тратят трафик на скачивание дубликатов.

- Хеш дерево Меркля и вложенность структуры папок, позволяет сократить размер торрент файлов.

- Благодаря хеш дереву, для проверки на битость части файла, необходимо скачать лишь 16Кб листа, раньше приходилось скачивать вcю часть.

- За счёт выравнивания частей (BEP-47), данные каждого файла начинаются на новой части, таким образом при скачивании отдельных файлов, пользователям не приходится скачивать и хранить часть других файлов.

- Можно скачивать раздачу без дубликатов файлов (станет возможно на следующей версии торрент-библиотеки libtorrent).

В движке реализована отдельная страница для показа информации о содержимом v2 поддерживаемых торрент файлов, таких как клиент, дата создания, имена файлов, их хеши.

По идее это позволит поисковикам кешировать эту информацию, как в DHT индексаторах, что поможет вашим пользователям находить отдельные файлы по их хешу, имени файла, направляясь на ваш ресурс.

Spoiler content hidden.

Функция отключается для незарегистрированных пользователей, при условии:

1) Ваш трекер приватный, вы отключили поддержку DHT.

2) Создатель включил приватность торрента в клиенте.

Из улучшений анонсера (да-да, мы и над ним поработали, спустя несколько лет):

- Поддержка IPv6 (по стандарту BEP 7), форум его тоже теперь поддерживает.

- Переработанная система кеша (анонсер+скрейп), для значительного снижения нагрузки на трекер.

- Multi-scrape (BEP 48), позволяет торрент-клиентам узнавать количество раздающих/скачивающих без обращения к анонсеру.

Скрейп не затратен как анонсер, так как не записывает в базу данные и даёт возможность торрент-клиентам показывать реальную статистику, помогать в раздаче, если соотношение раздающих/скачивающих требует этого.

- Показ полных скачиваний (сколько раз этот торрент скачали, со всеми файлами).

- Показ торрент-клиентов пользователей на статистиках раздач.
Spoiler content hidden.

- Показ последнего раздающего бывшего на раздаче.
Spoiler content hidden.

- Показ числа торрент-клиентов в статистике трекера администраторской панели, также возможность гибкой корелляции версий этих клиентов.
Spoiler content hidden.

- В анонсере список пиров сортируется с приоритетом на скачивающих, что позволяет улучшить связность роя.

Другие улучшения:

- Движок перешёл на PHP 8.1, что даёт кратное ускорение благодаря компиляции JIT, не забудьте включить его в php.ini.

Spoiler content hidden.

- Закрыты две критические уязвимости.
- Инвайт коды по событиям.
- Кнопка "Спасибо".
- Поддержка .webp изображений.
- Поддержка IDN доменов.
- Бан торрент-клиентов или их версий.
- Увеличена длина passkey (предыдущие будут работать).
- Раздачи можно просматривать и скачивать напрямую с Atom (настраиваемо в config.php).
- Инфо-хеши замороженных раздач теперь не показываются, их нельзя скачать, даже через dl.php.
- Показ информации о бан статусе пользователя в теме и профиле.
- Флаги стран в профиле.
И многое другое.



TorrentPier — первый торрент-движок, который поддерживает BitTorrent v2 из коробки. Мы не пошли по общему методу "и так работает".
Я также надеюсь, что эти несколько месяцев баг фиксов и улучшений кода будут полезны администраторам ресурсов.

Нынешняя стадия движка — RC1.
~ 15-го числа релиз RC2.
На Новый Год планируем выпустить стабильную версию, так что ещё раз попрошу пользователей начать мигрировать.

Спасибо, что с нами.
#2
Проводилось ли исследование, сколько пользователей торентов используют клиенты с поддержкой второй версии? Как совместить использование загруженого торрент-файла v2 с тем что его никто не сможет скачать?
#3
Pole
Исследования не было, потому что нет единой статистики, кто каким клиентом пользуется.

Если есть опасения совместимости, то пользователи свободны создавать гибридный формат (опция hybrid в клиенте), который совмещает в себе оба протокола (v1 + v2).
Вы можете запретить загрузку v2-only торрентов в config.php.

Скачать v2-only торрент, смогут пользователи с клиентами, которые его поддерживают, на данный момент из популярных на слуху qBittorrent, BiglyBT, PicoTorrent, Tixati и т.д.