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