Контент-сервер calibre

calibre Контент-сервер позволяет вам получать доступ к своим библиотекам calibre и читать книги прямо в браузере на мобильном телефоне или планшете. В результате вам не нужно устанавливать на телефон какие-либо специальные приложения для чтения и управления книгами. Просто используйте браузер. Сервер загружает и сохраняет книгу, которую вы читаете, в автономном кэше, чтобы вы могли читать ее, даже если нет подключения к Интернету.

Чтобы запустить сервер, нажмите кнопку Соединиться/поделиться и выберите :guilabel:` Запустить контент-сервер`. Вы можете получить сообщение от брандмауэра вашего компьютера или антивирусной программы с вопросом, можно ли разрешить доступ к calibre.exe. Нажмите кнопку «Разрешить» или «ОК». Затем откройте браузер (предпочтительно Chrome или Firefox) на своем компьютере и введите следующий адрес:

http://127.0.0.1:8080

Это откроет страницу в браузере, показывающую ваши библиотеки calibre, нажмите на любую и просмотрите книги в ней. Нажмите на книгу, и вы увидите все метаданные о книге, а также кнопки Читать и Скачать. Нажмите кнопку Читать, чтобы начать чтение книги.

Примечание

Адрес http: //127.0.0.1: 8080 будет работать только на компьютере, на котором запущен calibre. Для доступа к серверу с других компьютеров/телефонов/планшетов и т. д. вам нужно будет проделать чуть больше работы, как описано в следующем разделе

Доступ к контент-серверу с других устройств

Существует два типа удаленного доступа к устройству, которые вам обычно необходимы. Первый, более простой вид - изнутри вашей домашней сети. Если вы используете calibre на компьютере в вашей домашней сети, и вы также подключили другие устройства к той же домашней сети, вы сможете легко получить доступ к серверу на этих устройствах.

Доступ к серверу с устройств в вашей домашней сети

После запуска сервера calibre, как описано выше, снова нажмите кнопку Соединиться/поделиться. Вместо действия Запустить контент-сервер вы должны увидеть действие Остановить контент-сервер. Справа от этого действия будет указан IP-адрес и номер порта. Они выглядят как набор чисел, разделенных точками. Например:

Stop Content server [192.168.1.5, port 8080]

Эти цифры говорят вам, какой адрес использовать для подключения к серверу на ваших устройствах. Следуя приведенному выше примеру, адрес становится:

http://192.168.1.5:8080

Первая часть адреса всегда http://, следующая часть - это IP-адрес, который представляет собой числа перед запятой, и, наконец, у нас есть номер порта, который необходимо добавить к IP-адресу с двоеточием (:). Если вам повезет, это все, что вам нужно, и вы будете смотреть на библиотеки calibre на вашем устройстве. Если нет, то читайте дальше.

Устранение неполадок подключения к домашней сети

Если вы не можете получить доступ к серверу с вашего устройства, попробуйте выполнить следующие действия:

  1. Убедитесь, что сервер работает, открыв адрес http: //127.0.0.1: 8080 в браузере, запущенном на том же компьютере, что и сервер.

  2. Убедитесь, что ваш брандмауэр/антивирус разрешает подключения к вашему компьютеру через порт 8080 и к программе calibre. Самый простой способ устранить брандмауэр/антивирус как источник проблем - временно отключить их оба, а затем попробовать подключиться. Прежде чем отключать брандмауэр, сначала необходимо отключиться от Интернета, чтобы обеспечить безопасность компьютера.

  3. Убедитесь, что ваше устройство и компьютер находятся в одной сети. Это означает, что они оба должны быть подключены к одному беспроводному маршрутизатору. В частности, ни один из них не должен использовать сотовую связь или интернет-провайдер с прямым подключением.

  4. Если у вас нестандартные настройки сети, возможно, IP-адрес, указанный в меню Соединиться/поделиться, неверен. В таком случае вам придется самостоятельно определить, какой правильный IP-адрес использовать. К сожалению, учитывая бесконечное разнообразие возможных сетевых конфигураций, невозможно дать вам план действий для этого.

  5. If you have set up a username and password, first try it without that to see if it is causing issues. Some e-ink devices have browsers that do not handle authentication. You can sometimes workaround this by including the username and password in the URL, for example: http://username:password@192.168.1.2:8080.

  6. Если вы застряли, вы всегда можете обратиться за помощью на форумы пользователей calibre.

Доступ к серверу из любой точки интернета

Предупреждение

Перед этим вы должны включить защиту на сервере с указанием имени пользователя/пароля, иначе любой человек в мире сможет получить доступ к вашим книгам. Перейдите по адресу Настройки → Поделиться → Поделиться по сети и включите опцию Требуется имя пользователя и пароль для доступа к контент-серверу.

