bookpauk / inpx-web

Веб-сервер для поиска по inpx-коллекции
https://lib.omnireader.ru
Creative Commons Zero v1.0 Universal
130 stars 28 forks source link

Android-читалки не очень хорошо работают с OPDS #4

Closed ImmortAlexGM closed 1 year ago

ImmortAlexGM commented 1 year ago

Возможно, что-нибудь можно подкрутить для большей совместимости, но на данный момент ситуация такая: FBReader - не работает ни поиск, ни просто показ всего списка, ошибок не выдаёт - просто ничего не показывает, словно каталог пустой Moon Reader - качает gzip-сжатые FB2, но не понимает, что они сжатые, пытается показать как есть, но не может CoolReader - работает хорошо

На компе проверял только в Foilante - тоже работает.

bookpauk commented 1 year ago

Все баги подтверждаю, будем исправлять.

Weegley commented 1 year ago

Alreader работает прекрасно. Включая поиск. Читалка Pocketbook 632 не работает :( Кстати, сам каталог организован довольно удачно.

Alex-AVS commented 1 year ago

Во-первых - респект за труд. Весьма не дурственно получилось. Во-вторых - насчёт "CoolReader - работает хорошо" есть возражения

  1. В "старой" версии не работает при наличии пароля на opds - 401. Возможно, проблема самого ридера. Имя пользователя без разницы есть-нет, отрабатывает норм. CR GL работает с паролем нормально.
  2. При скачивании файла он сохраняется как .fb2.zip, хотя внутри просто текст. В результате скачанное CR не может открыть и файл на диске не показывает. Полагаю, это из-за type, указанного в ссылке: <link href="/book/b1043e23ebde2dea2b174f979c1f052b55c239e475f55d64712ef2b33f0a580a" rel="http://opds-spec.org/acquisition" type="application/**fb2+zip**"/> Т.к. в заголовках при скачивании имя файла без zip. Тоже косяк CR конечно, но, наверное, можно поправить бы.
bookpauk commented 1 year ago

Alreader работает прекрасно. Включая поиск. Читалка Pocketbook 632 не работает...

Просьба уточнить, как именно не работает, если не показывает список, то этот баг будет исправлен.

bookpauk commented 1 year ago
  1. В "старой" версии не работает при наличии пароля на opds - 401. Возможно, проблема самого ридера...

Скорее всего, проблема ридера, т.к. используется стандартный модуль для node-express. При тестировании тоже обратил внимание на этот момент. В других читалках BasicAuth работает нормально.

  1. При скачивании файла он сохраняется как .fb2.zip, хотя внутри просто текст. В результате скачанное CR не может открыть и файл на диске не показывает. Полагаю, это из-за type, указанного в ссылке: <link href="/book/b1043e23ebde2dea2b174f979c1f052b55c239e475f55d64712ef2b33f0a580a" rel="http://opds-spec.org/acquisition" type="application/**fb2+zip**"/>

Есть какие-то странности с type, разные читалки по-разному ведут себя с этим параметром, посмотрю, что можно сделать.

P.S. Хех, новый CR GL работает с type="application/fb2", а старый только с type="application/fb2+zip"