/adobe_diged_docker

Runs Adobe Digital Editions 2.0.1 in a Docker container using Wine and automates the downloading of e-books from ACSM files.

Primary LanguageShellMIT LicenseMIT

Adobe Digital Editions Dockerized

Runs Adobe Digital Editions 2.0.1 in a Docker container using Wine and automates the downloading of e-books from ACSM files.

Authorizing Adobe IDs

One or more Adobe IDs may be authorized. There will be a Docker image for each Adobe ID holding the authorized installation of Adobe Digital Editions. When authorizing a new Adobe ID a unique tag for the Docker image must be provided. One might for example use the name of the person the Adobe ID belongs to.

./newid alice

This will run a Docker container and install a fresh instance of Adobe Digital Editions inside. Open a VNC client of your choice (TigerVNC works) and connect to localhost:5900. When the script runs for the first time the Dockerfile is built before the VNC server starts. Be patient and retry connecting. Once you're connected you will likely be seeing a blackscreen. Wait for the Adobe Digital Editions installer to pop up and advance the installation. This should open up the application. Authorize your Adobe ID under Help -> Authorize Computer then exit via File -> Exit which will stop the container. This creates the Docker image adobe_diged_docker:alice holding the authorized instance of Adobe Digital Editions. The script must be started from the git repository in order to locate the Dockerfile and cannot be running in parallel due to the open port.

Downloading Books

This process of downloading e-books is fully automated and can easily be integrated into an existing script.

./bookdl alice,bob mybook.acsm

This will start the Docker containers adobe_diged_docker:alice and adobe_diged_docker:bob and pass the ACSM file to both instances of Adobe Digital Editions. Since there is no good way to detect failure we just wait for any instance to download the book to disk. The optional third argument specifies the directory to put the downloaded book and defaults to the current directory. If no instance started the download after 20 seconds the script timeouts with a non-zero exit status. The script can be executed from any directory and multiple invocations can run in parallel.

DeDRM Key Retrieval

Keys for DeDRM can be generated from an authorized Adobe Digital Editions installation.

./getkey alice

An optional second argument specifies the directory to put the generated key file and defaults to the current directory.

Known Issues

This was developed on Arch Linux and it turned out later it doesn't run on Debian 10. It will however work on Debian 11. My best guess is that it doesn't work with older kernels.