Хотя конкретные сведения о настройке доступа в Интернет различаются в зависимости от конфигурации сети и типа используемого вами компьютера, основная схема выглядит следующим образом.

  1. Узнайте внешний IP-адрес компьютера, на котором вы собираетесь запустить сервер. Вы можете сделать это, посетив сайт What is my IP address в браузере, работающем на компьютере.

  2. Если компьютер находится за маршрутизатором, включите переадресацию портов на маршрутизаторе, чтобы перенаправить порт 8080 (или любой другой порт, на котором вы хотите запустить контент-сервер calibre) на компьютер.

  3. Убедитесь, что доступ к серверу calibre разрешен через любые брандмауэры/антивирусные программы на вашем компьютере.

  4. Теперь вы сможете получить доступ к серверу на любом подключенном к Интернету устройстве, используя IP-адрес, который вы нашли в первом шаге. Например, если IP-адрес, который вы нашли, был 123.123.123.123, а порт, который вы используете для сервера calibre - 8080, адрес, который будет использоваться на вашем устройстве, станет: http://123.123 .123.123:8080.

  5. При желании можно использовать службу типа no-ip <https://www.noip.com/free>`_, чтобы настроить легко запоминаемый адрес для использования вместо IP-адреса, найденного на первом шаге.

Примечание

For maximum security, you should also enable HTTPS on the Content server. You can either do so directly in the server by providing the path to the HTTPS certificate to use in the advanced configuration options for the server, or you can set up a reverse proxy as described below, to use an existing HTTPS setup.

Интерфейс сервера

The server interface is a simplified version of the main calibre interface, optimised for use with touch screens. The home screen shows you books you are currently reading as well as allowing you to choose a calibre library you want to browse. The server in calibre gives you access to all your libraries, not just a single one, as before.

Список книг

Список книг сервера представляет собой простую сетку обложек. Нажмите на обложку, чтобы увидеть подробные метаданные для книги или прочитать книгу. Если вы предпочитаете более подробный список, вы можете изменить вид по умолчанию, нажав на три вертикальные точки в верхнем правом углу.

Сортировка и поиск в списке книг должны быть знакомы пользователям calibre. Доступ к ним можно получить, щелкнув их значки в правом верхнем углу. Они оба работают точно так же, как в основной программе calibre. Страница поиска даже позволяет создавать поисковые запросы, нажимая на авторов/ теги и т. д., так же, как и в Браузере тегов в основной программе.

Особо любимая особенность основной программы Виртуальные библиотеки также присутствует в интерфейсе сервера. Нажмите на три вертикальные точки в правом верхнем углу, чтобы выбрать виртуальную библиотеку.

Просмотрщик книг

Вы можете прочитать любую книгу в библиотеке calibre, просто нажав на неё, а затем нажав кнопку Читать. Просмотрщик книг очень прост в управлении. Вы можете нажать и провести пальцем, чтобы перевернуть страницы. Смахивание вверх/вниз пропускает главы. При нажатии на верхнюю четверть экрана вы получите подробные элементы управления и настройки просмотра.

Если вы оставите сервер содержимого включенным, вы даже сможете открыть одну и ту же книгу на нескольких устройствах, и она запомнит вашу последнюю прочитанную позицию. Если это не так, вы можете вызвать синхронизацию, нажав в верхней четверти и выбрав :guilabel: Sync.

Поддержка браузеров

В новом сервере calibre широко используются расширенные функции HTML 5 и CSS 3. Таким образом, для использования требуется современный браузер. Он был протестирован в Android Chrome и iOS Safari, а также в Chrome и Firefox на рабочем столе

Сервер использует функциональные возможности, которые либо уже стандартизированы, либо находятся в соответствии со стандартами. Если он в настоящее время не работает с вашим любимым браузером, но, вероятно, будет работать, когда этот браузер догонит его по возможностям.

Если вы используете особенно старый или ограниченный браузер или вам не нравится запускать JavaScript, вы можете использовать представление mobile, просто добавив /mobile к адресу сервера.

Примечание

В iOS Apple позволяет использовать только один движок браузера, поэтому Firefox, Chrome и Safari на самом деле являются одним и тем же браузером. Для нового серверного интерфейса требуется iOS 10.3.2 или новее. На Android сервер был протестирован с Chrome версии 58 и новее.

Включение режима автономной работы

Browser makers have been trying to force people to use SSL by disabling advanced features in their browsers for plain HTTP connections. One such casualty is ApplicationCache, which was what was used in calibre for offline support. As a result nowadays sadly, offline mode works only as long as you keep the browser tab open. In addition, in Firefox on Android, you will need to type about:config and create a preference called browser.tabs.useCache and set it to true.

Управление пользовательскими аккаунтами с помощью командной строки

У calibre неплохой раздел в Preferences, позволяющий управлять учётными записями пользователей на сервере. Однако, если вы хотите запустить автономный сервер и не можете запустить основную программу calibre на том же компьютере/учетной записи пользователя, то можете управлять пользователями, используя командную строку.

Вы можете управлять учетными записями пользователей, используя параметр --manage-users в автономной программе calibre-server. Предположим, вы хотите сохранить базу данных пользователей в папке /srv/calibre, затем вы создаете её, запустив:

calibre-server --userdb /srv/calibre/users.sqlite --manage-users

Just follow the prompts to create user accounts, set their permissions, etc. Once you are done, you can run the server as:

