свой персональный литрес
Почему мы пиратим? Нет, это не бедность, не жадность, и ни в коем случае не принцип свободного контента. Всё дело в удобстве, ведь рутрекер с интерфейсом начала нулевых и EiskaltDC++ с монструозным GUI'ем из 90'х всё равно в миллион раз удобнее и понятнее чем нетфликс, кинопоиск и прочие прочие. Тут тебе и множество озвучек на выбор, и разные кодеки и проч и проч. Такое кинцо/музыку/сериалы лёгкой рукой можно закинуть в директорию которая нюхается Plex media server и смотреть где угодно где есть интернет прямо как кинопоиск, но с большим выбором. И что самое главное - в отличии от кинопоиска фильм никогда не будет удалён прямо во время просмотра потому что у оного кончились права на показ фильма (и да, у меня такое было и с кинцом, и с книгами и с музыкой, и это нереально бесит)!
Но это всё про музыку и фильмы, тут все знают про plex/emby/jellyfin. Ну а как быть с аудиокнигами и электронными книгами? Конечно можно так же как и с фильмами просто закинуть на флешку, взять с собой туда куда хочется и смотреть "оффлайн". Но это неудобно. Я пробовал слушать аудиокниги через plex, увы и ах он под это совершенно не заточен. Но когда я уже почти отчаялся и планировал полностью уйти в оффлайн я случайно наткнулся на гитхабе на замечательный проект audiobookshelf.
Это аналог plex но заточенный на электронные книги и аудиокниги. Справедливости ради этот проект пример того как криво получается софт если бекенд делают фронтендеры, но за неимением лучшего буду юзать его.
Коротко о том как его себе поставить. Добавляем репозиторий, ставим пакет, запускаем. Всё описано в доке. Если мы хотим выставить его в интернет и/или дать доступ другим людям то хорошей идеей будет поставить перед ним nginx с сертификатом и кешированием. Как это сделать тоже есть простая дока из двух действий. У меня всё немного сложнее, у меня audiobookshelf крутится в lxc контейнере, имеет ro доступ к файлам лежащим на другом сервере, но в целом от доки я не отступал, только добавил пару дополнительных шагов.
Что мы получаем:

Главный экран выглядит довольно просто и идеологически копирует plex (верхняя строчка "продолжить просмотр" ниже "недавно добавленные"), с лева можно выбрать просмотри всего списка книг, либо по авторам, по сериям или актёрам озвучки (перейти в нужную категорию можно так же из странички с книгой). Если же вы добавили отдельную библиотеку с электронными книгами и перейдёте в неё то интерфейс будет выглядеть ровно так же.

На странице книги можно увидеть (и перейти) автора, серию из которой эта книга и актёра озвучки, сервис отлично запоминает где ты остановился и предлагает продолжить с этого места даже если сменилось устройство. Всё как в plex (только не так красиво).

К сожалению в отличии от plex нет единой базы пользователей, так что если вы пользуетесь несколькими серверами audiobookshelf (например свой и вооон того парня), то прийдётся запомнить (ага, как буд-то кто-то сейчас запоминает а не созраняет в keepassxc) несколько учётных записей. Зато в отличии от plex несколько учёток могут иметь админские права (правда мне это не пригодилось) которые смогут управлять контентом прямо через браузер (но не через мобильное приложение, об этом позже).
Так же слушать контент с audiobookshelf можно через rss вообще не имея учётной записи, правда для этого необходимо чтобы кто-то имеющий такую учётку создал вам rss поток например на серию книг.
Кроме очевидного функционала audiobookshelf так же умеет править теги в mp3 файлах (а там обычно всякий мусор) и собирать из пачки mp3 файлов один удобный m4b (правда лучше сначала убедиться что 1файл=1глава, и если это не так то поправить через редактор глав прямо тут же)

Конечно же все метаданные можно менять, по умолчанию такие вещи как Автор и Серия книг берутся из структуры файловой системы /путь/до/библиотеки/автор/серия/книга/файл, и из метаданных файла, но так же могут браться из .opf файлов.

Конечно же присутствует возможность найти метаданные у одного из нескольких провайдеров и добавить их в локальную базу данных (к слову в качестве БД используется sqlite).
Пару слов о мобильном приложении:

Главная страничка (как и странички книги, автора, серии) ничем особо не отличается от web версии (да это по сути она и есть упакованная в apk). Однако функционал немного отличается, например с мобильного приложения я не могу изменить метаданные, поправить расположение глав, зато могу кэшировать книгу если например знаю что отправляюсь в место с плохим или полностью отсутствующим интернетом.

Ну и присутствует пара специфичных для мобильного приложения опций.
Не судите строго, я никогда не писал статей ни на хабр ни на пикабу, да и эта статья появилась больше для теста капибары чем для того чтобы поделиться статьёй.
P.S.: я знаю что я неграмотный и возможно допустил в тексте кучу ошибок, простите.
P.P.S.: я бы поделился доступом в свой audiobookshelf со всеми желающими, но я что-то не очень уверен в том что это не нарушение чего нибудь.
Полезные ссылки:
сайт проекта: https://www.audiobookshelf.org
гитхаб проекта: https://github.com/advplyr/audiobookshelf
гитхаб android приложения: https://github.com/advplyr/audiobookshelf-app
play market: https://play.google.com/store/apps/details?id=com.audiobookshelf.app
app store: https://testflight.apple.com/join/wiic7QIW



Комментарии