От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал (fb2) читать постранично


 [Настройки текста]  [Cбросить фильтры]

От архивов Флибусты до веб-библиотеки за 5 минут fb2index — веб-сервер библиотеки fb2-книг, мануал 

Постановка задачи

Открыть в сети электронную библиотеку всегда было сложно.

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

Неудивительно, что библиотеки в сети создавали люди, имеющие опыт сисадмина и/или программиста.


Вот, например, инструкция по поднятию клона широко известного Либрусека:

howto по установке Либрусека (v0.31)

Либрусек разрабатывается как модуль друпала. Можно прикрутить и к другой cms, но это потребует определённых усилий. Должно быть не слишком сложно. Но бессмысленно. По объему кода представляет из себя 20% друпала 6.0 - 6000 строк 300 килобайт php. Всё тестировалось исключительно с Apache/MySQL5 под линуксом, должно работать и с другими серверами, не проверял. Видимо, потребует напильника. (однако, Apache-специфичных вещей вроде бы не используется, поэтому достаточно любого веб сервера, хоть на fastcgi.)

...

полностью - здесь: https://github.com/larin/librusec

Не всякий разберётся. И возьмутся за это единицы. Собственно, после Либрусека их и были единицы: Флибуста (как самый известный случай), да еще три-четыре малоизвестных клона (не доживших до наших дней).


Так жить нельзя, подумал Н., юзер Флибусты[1] и программист. И поставил перед собой задачу:


Zero-config развёртывание библиотеки из набора zip-архивов 

отправлено 2 года назад

Разрабатывается приложение для быстрого поднятия библиотеки FB2, с нулевой конфигурацией: кинул архивы, запустил бинарник - и библиотека готова. (...) Требуются тестеры потыкать по ссылкам, зарепортить встреченные баги. Желающим кину ссылку в приват.


Так родился движок fb2index

Характеристики

 14.11.2016 движок был опубликован (в теме на Флибусте, см. https://flisland.net/node/349288)


От архивов Флибусты до веб-библиотеки за 5 минут

Ладно, не за пять. Мои 88 файлов прожёвывает за 15 минут.

Короче, библиотечка в духе минимализма: исходный код[2] и скриншоты[3].

Возможно, кому-то пригодится.


Использование:

fb2index.exe ПУТЬ_К_ZIP_ФАЙЛУ

или

fb2index.exe -r ПУТЬ_К_КАТАЛОГУ_С_ZIP_ФАЙЛАМИ


После индексации книг, каковая займёт некоторое время, можно заходить на http://localhost:8080 и начинать пользоваться библиотекой.

Другой адрес и порт можно указать с помощью опции -http АДРЕС:ПОРТ (или -http :ПОРТ).

База данных по умолчанию хранится в оперативной памяти. Чтобы сохранить её на диск, укажите опцию -db ПУТЬ_К_БД.


UPDATE (4 Oct 2017):

Не прошло и года, как появилась сборка для Windows.


На этом можно было бы и завершить описание, но имеет смысл уточнить про скорость работы с архивами:


Индексация одного 2.5Гб ZIP-архива с FB2 занимает у меня на машине 20 с, на VPS от DigitalOcean - 9 с.

Итак, индексация полного архива (88 файлов) заняла ровно 15 минут. Поисковый индекс занял 55 мб, а весь процесс (с базой данных в оперативной памяти) - 900 мб.


Упомянутые 88 файлов-архивов - это стандартные zip-архивы с содержимым Флибусты (только fb2), распространяемые через торренты (напр. https://booktracker.org/viewforum.php?f=245). Сейчас уже больше... :) ...Каждый - примерно по 2,5 гигабайта.

Т.е. после запуска fb2index полная копия Флибусты становится доступной в сети через 15-30 минут, в зависимости от мощности компьютера.

Где скачать?

 https://github.com/opennota/fb2index/releases


Скриншоты

Общий список книг


Страничка книги



Страничка "читать книгу"


Поиск по библиотеке


Страничка автора


 Страничка жанров
 


Перечень книг по жанру


Перечень авторов


 Перечень книжных серий



Способы использования

Способы использования fb2index ограничены только фантазией создателя библиотеки. Возможные примеры (из обсуждения на Флибусте):


Его достоинство