Flibusta-at-home: что это

Flibusta-at-home — это онлайн-библиотека, умеющая импортировать дампы БД Флибусты и работать с её zip-архивами книг. Таким образом, после импорта базы данных и скачивания архивов пользователь получает возможность читать, искать (по названиям, жанрам, авторам и т.п.) и скачивать книги без доступа к сайту Флибусты. Книги находятся в локальном хранилище, и Вы полностью контролируете его. Книги не могут «пропасть».

Кроме того, есть режим «скачивание на ходу», при котором отсутствующая книга автоматически скачивается в локальное хранилище при попытке начать её читать (для этого режима, естественно, нужно, чтобы у сервера, на котором развёрнута библиотека, был доступ к одному из зеркал Флибусты).

Технически Flibusta-at-home — это веб-приложение (php-fpm), работающее в Docker. Для пользователя это просто ещё один сайт, который может быть доступен как в локальной сети, так и из интернета.

Сценарии использования включают:

  • полноценную работу библиотеки в локальной сети при отсутствии доступа к интернету
  • полноценный доступ к библиотеке при блокировках Флибусты (цензура, корпоративные сети, в которых Флибуста заблокирована, и т.п.)
  • экономию на трафике: в последнее время появились слухи о введении платы за заграничный трафик в мобильных сетях — к трафику с Вашего сервера это будет неприменимо

Основные возможности

Для пользователя (читателя)

  • естественно: чтение книг библиотеки. Поддерживаются форматы fb2, pdf, djvu, docx, epub, html, mobi, rtf, txt
  • скачивание книг, причём книги, хранящиеся в формате fb2, можно скачать как .fb2, .fb2.zip, .epub (включая epub, оптимизированный для читалок Kobo), kfx, azw8 (амазоновский формат)
  • поддерживается протокол OPDS для доступа к книгам из читалок
  • полнотекстовый поиск (FTS) по названиям, авторам, сериям и т.д.
  • добавление книг, авторов и серий в избранное в аккаунте читателя
  • сохранение позиции в книге, чтобы можно было вернуться к месту, на котором остановились
  • персональные настройки

Для администратора

  • готовые образы Docker в репозитории Docker Hub значительно упрощают установку
  • все преимущества управления, обновления версий, контроля и т.д., которые даёт Docker, естественно, применимы и к Flibusta-at-home
  • административные операции, такие как скачивание новой версии дампа БД, обложек, дневных обновлений — непосредственно из web GUI
  • уменьшение нагрузки на серверы Флибусты через проверки ETag
  • контроль доступа — доступ к библиотеке получают только аутентифицированные пользователи
  • поддержка ролей читателя и администратора — только администраторы могут запускать сервисные команды, такие как обновления
  • возможность определить «домашнюю» сеть, из которой не нужно авторизоваться (административные действия всё ещё требуют аутентификации)
  • интеграция с fail2ban для предотвращения brute-force-атак на библиотеку

Чем Flibusta-at-home отличается от других локальных зеркал Флибусты

В отличие от десктопных приложений, таких как MyHomeLib, Flibusta-at-home предоставляет доступ к библиотеке не только с компьютера, на котором установлено само приложение, но и с телефона, планшета, читалки — откуда угодно. Даже если Вы не дома, Вы легко можете продолжать чтение. Более того, другие члены семьи, друзья и родственники могут пользоваться библиотекой параллельно с Вами.

Механизмы контроля доступа позволяют давать доступ к библиотеке и из интернета.

Flibusta-at-home относительно легко устанавливается и обновляется благодаря готовым образам в стандартном репозитории Docker. При наличии Docker Engine запуск библиотеки сводится к минимальным изменениям в предоставленном docker-compose.yaml.

Установка

Проект flibusta-at-home находится по адресу https://github.com/blitvin/flibusta. README проекта содержит инструкции по установке. Темплейты конфигурационных файлов можно найти в директориях документации.

Приятного чтения!