Простой альтернативный загрузчик электронных книг Legimi, написанных на Go.
По сути, это переписанный предыдущий загрузчик на Lua.
Это совершенно неофициально, я никак не связан с Legimi.
Примечание
Работа над этим все еще продолжается, однако уже можно использовать.
Более подробную информацию о том, как это произошло, вы можете найти в разделе «История».
Просто скачайте архив из раздела Релизы, распакуйте и сделайте его исполняемым (при необходимости): $ chmod +x legimi-go
. Вы можете добавить каталог установки в переменную PATH
, чтобы иметь возможность запускать его из любого места.
Альтернативно, если у вас установлен Go, вы можете установить его с помощью команды go install
:
$ go install github.com/tp86/legimi-go@ < version >
может быть тегом конкретной версии из выпусков или latest
для получения кода из main
ветки. Обратите внимание, что main
ветка может содержать незавершенные функции. Однако я делаю все возможное, чтобы фиксировать только рабочий код.
Чтобы просмотреть использование, вызовите:
$ legimi-go --help
Все ключи командной строки являются необязательными.
--config path
Путь к файлу конфигурации. Значение по умолчанию — "$HOME/.config/legimi-go/config.ini"
. Файл конфигурации содержит ваши учетные данные и идентификатор Kindle, назначенные службой Legimi. Он будет создан автоматически (с отсутствующими каталогами) при первом запуске команды, поэтому обычно вам не нужно изменять его вручную. Если вы не хотите хранить свой логин и пароль в файле, вы можете указать учетные данные в командной строке (см. переключатели --login
и --password
).
Кончик
Вы можете создать множество файлов конфигурации, чтобы легко переключаться между несколькими учетными записями.
--login login
Ваш логин Легими. Если вы не укажете логин из командной строки, он будет прочитан из файла конфигурации. Если он также отсутствует в файле конфигурации, вам будет предложено предоставить его во время выполнения команды. Затем он будет сохранен в файле конфигурации, поэтому вам не придется повторять его при будущих запусках команд. Если вы укажете логин из командной строки, он не будет записан в файл конфигурации.
--password password
Ваш пароль Легими. Применяется та же логика, что и для входа в систему. Обратите внимание, что логин и пароль хранятся в файле конфигурации в виде обычного текста.
--debug
Включите режим отладки. В режиме отладки выбранная информация об обмене запросами и ответами выводится в поток stderr. В настоящее время, вероятно, самая полезная информация содержится в ответе сеанса.
Примечание
Вы можете указать переключатели с помощью одного ( -config
) или двух тире ( --config
).
Доступные команды:
list
Перечислите книги, которые сейчас находятся на вашей полке Legimi.
download
Загрузите книгу(и) по их идентификатору(ам). Идентификатор книги можно получить, перечислив книги (первое значение в строке ввода книги).
version
Распечатать версию легими-го.
Предоставление команды является обязательным, команды по умолчанию нет.
При первом вызове команды вам будет предложено ввести учетные данные (если они не указаны с помощью переключателей командной строки, см. выше) и серийный номер Kindle (Настройки -> Параметры устройства -> Информация об устройстве в Kindle). Идентификатор Legimi Kindle будет автоматически запрошен и сохранен в файле конфигурации для дальнейшего использования.
Перечислите книги на своей полке
$ legimi-go list
Если вы запускаете скрипт впервые или передаете файл конфигурации, в котором еще нет учетных данных, вам будет предложено ввести логин и пароль.
Загрузить выбранные книги
$ legimi-go download < book-id >
Загруженная книга будет сохранена в файле
в текущем рабочем каталоге.
Кончик
Вы можете cd
в каталог смонтированных documents
Kindle перед загрузкой, чтобы избежать копирования файлов.
Скопируйте файлы в каталог documents
вашего Kindle.
Это необязательно, если вы загрузили книги, находясь в каталоге documents
.
Очевидно, поддерживается только часть функций официального приложения Legimi.
Большинство ответов об ошибках еще не распознаются/обрабатываются. В будущем ситуация должна улучшиться.
Скрипт не предназначен для создания учетной записи или регистрации устройства, неизвестного сервису Legimi. Для этого вам следует использовать официальное приложение. Регистрация устройства работает, но может вызвать проблемы.
Если вы хотите узнать, сколько загрузок книг осталось за период подписки, вы можете использовать переключатель -debug
и поискать информацию downloads left
в разделе Session response
. Если вы пытаетесь загрузить больше книг, чем установлено, сервис Legimi заблокирует загрузку.
Если что-то работает не так, как ожидалось, попробуйте использовать ключ -debug
чтобы получить дополнительную информацию.
Также следует проверить официальное приложение Legimi, так как оно является ориентиром. Использование официального приложения также потенциально может решить проблемы (№3 (комментарий)).
Официальное приложение Legimi не поддерживает Linux. Я хотел иметь возможность загружать электронные книги из Linux без необходимости переключения между операционными системами (или даже установки Windows).
Первая версия загрузчика была создана на Lua. Он работал нормально, но иногда его было сложно установить (зависимости устанавливались по разным путям). Его также сложно поддерживать, и это вызывает проблемы с обновлениями протокола Legimi. Поэтому я решил переписать скрипт на Go. Я надеюсь, что его будет проще устанавливать, использовать и обслуживать.
Логику скачивания книг я извлек на основе трафика, которым обмениваются официальное приложение Legimi и сервис. Таким образом, безусловно, есть недостающие детали и функции. Кроме того, большинство ответов об ошибках не поддерживаются. Дополнительные сведения о недостающих функциях см. в разделе «Ограничения».