inpx_creator_rs

Здесь и далее будут обсуждаться технологии торрентов и Флибусты, которые без способов обхода блокировок НЕ работают.

Как я писал тут я пользуюсь inpx-web в качестве сервера локальной библиотеки Флибусты и как мог придумал процесс автоматизации процесса обновления библиотеки но еще когда настраивал заметил что у процесса есть несколько вещей которые мне не нарвится.

  1. Ежемесячные библиотеки собирает один человек, да он делает это уже 15+ лет (за что ему несомненно поклон до земли), но и у него случаются проблемы, например в прошлом году, судя по сообщению в форуме, у него ломался ноутбук (система работает и зависит от ноутбука!), он уходит в отпуск, поэтому бывает, что мы пропускаем месяц обновлений.
  2. .inpx собирает совершенно другой человек, он дожидается месячных архивов от первого и переиндексирует базу.
  3. Сервис litr.cc который у меня проверяет наличие новых торрент раздач, к нему претензий нет, за эти годы не падал, но это тоже точка отказа. Но он немного странно работает с booktracker.org, он обновление может нащупать спустя 3-4 дня (самое долгое было 10 дней) после того как раздача уже давно обновилась.

Вот это хотелось бы пропустить и быть главным в своем курятнике. Как устроены обновления Флибусты:

  1. Ежедневно с утреца по определенному url появляются ежедневные архивы того что пользователи залили на сайт, один для .fb2 книг, один для всех остальных форматов, .txt, .pfd, .djvue и т.д. по этому url еще архивы за предыдущие 3-4 дня, но сказать дай мне архивы за месяц нельзя, а уже тем более всей библиотеки. Поэтому все кто собирает Флибусту накапливают их у себя, а конце месяца эти архивы объединяются в так называемые “месячники” которые достигают гигабайт уже сжатых данных.
  2. По другому адресу Флибуста выкладывает дамп своей базы данных mysql, из нее можно добыть описание книг, если .fb2 такой формат что можно заглянуть внутрь и все прочитать из него, то остальные форматы в этом плане разброд и шатание и база данных можно сказать первоисточник для названия, авторов, описания книг.

На просторах был найден проект InpxCreator суть его как раз в том, чтобы по базе и архивам Флибусты строить .inpx файл. Inpx - индекс библиотеки, технически это архив в котором уже своя структура где прописано в каком архиве лежит какая книга, ее автора, жанры и прочая разбивка которую используют каталогизаторы наподобие MyHomeLib (win клиент), а т.к винды у меня нет, то inpx-web.
Вроде то что нужно, но есть нюанс - скорость. Настраиваю я его запускаю и понимаю, что на моем N150 полтора террабайта я буду индексировать несколько дней. Исследование кода на предмет хоть намека на функционала merge (работать тоько по дельте новых архивов), дает пустоту. Но мы живем в мире виброкодинга, да я решил себя в rust прокачать, так и рождается этот проект.
А когда оно заработало, я понимаю, что я царь и бог в своем проекте и почему я должен ждать целый месяц когда новые книги появятся в моей библиотеке, поэтому скрипт-оркестратор переводится на недельные обновления локальной библиотеки, а потом когда будет конец месяца будет построен архив “месячник” и чисто теоретически (я еще не проверял, т.к. система в работе всего две недели) я должен совпасть по данным с тем что дают раздачи с торрентов.

Короче, проект тут inpx_creator_rs, кому надо берите и пользуйтесь, кому не ненадо не берите и не пользуйтесь. Сборка релизов только под linux, т.к. работает на synology, мне на винде не надо.

Спойлер