Skip to content

About

ACSM to EPUB downloader and decrypter

Resources

Stars

11 stars

Watchers

0 watching

Forks

Repository files navigation

ACSM to EPUB

A command-line interface (CLI) tool to download and decrypt EPUB books directly from .acsm files (Adobe Content Server Message).

This tool automates the process of:

  1. Fulfillment: Turning an .acsm purchase token into an encrypted EPUB file by communicating with Adobe's servers.
  2. Activation: Automatically registering an anonymous Adobe ID to authorize the device.
  3. Decryption: Removing the DRM protection to produce a standard EPUB file that can be read on any device (e.g., Kindle, Apple Books).

Usage

Prerequisites

  • Python 3.7+
  • pip

Installation

  1. Clone the repository:

    git clone https://github.com/mat-mo/acsm-to-epub.git
    cd acsm-to-epub
  2. Create and activate a virtual environment (recommended):

    python3 -m venv venv
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt

Running

To download and decrypt a book:

python main.py <path_to_acsm_file> [output_directory]
  • path_to_acsm_file: The full path to your .acsm file.
  • output_directory: (Optional) Where to save the decrypted EPUB. Defaults to ~/Downloads.

Example:

python main.py ~/Downloads/MyBook.acsm

First Run: The first time you run the tool, it will automatically register a new anonymous Adobe ID to this "device". This is a one-time process.

Credits & Acknowledgements

This project is a consolidation and adaptation of existing open-source tools developed by the dedicated e-book community. It would not exist without the hard work of the following projects:

1. ACSM Input Plugin (acsm-calibre-plugin)

  • Author: Leseratte10
  • Source: https://github.com/Leseratte10/acsm-calibre-plugin
  • License: GNU General Public License v3.0 (GPLv3)
  • Contribution: Provided the core libraries for implementing the Adobe ADEPT protocol in Python. This includes the logic for device registration, account activation, and the fulfillment request that downloads the encrypted book (libadobe*.py, fulfill.py, register_ADE_account.py).

2. DeDRM_tools

  • Authors: Apprentice Harper, noDRM, i♥cabbages, and many other contributors.
  • Source: https://github.com/noDRM/DeDRM_tools
  • License: GNU General Public License v3.0 (GPLv3)
  • Contribution: Provided the robust decryption logic for Adobe Adept EPUBs. The ineptepub.py script and its utilities (zeroedzipinfo.py, utilities.py) were adapted to perform the actual DRM removal using the keys generated by the fulfillment process.

License

This project is licensed under the GNU General Public License v3.0 (GPLv3).

This license is required because this project is a derivative work of acsm-calibre-plugin and DeDRM_tools, which are both GPLv3 licensed software.

See the LICENSE file for the full license text.

About

ACSM to EPUB downloader and decrypter

Resources

Stars

11 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages