- Odin 86.1%
- Nix 13.9%
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| main.odin | ||
| README.md | ||
remove-thy-shackles
Fulfill Adobe .acsm ebook tokens and strip Adobe ADEPT DRM, producing clean
EPUBs. No Calibre, no Calibre plugins, no Adobe Digital Editions.
A small Odin CLI that wraps the libgourou
binaries (adept_activate, acsmdownloader, adept_remove), which implement
the whole Adobe RMSDK pipeline. Uses anonymous activation, so no Adobe ID is
ever needed.
Install
nix profile install . # installs remove-thy-shackles with libgourou on PATH
nix run . -- --help # or run without installing
For hacking:
nix develop # odin + libgourou + openssh
odin run . -- --help
Usage
One-time setup (creates anonymous device keys in ~/.config/adept):
remove-thy-shackles activate
Fulfill an ACSM token and strip the DRM in one go:
remove-thy-shackles ~/Downloads/SomeBook_9781234567890.acsm
remove-thy-shackles book1.acsm book2.acsm -o ~/books
Decrypt an already-fulfilled (still encrypted) epub:
remove-thy-shackles encrypted.epub -o ~/books
Send the result straight to the Unraid bookdrop (Grimmory's watch folder). The uploaded file is chowned to 1000:1000 because the Grimmory container runs as uid 1000 and silently refuses to import root-owned files:
remove-thy-shackles book.acsm --bookdrop
If you skip activate, it runs automatically the first time it's needed.
Config
~/.config/remove-thy-shackles/config, one key = value per line, # comments
allowed. CLI flags win over config values.
bookdrop = true
out_dir = ~/books
bookdrop_host = unraid
bookdrop_dir = /mnt/user/data/downloads/books
Keys
Device keys are created by adept_activate -a (anonymous) and live in
~/.config/adept (device.xml, activation.xml, devicesalt). Set
ADEPT_DIR to use a different location; the libgourou tools also look there
first.
Errors
Non-zero exit on any failure: expired or already-used ACSM tokens,
unfulfillable loans, missing/wrong keys, unreachable bookdrop host, failed
chown. Each remaining file is still processed when one fails.
Legality
Removing DRM from books you own is your responsibility; know your local laws.