- PVSM.RU - https://www.pvsm.ru -

TinyOPDS или «сам себе либрусек»

image

Хочу представить вниманию посетителей сайта программу TinyOPDS — легкий «однокнопочный» OPDS-сервер с открытым кодом, написанный на C#.

Страница проекта: tinyopds.codeplex.com [1]

Краткая предыстория написания программы

Я с давних пор являюсь большим любителем OPDS-доступа к электронным библиотекам. Идея написать простой «домашний» OPDS сервер, работающий под Windows, появилась у меня довольно давно, только вот никак не удавалось выкроить время на этот проект. Однако, недавние события [2] все-таки подтолкнули меня к тому, чтобы воплотить идею в код.

Поскольку не люблю «изобретать велосипед», сначала я попытался выяснить, не написал-ли кто-нибудь нечто подобное. Однако, Google нашел лишь одну программу под Windows, могущую работать, как OPDS-сервер. Это оказалась небезызвестная Calibre [3] Ковида Гаяла (я помню эту программу еще со времен первого анонса на mobileread.com; к слову сказать, уже тогда она мне не очень понравилась)

Желая все-таки дать шанс творению Ковида, я скачал и установил 60 «метров» Калибри. Честно признаюсь, что помощь к программе я не читал, и, вероятно, сделал что-то не по инструкции. А именно — я «натравил» Калибри на небольшой (сравнительно — 42 GB ;) ) архив из 15 zip-архивов с книгами, содержащими около 150 тысяч книг, и запустил сканирование (Калибри сначала должна добавить книги в свою базу). После, примерно, 40 минут лихорадочного шуршания диском и 80% загрузки 4-х процессоров и 2 гигабайт памяти, Калибри радостно мне сообщила, что успешно добавила в базу все… 15 книг :) После чего, естественно, она была беспощадно снесена с компьютера, и был дан зарок — никогда больше не загружать индусские «творения» (не в обиду фанатам Калибри — возможно, вас эта программа полностью устраивает, но меня однозначно НЕТ).

Также кратко я просмотрел OPDS-сервера, присутствующие на гитхабе. Замечу, однако, что если для продвинутого Linux администратора установка и настройка представленных там скриптов и не составит большого труда (хотя куда проще поднять обыкновенное «зеркало» «Флибусты», например!), то у обычного Windows-пользователя «гитхабовские» программки вызовут лишь сильное недоумение

Надеюсь, что TinyOPDS будет понятен и удобен практически любому пользователю Windows, вне зависимости от степени «продвинутости» :)

Итак, TinyOPDS — это небольшая по размеру, но весьма полезная программа, позволяющая Вам превратить Ваш домашний компьютер в производительный OPDS каталог. Для тех, кто не знает, что такое OPDS каталоги, вкратце поясню: OPDS — это спецификация для поиска и распространения электронных изданий, работающая через HTTP-протокол (как самый обычный сайт), но основанная на «атомах» (специальных XML документах). Множество программ-читалок для iOS (iPhone, iPad), Android, Windows Phone 7/8, Windows 8, Linux умеют использовать OPDS: это очень удобно и практично.

Установка TinyOPDS

TinyOPDS не требуется установка (возможно, в будущем, я добавлю инсталлятор). Просто загрузите исполняемый файл, создайте папку в своем профиле (можно даже на десктопе), и скопируйте туда программу. Все служебные файлы (файл базы данных, лог-файл) TinyOPDS создаст в этом каталоге. Исключение составляют лишь настройки программы; они сохранятся в папке C:Users[User]AppDataLocalTinyOPDSuser.config

Подготовка к работе

«TinyOPDS» относится к так называемым «однокнопочным решениям»; это означает, что подготовка программы к работе очень проста.

На странице сканера

image

выберите путь к папке с книгами или книжными архивами, и нажмите кнопку «Начать сканирование». Сканер автоматически просканирует выбранную папку, найдет и добавит в базу данных файлы электронных книг в форматах fb2 и epub (примечание: поддерживаются только zip-архивы). Собственно, с этого момента Ваш персональный OPDS сервер готов к работе! Сканирование происходит достаточно быстро; на моем десктопе (далеко не «топовом», скорее, относящегося к «бюджетным» PC) скорость сканирования достигает примерно 2200 книг в минуту. Таким образом, сканирование даже относительно большой библиотеки, объемом в 200000 книг, занимает вполне разумное время (примерно полтора часа).
(Примечание: при сканировании в папке с программой будет создан файл базы данных, с именем, состоящим из преобразованного в GUID пути к папке с книгами)
Также на этом экране отображается текущая статистика сканера.

Следующая страница

image

позволит Вам настроить параметры OPDS-сервера: номер порта для доступа (напомню, что портом по умолчанию для протокола HTTP явлеятся порт с номером 80), а также префикс пути доступа к OPDS (если таковой требуется). Также, Вы можете воспользоваться функцией форвардинга порта через UPnP-роутер (примечание: проверено только на Netgear FVG318, но должно работать на всех UPnP-совместимых роутерах).

На странице «Разное»

image

Вы сможете настроить различные параметры «TinyOPDS» (в том числе, и указать язык интерфейса и сервера; в настоящее время поддерживаются русский и английский). Названия параметров говорят сами за себя, так что я не буду подробно их описывать.

Однако, хочу обратить Ваше внимание на один *очень* важный параметер — на «Путь к ePub конвертору». Дело в том, что стандартом OPDS предусмотрена работа только с книгами в формате epub, и большинство клиентов (про исключения см. ниже) рассчитывают получить ссылку на книги только в этом формате. Однако, если Ваша библиотека составлена из книг в формате fb2, Вам потребуется (*в обязательном порядке!*) установить бесплатный конвертор fb2epub [4].
(Примечание: некоторые OPDS клиенты для Android, такие, как FBReader [5] и Moon+ Reader [6], умеют загружать книги в формате fb2 через OPDS. Если Вы используете только эти клиенты то конвертер Вам не потребуется)

Информацию для разработчиков я опубликую немного позже (сейчас цейтнот со временем).

Если Вас заинтересовала эта программа, просьба оставлять баг-репорты и фиче-реквесты на сайте tinyopds.codeplex.com [1]

Благодарю за внимание!

P.S. К сожалению, я не могу опубликовать эту информацию в хабе «Электронные книги» — а там бы она наверняка заинтересовала любителей электронного чтения.

Автор: sensboston

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/32208

Ссылки в тексте:

[1] tinyopds.codeplex.com: https://tinyopds.codeplex.com

[2] недавние события: http://habrahabr.ru/post/168003/

[3] Calibre: http://calibre-ebook.com/

[4] fb2epub: http://www.fb2epub.net/rus/index.html

[5] FBReader: http://fbreader.org

[6] Moon+ Reader: http://www.moondownload.com

[7] Источник: http://habrahabr.ru/post/176821/