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

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

Анонс концепції та реалізація - коротко були описані тут:
=> btracker-bittorrent-tracker-in-rust.gmi βtracker - BitTorrent агрегатор на базі Rust

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

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

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

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

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

Ще одним, юридично "чистим" рішенням, може бути публікація трекером дампу інфо-хешів. Зокрема, засобами вже наявної в рамках комплексу βtracker реалізації трекера Aquatic:
=> https://github.com/yggverse/aquatic/tree/info-hash-api info-hash-api
Таким чином, користувачі можуть розгортати локальні, незалежні інстанси βtracker на основі обраних ними трекерів та їх мереж.

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

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

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

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

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

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

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

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

### Модерація

Так як рано чи пізно перед власником інстансу βtracker постане питання модерації, я вже встиг підготуватись для себе, створивши відповідний PR#497:
=> https://github.com/ikatson/rqbit/pull/497
* ця гілка вже змержена в main апстріму rqbit
* варто зауважити, що опції (аргументи) librqbit ще не інтегровані в командний рядок aquatic-crawler

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

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

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

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

## Do It Yourself

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

=> https://github.com/yggverse/btracker btracker - Веб-каталог
=> https://github.com/yggverse/btracker-gemini btracker-gemini - Імплементація каталогу для Gemini
=> https://github.com/yggverse/aquatic-crawler aquatic-crawler - Кравлер та резольвер бінарних інфо-хешів