Я не собираюсь вдаваться в законность удаления DRM, так как оно варьируется в зависимости от страны - в одних это подпадает под добросовестное использование, в других ситуация мутная, а в других, но это явно незаконно.
Следующие шаги работали для меня, на Ubuntu 18.04.
Установите необходимые программы с помощью менеджера пакетов
sudo apt-get install wine64
sudo apt-get install calibre
# sudo apt-get install winetricks # this is optional — see below
Скачать другие необходимые программы
DeDRM плагин
wget https://github.com/apprenticeharper/DeDRM_tools/releases/download/v6.6.3/DeDRM_tools_6.6.3.zip
Kindle для ПК v 1.17
(Внимательно основываясь на информации из официального FAQ (снимок) . Ссылка на последнюю версию .)
Для достижения наилучших результатов вам нужна старая версия Kindle для ПК (≤1.17). (Несколько более поздние версии (≥1.24) используют субоптимальный формат файла KFX для загруженных книг, в то время как даже более свежие версии вообще не могут быть «использованы» плагином DeDRM.)
К сожалению, эта версия Kindle для ПК больше не доступна на сайтах Amazon, поэтому вам нужно зайти по адресу google / duckduckgo KindleForPC-installer-1.17.44170.exe
и загрузить его с какого-нибудь схематичного сайта. Чтобы убедиться, что вы загрузили «оригинальный» файл (а не модифицированную версию с бонусными вредоносными программами), вам необходимо проверить хеш файла. (MD5 "сломан", а sha1 частично "сломан", поэтому я не рекомендую полагаться исключительно на них.)
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
Если вы не доверяете мне, случайному человеку в Интернете, чтобы сказать вам правильный хеш, (у вас нет причин для этого), вы можете перейти к официальному FAQ, выше - в конце концов, вы уже доверяете плагину DeDRM не быть злым. (По какой-то причине в хэше sha256 есть пробел.)
winetricks
Мы не можем использовать winetricks для Kindle для ПК, так как при этом устанавливается версия 1.20, которая не так подходит.
Установите и запустите Kindle для ПК
wine64 KindleForPC-installer-1.17.44170.exe
Введите данные своей учетной записи Amazon, загрузите соответствующие книги на «устройство» (то есть на компьютер) и т. Д.
Установите плагин калибра DeDRM
unzip DeDRM_tools_6.6.3.zip
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
Кроме того, после распаковки вы можете просто установить его через стандартный интерфейс Calibre. (Настройки> Дополнительно> Плагины> Загрузить плагин из файла.)
Извлеките свои ключи зажигания
Если вы используете WINE / Linux, плагин DeDRM не будет извлекать ключи сам по себе "автоматически" без каких-либо хлопот.
DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
содержит некоторые предложения о том, как действовать. Они частично, но не полностью работали на меня.
Установить Python (внутри Wine)
Чтобы извлечь ключи DRM, скрипт python (предоставляемый плагином калибра) должен быть запущен в Wine (в идеале) самим плагином калибра. Следовательно, вам нужно установить Python в среде Wine.
Здесь есть две альтернативы - использовать winetricks или установить вручную с официального сайта python.
Ручная установка (в настоящее время рекомендуется)
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
msiexec /i python-2.7.13.msi ALLUSERS=1
Обратите внимание, что это отличается от инструкций в настоящее время в DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
решающем добавлении ALLUSERS=1
.
Winetricks (не рекомендуется, если у вас нет новой версии winetricks)
Если вы используете winetricks, установленный из репозиториев Ubuntu 18 апреля, то, к сожалению, winetricks python26
доступен только python-2.6 (который вы можете установить с помощью ). Поскольку плагин калибра в настоящее время жестко кодирует путь к стандартной установке python-2.7, это неоптимально. Следовательно, вам нужно либо пропатчить плагин калибра, либо запустить скрипт Wine Python самостоятельно и скопировать ключи дешифрования.
Если у вас есть более новая версия winetricks, вы можете установить python-2.7.
winetricks python27
Запустите скрипт винного питона
Чтобы плагин калибра запускал скрипт, вы должны сообщить ему, где находится ваша винная установка (так называемая «WINEPREFIX»). По умолчанию wineprefix есть ~/.wine/
. Вы можете указать свой плагин калибра WINEPREFIX
в Calibre, выбрав «Настройки»> «Дополнительно»> «Плагины»> «Плагины типов файлов»> «DeDRM»> «Плагин настройки»> «Kindle для ПК» и «Adobe Digital Editions». Вы можете предложить запустить скрипт, нажав кнопку «+», иначе он будет запущен при первой попытке добавить книгу с Kindle DRM.
Так и должно быть - когда вы добавляете книги в калибр, они автоматически лишаются DRM. В качестве альтернативы вы можете взглянуть на (почти) версию cli ниже, которая лишена большинства моих подробных объяснений.
(Почти) чисто версия командной строки
Не просто скопируйте и вставьте все это за один раз, поскольку это не сработает - пара шагов требует участия человека.
sudo apt-get install wine64
sudo apt-get install calibre
mkdir -p ~/Downloads/kindle_dedrm/
cd ~/Downloads/kindle_dedrm/
# somehow get KindleForPC-installer-1.17.44170.exe
# check its hash
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
wine64 ~/Downloads/kindle_dedrm/KindleForPC-installer-1.17.44170.exe &
# Enter your amazon account details, download your relevant books to the device etc.
wget https://github.com/apprenticeharper/DeDRM_tools/releases/download/v6.6.3/DeDRM_tools_6.6.3.zip
unzip DeDRM_tools_6.6.3.zip
# Install plugin (could also use Calibre's GUI)
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
msiexec /i python-2.7.13.msi ALLUSERS=1
# Configure the calibre dedrm plugin with the correct wineprefix
# (could also use Calibre's GUI)
# (could also save it to a file and run, say,
# python add_wine_prefix_to_dedrm_config.py #)
python -c '
import json
import os
home = os.path.expanduser("~")
file = open(home + "/.config/calibre/plugins/dedrm.json", "r+")
dedrm_config = json.load(file)
dedrm_config["kindlewineprefix"] = home + "/.wine/"
file.seek(0)
json.dump(dedrm_config, file)
file.truncate()
file.close()
'
# Add all your Kindle books to the Calibre Library for automatic processing
calibredb add ~/Documents/My\ Kindle\ Content/*.azw --with-library="Calibre Library"
## (Optionally) list your books
# calibredb list --with-library="Calibre Library"
## (Optionally) export the first book
# calibredb export 1 --with-library="Calibre Library"
## (Optionally) export all your books
# calibredb export --all --with-library="Calibre Library"