Não vou entrar na legalidade da remoção do DRM, pois varia de acordo com o país - em alguns se enquadra no uso justo, em outros a situação é sombria e em outros, no entanto, é explicitamente ilegal.
Os seguintes passos funcionaram para mim, no Ubuntu 18.04.
Instale os programas necessários usando o gerenciador de pacotes
sudo apt-get install wine64
sudo apt-get install calibre
# sudo apt-get install winetricks # this is optional — see below
Baixe outros programas necessários
Plug-in DeDRM
wget https://github.com/apprenticeharper/DeDRM_tools/releases/download/v6.6.3/DeDRM_tools_6.6.3.zip
Kindle para PC v 1.17
(Basicamente, com base nas informações da FAQ oficial (instantâneo) . Link para a versão mais recente .)
Para obter melhores resultados, você precisa de uma versão antiga do Kindle para PC (≤1,17). (Versões ligeiramente mais recentes (≥1,24) usam o formato de arquivo KFX abaixo do ideal para livros baixados, enquanto versões ainda mais recentes não podem ser "exploradas" pelo plugin DeDRM.)
Infelizmente, essa versão do Kindle para PC não está mais disponível nos sites da Amazon, então você precisará pesquisar no google / duckduckgo pelo nome do arquivo KindleForPC-installer-1.17.44170.exe
e fazer o download em algum site superficial. Para garantir que você baixou o arquivo "original" (e não uma versão modificada com malware adicional), é necessário verificar o hash do arquivo. (o md5 está "quebrado" e o sha1 está parcialmente "quebrado", portanto, não recomendo confiar apenas neles.)
sha256sum KindleForPC-installer-1.17.44170.exe | grep 14e0f0053f1276c0c7c446892dc170344f707fbfe99b6951762c120144163200
Se você não confia em mim, uma pessoa aleatória na internet, para lhe dizer o hash correto, (você não tem motivos para), você pode ir para a FAQ oficial acima - afinal, você já está confiando no plug-in DeDRM para não ser malicioso. (Há um espaço no hash sha256, no FAQ, por algum motivo.)
winetricks
Não podemos usar o winetricks para Kindle para PC, pois ele instala a versão 1.20, o que não é tão adequado.
Instale e execute o Kindle para PC
wine64 KindleForPC-installer-1.17.44170.exe
Digite os detalhes da sua conta amazon, faça o download dos livros relevantes para o "dispositivo" (ou seja, o seu computador) etc.
Instale o plug-in DeDRM de calibre
unzip DeDRM_tools_6.6.3.zip
calibre-customize --add DeDRM_calibre_plugin/DeDRM_plugin.zip
Como alternativa, após descompactar, basta instalá-lo via interface padrão do Calibre. (Preferências> Avançado> Plugins> Carregar plug-in do arquivo.)
Extraia suas chaves do Kindle
Se você estiver usando WINE / Linux, o plug-in DeDRM não extrairá as chaves por si só "auto-magicamente" sem alguma brincadeira.
DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
contém algumas sugestões sobre como proceder. Eles parcialmente, mas não completamente funcionaram para mim.
Instale python (dentro do wine)
Para extrair as chaves DRM, um script python (fornecido pelo plug-in calibre) precisará ser executado no wine (idealmente) pelo próprio plug-in calibre. Portanto, você precisa instalar o python no ambiente do wine.
Existem duas alternativas aqui - use winetricks ou instale manualmente a partir do site oficial do python.
Instalação manual (atualmente recomendada)
wget https://www.python.org/ftp/python/2.7.13/python-2.7.13.msi
msiexec /i python-2.7.13.msi ALLUSERS=1
Observe que isso difere das instruções atualmente incluídas DeDRM_calibre_plugin/DeDRM_plugin_ReadMe.txt
pela adição crucial de ALLUSERS=1
.
Winetricks (não recomendado, a menos que você tenha uma nova versão do winetricks)
Se você estiver usando o winetricks instalado a partir dos repositórios do Ubuntu, no 18.04, infelizmente apenas o python-2.6 (com o qual você pode instalar winetricks python26
) está disponível. Como o plug-in de calibre atualmente codifica o caminho para uma instalação python-2.7 padrão, isso é subótimo. Consequentemente, você precisará corrigir o plug-in de calibre ou executar o script wine python por conta própria e copiar as chaves de descriptografia.
Se você possui uma versão mais recente do winetricks, pode instalar o python-2.7.
winetricks python27
Faça com que o script python do vinho seja executado
Para que o plug-in de calibre execute o script, você deve informar onde está localizada sua instalação do wine (o chamado "WINEPREFIX"). Por padrão, o wineprefix é ~/.wine/
. Você pode informar ao plug-in calibre o seu WINEPREFIX
, no Caliber, em Preferências> Avançado> Plug-ins> Plug-ins de tipo de arquivo> DeDRM> Personalizar plug-in> Kindle para PC e Adobe Digital Editions. Você pode solicitar a execução do script pressionando o botão "+" - caso contrário, ele será executado quando você tentar adicionar um livro com o Kindle DRM.
Deve ser isso: quando você adicionar livros ao calibre, eles serão automaticamente removidos do DRM. Como alternativa, você pode olhar para a versão (quase) cli, abaixo, que é retirada da maioria das minhas explicações detalhadas.
Versão (quase) puramente de linha de comando
Não copie e cole tudo isso de uma só vez, pois não funcionará - algumas etapas precisam de participação humana.
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"