Find a file
2021-07-22 17:29:58 -05:00
.gitignore the script is working correctly, still need to add logins 2021-07-18 19:29:12 -05:00
demo.png updated the demo picture for the new cli 2021-07-22 10:21:34 -05:00
flake.lock flake inputs' nixpkgs are synced 2021-07-21 17:37:35 -05:00
flake.nix flake inputs' nixpkgs are synced 2021-07-21 17:37:35 -05:00
knock nicer console output, doesn't overwrite preexisting epub file 2021-07-22 10:15:17 -05:00
LICENSE added GPLv3 license 2021-07-22 17:29:58 -05:00
README.md added GPLv3 license 2021-07-22 17:29:58 -05:00

Knock

Convert ACSM files to DRM-free EPUB files using one command.

Setup and Installation

  1. Create a free Adobe account here if you do not already have one.
  2. Install the software.
    • For NixOS, include this flake in your system flake.nix.
      inputs.knock.url = github:BentonEdmondson/knock
      outputs = { self, knock }: { /* knock.defaultPackage.x86_64-linux is the package */ }
      
    • For non-NixOS, download the latest release. It is large because it includes all dependencies, allowing it to run on any system with an x86_64 Linux kernel. It was built using nix bundle.
  3. Download the ACSM file from wherever you bought the book.
  4. Run knock my-book.acsm. Enter your Adobe username and password if prompted.

Dependencies

  • libgourou-utils for using the ACSM file to download the corresponding encrypted EPUB file from Adobe's servers
  • inept-epub for decrypting the EPUB file

These are already included in all releases and in the Nix flake of course.

Verified Book Sources

Knock has been verified to work on books provided by the following

  • eBooks.com, as long as the description says

    To download and read this eBook on a PC or Mac:

    • Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

The resulting EPUB file can be read with any EPUB reader.

Legality

It's Perfectly Legal to Tell People How to Remove DRM (Gizmodo)

License

This software is licensed under GPLv3 because its dependencies are licensed under GPLv3 and LGPLv3.

The Name

The name comes from the D&D 5e spell for freeing locked items:

Knock

2nd level transmutation
Casting Time: 1 action
Range: 60 feet
Components: V
Duration: Instantaneous
Classes: Bard, Sorcerer, Wizard
Choose an object that you can see within range. The object can be a door, a box, a chest, a set of manacles, a padlock, or another object that contains a mundane or magical means that prevents access. A target that is held shut by a mundane lock or that is stuck or barred becomes unlocked, unstuck, or unbarred. If the object has multiple locks, only one of them is unlocked. If you choose a target that is held shut with arcane lock, that spell is suppressed for 10 minutes, during which time the target can be opened and shut normally. When you cast the spell, a loud knock, audible from as far away as 300 feet, emanates from the target object.