calibre-server --userdb /srv/calibre/users.sqlite --enable-auth

Он будет использовать учетные записи пользователей, которые вы создали на предыдущем шаге.

Интеграция контент-сервера calibre с другими серверами

Here, we will show you how to integrate the calibre Content server into another server. The most common reason for this is to make use of SSL or to serve the calibre library as part of a larger site. The basic technique is to run the calibre server and set up a reverse proxy to it from the main server.

Обратный прокси-сервер - это когда ваш обычный сервер принимает входящие запросы и передает их серверу calibre. Затем он считывает ответ от сервера calibre и пересылает его клиенту. Это означает, что вы можете просто запустить сервер calibre как обычно, не пытаясь тесно интегрировать его с вашим основным сервером.

Использование полностью виртуального хоста

Самая простая конфигурация - выделить полноценный виртуальный хост серверу calibre. В этом случае запустите сервер calibre как:

calibre-server

Теперь настройте виртуальный хост на вашем основном сервере, например, для nginx:

http {
    client_max_body_size 64M;  # needed to upload large books
}

server {
    listen [::]:80;
    server_name myserver.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Или для Apache:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
    ServerName myserver.example.com
    AllowEncodedSlashes On
    ProxyPreserveHost On
    ProxyPass "/"  "http://localhost:8080/"
</VirtualHost>

Использование префикса URL-адреса

Если вы не хотите выделять полный виртуальный хост для calibre, вы можете использовать префикс URL. Запустите сервер calibre как:

calibre-server --url-prefix /calibre --port 8080

Ключевым параметром здесь является --url-prefix/calibre. В результате сервер содержимого будет обслуживать все URL-адреса с префиксом /calibre. Чтобы увидеть это в действии, посетите в браузере http://localhost:8080/calibre. Вы должны увидеть обычный веб-сайт сервера контента, но теперь он будет работать под именем /calibre.

Для nginx необходимая конфигурация:

http {
    client_max_body_size 64M;  # needed to upload large books
}

proxy_set_header X-Forwarded-For $remote_addr;
location /calibre/ {
    proxy_buffering off;
    proxy_pass http://127.0.0.1:8080$request_uri;
}
location /calibre {
    # we need a trailing slash for the Application Cache to work
    rewrite /calibre /calibre/ permanent;
}

Для Apache сначала включите прокси-модули в Apache, добавив следующее в httpd.conf:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Точный способ включения прокси-модулей будет зависеть от вашей установки Apache. После включения прокси-модулей добавьте следующие правила в httpd.conf (или, если вы используете виртуальные хосты, в файл conf для рассматриваемого виртуального хоста):

AllowEncodedSlashes On
RewriteEngine on
RewriteRule ^/calibre/(.*) http://127.0.0.1:8080/calibre/$1 [proxy]
RedirectMatch permanent ^/calibre$ /calibre/

Вот и всё, теперь вы сможете получить доступ к серверу содержимого calibre по URL-адресу /calibre на вашем основном сервере. Вышеупомянутые правила передают все запросы из раздела /calibre серверу calibre, работающему на порту 8080, и благодаря указанному выше параметру --url-prefix сервер calibre обрабатывает их прозрачно.

Примечание

При использовании обратного прокси-сервера вы должны указать серверу контента calibre прослушивать только локальный хост, используя параметр --listen-on 127.0.0.1. Таким образом, сервер будет прослушивать соединения только с того же компьютера, то есть с обратного прокси.

Примечание

If you have set up SSL for your main server, you should tell the calibre server to use basic authentication instead of digest authentication, as it is faster. To do so, pass the --auth-mode=basic option to calibre-server.

Создание сервиса для сервера calibre в современной системе Linux

Вы можете легко создать службу для запуска calibre при загрузке в современной системе Linux (systemd). Просто создайте файл /etc/systemd/system/calibre-server.service с содержимым, показанным ниже:

[Unit]
Description=calibre Content server
After=network.target

[Service]
Type=simple
User=mylinuxuser
Group=mylinuxgroup
ExecStart=/opt/calibre/calibre-server "/path/to/calibre library folder"

[Install]
WantedBy=multi-user.target

Измените mylinuxuser и mylinuxgroup на любого пользователя и группу, от имени которых будет работать сервер. Это должны быть тот же пользователь и группа, которым принадлежат файлы в папке библиотеки calibre. Обратите внимание, что обычно запускать сервер от имени пользователя root - не лучшая идея. Также измените путь к папке библиотеки calibre в соответствии с вашей системой. При необходимости вы можете добавить несколько библиотек. См. Справку по команде calibre-server.

Теперь запустите:

sudo systemctl start calibre-server

для запуска сервера. Проверьте его статус:

sudo systemctl status calibre-server

To make it start at boot, run:

sudo systemctl enable calibre-server

Примечание

Серверу calibre не нужен работающий X-сервер, но ему нужны установленные X-библиотеки, поскольку некоторые компоненты, которые он использует, связаны с ними.

Примечание

Сервер calibre также поддерживает активацию сокета systemd, так что вы также можете использовать его при необходимости.