Згортаю інстанс βtracker

Слідом за форумом спільноти, закриваю й сервіс βtracker.

Анонс концепції та реалізація - коротко були описані тут:

βtracker - BitTorrent агрегатор на базі Rust

Рішення про закриття не є спонтанним, але усвідомленим в процесі експерименту створення агрегаційного каталогу з нахилом на автоматизацію та відсутність модерації зокрема та міркувань стосовно його подальших перспектив у процесі розробки та адміністрування.

Морально-етична та юридична складові

Не дивлячись на те, що концепція "автоматики" виявилась на диво успішною, останній нюанс з модерацією почав викликати у мене сумніви: адже рано чи пізно хтось почне публікувати відвертий, провокативний (для когось або для мене самого) вміст, а я не хочу тому сприяти і брати на себе роль модератора у світі, де "добро" і "зло" - поняття відносні та для кожного свої.

У цьому плані, навіть анонімні ресурси приховують відвертий вміст через очевидні юридичні ризики: іпсайти (eepsite) не є панацеєю, завжди існує ймовірність помилки, на кожного розумного - рано чи пізно знайдеться розумніший. Отже, просто "закрити очі" не вийде, адже дані зберігаються у вас.

Вектором для розвитку свободи волевиявлення, я бачу не централізовані сервіси, якими є глобальні каталоги (та у даному випадку - агрегатор), але окремі, без "критичної маси". Таким ресурсом може бути легальний для своєї громади каталог тематичного контенту, персональний / self-hosted блог, або D-індекс:

KevaCoin - децентралізована база даних в блокчейн

Ще одним, юридично "чистим" рішенням, може бути публікація трекером дампу інфо-хешів. Зокрема, засобами вже наявної в рамках комплексу βtracker реалізації трекера Aquatic:

info-hash-api

Таким чином, користувачі можуть розгортати локальні, незалежні інстанси βtracker на основі обраних ними трекерів та їх мереж.

Відсутність попиту

Саме цей інстанс працював для мережі Yggdrasil, що як мені здається поступово втрачає свою популярність в сегменті "живого" контенту. І не дарма: як мені стало очевидним згодом, оверлейні мережі - це низькорівневий засіб комутації пристроїв, а не підґрунтя для соціальних платформ.

Безумовно, Yggdrasil зручний для передачі файлів засобами BitTorrent, оскільки надає сотню "безкоштовних VPN" а звідти - певні засоби маскування трафіку. Утім, я не впевнений, що ця мережа потягне поточний канал Інтернет при мінімальній цікавості натовпу до такого способу. Отже, доведеться шукати іншу, менш завантажену мережу, а звідти - постає питання абсолютної не сумісності клієнтських застосунків дюал-стек IPv4/IPv6 щодо мульти-стек IPv6.

Проблем тут багато, і більшість з них - через намагання використовувати низькорівневий роутинг для високорівневих задач. В контексті торентів, мені навіть більше імпонує варіант I2P, роутер якого може працювати з будь якою мережею; при тому сама технологія BitTorrent тут дійсно виправдана за рахунок приватного розгону швидкості, в плані конкуренції з сучасним оптичним каналом та онлайн-кінотеатрами.

Поточний статус

Торент-трекер все ще працює і я не планую його вимикати. Звичайний сервер UDP - не кешує сумнівний контент безпосередньо, лише хеші. Тому він працюватиме настільки довго, наскільки в мене вистачить можливостей його тримати на волонтерських засадах.

Плани з подальшої розробки

Стосовно кодової бази - в осяжній перспективі, актуальними є наступні моменти:

Модерація

Так як рано чи пізно перед власником інстансу βtracker постане питання модерації, я вже встиг підготуватись для себе, створивши відповідний PR#497:

Якщо коротко, то я бачу реалізацію в певній "реєстрації" перевірених пірів через форму на сайті або PR в певний реєстр. Таким чином, не перевірені піри просто не будуть резольвитись і потрапляти в каталог, а при зловживанні правилами - можуть бути легко виключені з білого списку. Це моя особиста концепція само-захисту як провайдера, поки не імплементована через малу кількість користувачів та відсутність інцидентів, у вас вона може бути іншою.

Так як цей агрегатор працював виключно в мережі Yggdrasil, мені ще якось підказали варіант з майнингом адрес. Тобто можна вимагати від користувачів певних витрат ресурсу CPU для створення "складних" префіксів 0200::/7 які можна буде так само банити у разі порушення правил, а нові - буде важко відтворювати у короткий термін. Це сценарій для супер-популярного трекера, а не локального на "два з половиною" користувача.

Стабільний реліз

Заплановано стабілізацію компонента aquatic-crawler на crates.io: автор залежності librqbit довго телиться зі стабільним релізом дев'ятої версії, хоча версія aquatic-crawler (v0.2) вже давно стабільна в репозиторії, а на crates - досі вісить v0.1:

Do It Yourself

Якщо хтось бажає створити подібний сервіс - будь ласка: вихідний код усіх його компонентів відкритий і доступний на GitHub за ліцензією MIT:

btracker - Веб-каталог
btracker-gemini - Імплементація каталогу для Gemini
aquatic-crawler - Кравлер та резольвер бінарних інфо-хешів