vak: (Знайка)
[personal profile] vak
Полтора года назад бессменный администратор библиотеки «Флибуста» Стивер объявил, что ему недолго осталось. Хоть я и неактивный читатель, я решил, что на всякий случай стоит заиметь собственную копию. Благо народ на торрентах раздаёт качественные снапшоты. Объём гигантский однако, так что для скачивания мне пришлось проапгрейдить план Comcast. 

В сыром виде Флибуста представляет собой набор из 395 файлов в формате ZIP, каждый в среднем 3 гигабайта. Внутри находятся файлы с абстрактными именами - собственно книжки. Плюс дополнительный ZIP архив с метаинформацией, из которой можно узнать название книги, автора, язык, жанр и другое. В сумме примерно 806000 записей.

Всё это дело хранилось у меня на диске, ждало своего времени. Разгрести эту кучу вручную невозможно. Но вчера на досуге вдруг возникла мысль: ведь теперь есть неленивый помощник в виде ИИ. Пусть он займётся разгребанием хламовника. Но надо дать ему какую-то начальную живопырку.

Народ наделал для формата Флибусты некоторое количество вспомогательного софта, и один из них (freeLib) оказался полезным. Я установил freeLib на маке, вызвал - запускается. Спрашивает, где на диске лежит Флибуста, сканируем её всю и создаёт базу данных в формате SQLite. Размером 427 мегабайт, не хухры мухры. Прекрасно, ровно то что нужно!

Я дал Курсору исходники freeLib и файл базы freeLib.sqlite. Он тут же сделал прекрасное описание схемы базы: Database.md. И смастерил тулзу (на Golang) для поиска по базе.
$ ./flib
flib — search the freeLib SQLite catalog

Usage:
  flib show PATTERN [--max NUM]   Search books by title (regular expression). Default --max is 20.
  flib extract [--destdir DIR]    Extract books into language/author/book.format tree.
  flib by author                  List all books grouped by author (tab-separated columns).
  flib by genre                   List all books grouped by genre.
  flib by language                List all books grouped by language.
  flib help                       Show this message

Environment:
  FLIB_DB   Path to freeLib.sqlite (default: ~/Documents/freeLib.sqlite)
  FLIB_PATH Path to Flibusta library root with zip archives (required for extract)
Главное здесь: режим extract. Из Флибусты извлекаются все книжки одна за одной, и разкладываются в указанном месте по папкам в два уровня:
язык/автор/название.формат
Полный список всех получившихся файлов, полученный командой tree, занимает 59 мегабайт. Выглядит так:
.
├── ad
│   └── Автор Неизвестен -- Мифы. Легенды. Эпос. Сказания
│       └── Нартхэр.pdf
...
├── en
│   ├── Аноним
│   │   └── Diary of an Oxygen Thief.epub
│   ├── Библия
│   │   ├── От Марка святое благовествование[Параллельный перевод].fb2
│   │   ├── Евангелие от Иоанна[Параллельный перевод].fb2
│   │   ├── Holy Bible: New International Version (NIV).fb2
│   │   ├── Holy Bible. New Revised Standard Version (NRSV).fb2
│   │   ├── The Bible - New International Version.fb2
│   │   ├── The Gospel according to John[Good News Translation ( GNT Bible )].fb2
│   │   └── The New Jerusalem Bible(rtf).zip
...
├── ru
│   ├── АБ
│   │   └── Московская история.fb2
...
├── uk
│   ├── Алай
│   │   └── Коли курява спаде.fb2
│   ├── Алкей
│   │   └── Золоте руно. З античної поезії[Збірка].djvu
│   ├── Антология
│   │   └── Львівська антологія. Том I. Від давніх часів до початку ХХ ст..fb2
│   ├── Аристотель
│   │   ├── Нікомахова етика.fb2
│   │   ├── Метафізика.fb2
│   │   └── Поетика.fb2
│   ├── Аристофан
│   │   └── Комедії.fb2
...
└── zh
...
    ├── Лао-цзы
    │   ├── 道德经.fb2
    │   └── Dàodé jīng.fb2
    └── Сунь-цзы
        └── The Art of War (chinese).fb2

154598 directories, 680883 files
Суммарный объём всех книг в распакованном виде - 1.6 Tбайт.

Я считаю, Флибуста представляет собой ценный исторический артефакт. Не Александрийская библиотека, конечно, но 680000 книг тоже неплохо. Удивительно, но до сих пор не проводилось никаких исследований её с научной точки зрения.

Date: 2026-04-27 02:05 (UTC)
ufm: (Default)
From: [personal profile] ufm
> Суммарный объём всех книг в распакованном виде - 1.6 Гбайт

Ты хотел сказать - Тбайт ?

Date: 2026-04-27 08:05 (UTC)
x86128: (Default)
From: [personal profile] x86128
Как-то объем подрос. Давно как-то скачивал было раза в три меньше. Тут видимо совсем полный архив

Date: 2026-04-27 08:35 (UTC)
From: [personal profile] count_enable
Теперь надо обучить Клод удалять оттуда книги о попаданцах, литрпг и романтическое фентези. Думаю после этого архив похудеет вдвое-втрое))).

С научной точки зрения интересней будет Архив Анны или Либген. Каждый раз когда туда захожу скачать какую-то редкую публикацию, выкачиваю ещё десяток интересных книг которые фиг найдёшь где-то ещё.

Date: 2026-04-27 10:31 (UTC)
brmail: (Default)
From: [personal profile] brmail
А зачем хранить их распакованными? freeLib дает приемлимый уровень удобства для поиска и извлечения нужной книги, когда она нужна.
Опять же, там оно и по авторам и по жанрам групировано.
И, кстати, в том виде в котором оно есть, в архивах, через год можно натравить на фолдер lib.rus.ec дестинейшен свежего флибустовского торрента, и оно туда закачает апдейт архивов и индекс файлы. Те перекачивать все 500+ гиг не придется.

Date: 2026-04-27 11:48 (UTC)
ahovdryk: (Default)
From: [personal profile] ahovdryk
С языка сняли. В обоих предложениях.

Date: 2026-04-27 12:59 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Софт ценный, а контент - надо ещё посмотреть; заглядывал - так там какая-то чушь.

А вот сделать такой абстрактный сервис для организации собственной библиотеки было бы, наверно, нехило. У меня тоже книжек до хренища. А я руками что-то...

Date: 2026-04-27 13:26 (UTC)
dmarck: (Default)
From: [personal profile] dmarck
так распакованного же

lzma (7z) от только fb2 получается чуть больше 200G

Date: 2026-04-27 18:35 (UTC)
brmail: (Default)
From: [personal profile] brmail
гм, а как решаешь проблему с закачкой новой версии? Все 500+ гиг перезакачивать?

Date: 2026-04-27 20:15 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
удалять оттуда книги о попаданцах

Я бы "Янки при дворе короля Артура" всё же оставил.

Date: 2026-04-28 05:32 (UTC)
cali4nickation: (Default)
From: [personal profile] cali4nickation
Как пример пользы от роботов интересно (промпт в студию?).

А вот зачем, там разве не на кириллице почти все? Тем более зилайбрэри обычно находит хоть учебники хоть нон-фикшн. И еще эти загадочные fb2 файлы.