Здесь и далее будут обсуждаться технологии торрентов и Флибусты, которые без способов обхода блокировок НЕ работают.
Как я писал тут я пользуюсь inpx-web в качестве сервера локальной библиотеки Флибусты и как мог придумал процесс автоматизации процесса обновления библиотеки но еще когда настраивал заметил что у процесса есть несколько вещей которые мне не нарвится.
- Ежемесячные библиотеки собирает один человек, да он делает это уже 15+ лет (за что ему несомненно поклон до земли), но и у него случаются проблемы, например в прошлом году, судя по сообщению в форуме, у него ломался ноутбук (система работает и зависит от ноутбука!), он уходит в отпуск, поэтому бывает, что мы пропускаем месяц обновлений.
- .inpx собирает совершенно другой человек, он дожидается месячных архивов от первого и переиндексирует базу.
- Сервис litr.cc который у меня проверяет наличие новых торрент раздач, к нему претензий нет, за эти годы не падал, но это тоже точка отказа. Но он немного странно работает с booktracker.org, он обновление может нащупать спустя 3-4 дня (самое долгое было 10 дней) после того как раздача уже давно обновилась.
Вот это хотелось бы пропустить и быть главным в своем курятнике. Как устроены обновления Флибусты:
- Ежедневно с утреца по определенному url появляются ежедневные архивы того что пользователи залили на сайт, один для .fb2 книг, один для всех остальных форматов, .txt, .pfd, .djvue и т.д. по этому url еще архивы за предыдущие 3-4 дня, но сказать дай мне архивы за месяц нельзя, а уже тем более всей библиотеки. Поэтому все кто собирает Флибусту накапливают их у себя, а конце месяца эти архивы объединяются в так называемые “месячники” которые достигают гигабайт уже сжатых данных.
- По другому адресу Флибуста выкладывает дамп своей базы данных mysql, из нее можно добыть описание книг, если .fb2 такой формат что можно заглянуть внутрь и все прочитать из него, то остальные форматы в этом плане разброд и шатание и база данных можно сказать первоисточник для названия, авторов, описания книг.
На просторах был найден проект InpxCreator суть его как раз в том, чтобы по базе и архивам Флибусты строить .inpx файл. Inpx - индекс библиотеки, технически это архив в котором уже своя структура где прописано в каком архиве лежит какая книга, ее автора, жанры и прочая разбивка которую используют каталогизаторы наподобие MyHomeLib (win клиент), а т.к винды у меня нет, то inpx-web.
Вроде то что нужно, но есть нюанс - скорость. Настраиваю я его запускаю и понимаю, что на моем N150 полтора террабайта я буду индексировать несколько дней. Исследование кода на предмет хоть намека на функционала merge (работать тоько по дельте новых архивов), дает пустоту. Но мы живем в мире виброкодинга, да я решил себя в rust прокачать, так и рождается этот проект.
А когда оно заработало, я понимаю, что я царь и бог в своем проекте и почему я должен ждать целый месяц когда новые книги появятся в моей библиотеке, поэтому скрипт-оркестратор переводится на недельные обновления локальной библиотеки, а потом когда будет конец месяца будет построен архив “месячник” и чисто теоретически (я еще не проверял, т.к. система в работе всего две недели) я должен совпасть по данным с тем что дают раздачи с торрентов.
Короче, проект тут inpx_creator_rs, кому надо берите и пользуйтесь, кому не ненадо не берите и не пользуйтесь. Сборка релизов только под linux, т.к. работает на synology, мне на винде не надо.
