Сегодня состоялся релиз 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 из коробки.
Мы не пошли по общему методу "и так работает".
Я также надеюсь, что эти несколько месяцев баг фиксов и улучшений кода будут полезны администраторам ресурсов.
Автор:
kovalensky