TorrentPier — первый движок торрент-трекера с поддержкой BitTorrent v2
- четверг, 4 января 2024 г. в 00:00:16
Сегодня состоялся релиз TorrentPier Cattle.
Думаю многие знакомы с порталами Rutracker, NNMClub и т.п., которые оперируют на данном движке, хоть они и давно не обновлялись.
Спустя несколько месяцев разработки, рады вам сообщить о переходе на PHP 8.1, поддержке BitTorrent v2, исправленных уязвимостях, и других новых функциях, которые последуют в этой статье.
Начнём с BitTorrent v2 (статья на русском). Это следующая версия протокола BitTorrent, которая имеет ряд улучшений:
Так как хеш каждого файла вшит в торрент файл, клиенты не тратят трафик на скачивание дубликатов.
Хеш дерево Меркля и вложенность структуры папок, позволяет сократить размер торрент файлов.
Благодаря хеш дереву, для проверки на битость части файла, необходимо скачать лишь 16Кб листа, раньше приходилось скачивать вcю часть.
За счёт выравнивания частей (BEP-47), данные каждого файла начинаются на новой части, таким образом при скачивании отдельных файлов, пользователям не приходится скачивать и хранить часть других файлов, это файлы ."parts", ".dat" и т.д.
Можно скачивать раздачу без дубликатов файлов (станет возможным на следующей версии торрент-библиотеки libtorrent).
В движке реализована отдельная страница для показа информации о содержимом v2 поддерживаемых торрент файлов, таких как клиент, дата создания, имена файлов, их хеши. Это позволяет поисковикам кешировать эту информацию, как в DHT индексаторах, что поможет вашим пользователям находить отдельные файлы по их хешу, имени файла, направляясь на ваш ресурс.
Поддержка IPv6 (по стандарту BEP 7), форум его тоже теперь поддерживает.
Переработанная система кеша (анонсер+скрейп), для значительного снижения нагрузки на трекер.
Multi-scrape (BEP 48), позволяет торрент-клиентам узнавать количество раздающих/скачивающих без обращения к анонсеру. Скрейп не затратен как анонсер, так как не записывает в базу данные и даёт возможность торрент-клиентам показывать реальную статистику, помогать в раздаче, если соотношение раздающих/скачивающих требует этого.
Показ полных скачиваний (сколько раз этот торрент скачали, со всеми файлами).
Показ торрент-клиентов пользователей на статистиках раздач.
Показ последнего раздающего бывшего на раздаче.
Показ числа торрент-клиентов в статистике трекера администраторской панели, также возможность гибкой корелляции версий этих клиентов.
В анонсере список пиров сортируется с приоритетом на скачивающих, что позволяет улучшить связность роя.
Закрыты две критические уязвимости.
Инвайт коды по событиям.
Кнопка "Спасибо".
Поддержка .webp изображений.
Поддержка IDN доменов.
Бан торрент-клиентов или их версий.
Увеличена длина passkey (предыдущие будут работать).
Раздачи можно просматривать и скачивать напрямую с Atom (настраиваемо в config.php).
Инфо-хеши замороженных раздач теперь не показываются, их нельзя скачать, даже через dl.php.
Показ информации о бан-статусе пользователя в теме и профиле.
Флаги стран в профиле.
И многое другое.
Установка движка теперь очень простая, он поддерживает composer и нетребователен к ресурсам, любой желающий может создать свой публичный/приватный торрент-трекер.
TorrentPier — первый торрент-движок, который поддерживает BitTorrent v2 из коробки.
Мы не пошли по общему методу "и так работает".
Я также надеюсь, что эти несколько месяцев баг фиксов и улучшений кода будут полезны администраторам ресурсов.