国によって異なるため、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 for PC v 1.17
(密接に公式FAQ(スナップショット)からの情報に基づいています。最新バージョンにリンクしてください。)
最良の結果を得るには、古いバージョンのKindle for PC(≤1.17)が必要です。(わずかに新しいバージョン(≥1.24)は、ダウンロードされた本に対して次善のKFXファイル形式を使用しますが、さらに新しいバージョンは、DeDRMプラグインによって「悪用」することはできません。)
残念ながら、そのバージョンのKindle for PCはAmazonのWebサイトから入手できなくなったため、ファイル名をgoogle / duckduckgoに入力して、おおよそのKindleForPC-installer-1.17.44170.exe
Webサイトからダウンロードする必要があります。「ボーナスマルウェアを含む変更されたバージョンではなく」「元の」ファイルをダウンロードしたことを確認するには、ファイルのハッシュを確認する必要があります。(md5は「壊れている」、sha1は部分的に「壊れている」ので、それらだけに依存することはお勧めしません。)
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
私を信頼していない場合、インターネット上のランダムな人物が正しいハッシュを教えてくれます(理由はありません)。上の公式FAQにアクセスできます。結局のところ、DeDRMプラグインはすでに信頼されています。悪意がないように。(どういうわけか、FAQのsha256ハッシュにスペースがあります。)
ワイントリックス
Kindle for PC for winetricksを使用することはできません。バージョン1.20がインストールされるため、適切ではありません。
Kindle for PCをインストールして実行する
wine64 KindleForPC-installer-1.17.44170.exe
アマゾンアカウントの詳細を入力し、関連する書籍を「デバイス」(つまりコンピュータ)などにダウンロードします
口径DeDRMプラグインをインストールします
unzip DeDRM_tools_6.6.3.zip
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
または、解凍後、Calibreの標準UIからインストールすることもできます。(設定>詳細設定>プラグイン>ファイルからプラグインを読み込みます。)
Kindleキーを抽出する
WINE / Linuxを使用している場合、DeDRMプラグインは、いじらなくてもそれ自体で「自動的に」キーを抽出しません。
DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
続行する方法に関するいくつかの提案が含まれています。彼らは部分的に、しかし私にとっては完全には機能しませんでした。
Pythonをインストールする(wine内)
DRMキーを抽出するために、Pythonスクリプト(口径プラグインによって提供される)は口径プラグイン自体によって(理想的には)wine 内で実行される必要があります。したがって、ワイン環境内にpythonをインストールする必要があります。
ここには2つの選択肢があります。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の新しいバージョンがない場合はお勧めしません)
Ubuntuのリポジトリからインストールされたwinetricksを18.04に使用している場合、残念ながらpython-2.6(でインストールできるwinetricks python26
)のみが利用可能です。現在、口径プラグインは標準のpython-2.7インストールへのパスをハードコード化しているため、最適ではありません。したがって、口径プラグインにパッチを適用するか、自分でwine pythonスクリプトを実行して、復号化キーをコピーする必要があります。
winetricksの新しいバージョンがある場合は、python-2.7をインストールできます。
winetricks python27
wine pythonスクリプトを実行する
口径のプラグインがスクリプトを実行するためには、あなたのワインのインストールがどこにあるかを言わなければなりません(いわゆる "WINEPREFIX")。デフォルトでは、wineprefixは~/.wine/
です。WINEPREFIX
Calibreで、[設定]> [詳細]> [プラグイン]> [ファイルタイププラグイン]> [DeDRM]> [プラグインのカスタマイズ]> [Kindle for PC and 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"