Читалки и OPDS

OPDS — формат каталога, который понимают приложения-читалки. Укажите такому приложению адрес этой библиотеки, и оно сможет листать всё собрание, искать по нему и скачивать книги прямо на устройство.

Адреса

Лента Адрес Когда использовать
OPDS 1.2 (Atom) https://<этот-сайт>/opds/ Почти всегда. Её понимают все клиенты.
OPDS 2.0 (JSON) https://<этот-сайт>/opds/2.0/ Если клиент заявляет поддержку OPDS 2.

Обе отдают одно и то же собрание. Лента 1.2 никуда не денется — большинство читалок умеют только её, — а корень 2.0 из неё прилинкован, так что клиент, предпочитающий JSON, найдёт его сам.

Если библиотека требует входа, лента запрашивает аутентификацию HTTP Basic: ваши обычные имя пользователя и пароль, поле для которых есть в любом OPDS-клиенте.

Настройка типичных клиентов

KOReader (Kobo, Kindle, PocketBook, Android)
Search → OPDS catalog → +, дальше адрес версии 1.2, имя пользователя и пароль. KOReader умеет ещё и возвращать сюда позицию чтения — см. Синхронизация прогресса чтения.
Moon+ Reader (Android)
Net Library → + → OPDS, затем адрес и учётные данные.
FBReader (Android, десктоп)
Сетевая библиотека → + → Добавить каталог по адресу.
Aldiko, KyBook, Marvin, Librera, PocketBook Reader
У всех есть та или иная форма «добавить OPDS-каталог по URL»; адрес и учётные данные те же.
Calibre
Получить книги → Поиск → Добавить новый источник принимает OPDS-адрес — это удобный способ подтянуть книги в настольную библиотеку.

Поиск с устройства

Лента объявляет описание OpenSearch, поэтому строка поиска самого клиента ищет по этому каталогу, а не фильтрует то, что уже скачано. В OPDS 2.0 то же самое сделано шаблонной ссылкой search.

Скачивание и конвертация

Книга отдаётся в том формате, в котором хранится. Если администратор настроил конвертеры FB2, книги в FB2 дополнительно появляются в ленте как EPUB и MOBI и конвертируются в момент запроса.

Если клиент не подключается

  • Проверьте, что адрес заканчивается на /opds/, вместе с косой чертой.
  • Используйте https://. Некоторые клиенты молча отказываются от обычного HTTP.
  • Если он раз за разом спрашивает учётные данные — неверны имя или пароль; та же пара работает на странице входа в браузере.
  • Совсем старые клиенты иногда не справляются с большой первой страницей. Обходится тем, чтобы листать по авторам или жанрам, а не «все книги».