Flamberge is a standalone Rust CLI tool designed to remove DRM from ebooks you own. It supports multiple ebook formats and stores, including Kindle, Kobo, Adobe ADEPT, Barnes & Noble, eReader, and more.
Cross-Platform Compatibility: Runs on Linux, macOS, and Windows with a single static executable.
Automatic Key Discovery: Uses --auto-keys to find local Adobe, Kobo, or Kindle keys on your machine.
Batch Processing: Decrypts entire folders of ebooks at once, providing a detailed summary of results.
Offline Operation: Runs entirely offline without modifying original files.
Target Audience and Benefits:
Ideal for ebook owners who want to unlock their books for personal use. Flamberge is perfect for users looking for a fast, reliable solution that works across platforms, eliminates runtime dependencies, and supports every major ebook store.
README
flamberge
Remove DRM from ebooks you own — a fast, standalone Rust CLI.
flamberge turns a locked book you bought — from Kindle, Kobo, Adobe/library
loans, Barnes & Noble, or eReader — into a plain, standard file (.epub,
.mobi, .pdf, …) that opens in any reader and is yours to keep and back up.
It's a from-scratch reimplementation of the
DeDRM_tools Calibre plugins as
a single self-contained binary — no Calibre, no Python, no plugins.
> Use only on books you own, where removing DRM for personal use is lawful in
> your jurisdiction.
New to any of this? The User Guide explains — from zero —
what DRM is, where your key comes from, and how to unlock your books store by
store. Start there if the terms "DRM" or "key" are unfamiliar.
Why flamberge
One binary, no runtime. A single static executable — no Calibre install,
no Python, no plugin wrangling.
Every major store. Kindle (Mobipocket/Topaz/KFX), Kobo, Adobe ADEPT
(EPUB + PDF), Barnes & Noble (EPUB + PDF), and eReader.
Finds your keys for you.--auto-keys pulls local Adobe/Kobo/Kindle keys
off this machine; dedicated keys subcommands generate or extract them.
Batch-friendly. Point it at a whole folder and get a per-file summary.
Private and safe. Runs entirely offline, never touches your original file
(output is always a new file), and is fully open-source and auditable.
Cross-platform. Decryption is pure Rust on Linux, macOS, and Windows.
Quickstart
# 1. Install (see Install below for every option)
cargo install flamberge
# 2. Unlock a book, supplying your key
flamberge decrypt book.azw --serial B001234567890123 # Kindle device serial
flamberge decrypt book.epub --auto-keys # Adobe / library (finds your key)
# 3. Done — the unlocked book is written next to the original as book_nodrm.
Not sure where your key comes from? That's exactly what the
User Guide walks through, one
store at a time.
Install
Pick your platform's package manager:
Manager
Command
Platforms
cargo (crates.io)
cargo install flamberge
any (builds from source)
Nix
nix profile install github:kessriga/flamberge (or nix run github:kessriga/flamberge)
Linux, macOS
Homebrew
brew install kessriga/flamberge/flamberge
macOS (Apple Silicon), Linux (x86_64)
mise
mise use -g ubi:kessriga/flamberge
Linux, macOS, Windows
winget
winget install Kessriga.Flamberge
Windows (x86_64)
Scoop
scoop bucket add flamberge https://github.com/kessriga/scoop-flamberge then scoop install flamberge
Windows (x86_64)
Chocolatey
choco install flamberge
Windows (x86_64)
Arch (AUR)
yay -S flamberge-bin
Linux (x86_64)
Debian/Ubuntu
dpkg -i flamberge__amd64.deb (from Releases)
Linux (x86_64)
Fedora/RHEL
rpm -i flamberge--1.x86_64.rpm (from Releases)
Linux (x86_64)
> Live now: crates.io, Nix, Scoop, mise, and the pre-built binaries (incl.
> .deb/.rpm). The Homebrew, winget, Chocolatey, and AUR entries are still
> being registered (see packaging/README.md) — until
> each is live, use one of the above or build from source below.
Pre-built binaries. Every tagged release attaches an optimized flamberge
binary for Linux (x86_64), macOS (Apple Silicon), and Windows (x86_64), plus
.deb/.rpm packages and a SHA256SUMS file for verification. Grab the archive
for your platform from the
Releases page, unpack it, and
put flamberge on your PATH.
From source (needs Rust ≥ 1.85):
cargo install flamberge # from crates.io
cargo install --path crates/flamberge-cli # from a local checkout
cargo build --release # or just build in place → target/release/flamberge
Usage
The scheme is chosen automatically by file extension, then every candidate key is
tried. Output defaults to _nodrm. next to the input; your original is
never modified.
# Decrypt a single book with an explicit key
flamberge decrypt book.azw --serial B001234567890123
flamberge decrypt book.epub --adept-key adobekey.der
flamberge decrypt book.kepub.epub --kobo-db KoboReader.sqlite
# Best-effort: discover local Adobe/Kobo/Kindle keys on this host first
flamberge decrypt book.epub --auto-keys
# Batch: several files or a whole directory → per-file OK/SKIP/FAIL summary
flamberge decrypt ~/Books --output-dir ~/Books/nodrm --auto-keys
# Generate keys offline (from your name + card, or a Kindle serial)
flamberge keys ignoble --name "Jane Q. Reader" --cc "1234 5678 9012 3456"
flamberge keys ereader --name "Jane Q. Reader" --cc "4111 1111 1111 1111"
flamberge keys eink-pid --serial B001234567890123
# Extract keys from local DRM-app state
flamberge keys adobe # macOS Adobe Digital Editions activation.dat
flamberge keys kobo # Kobo device / desktop DB + network-card IDs
flamberge keys kindle --k4i my.k4i # decode a Kindle .k4i / .kinf / Android artifact
Run flamberge --help or flamberge --help for the full option list.
For a guided, store-by-store walkthrough, see the User Guide.
Supported stores & formats
Decryption is pure Rust and runs on every platform; all schemes are implemented
and tested end-to-end. "Where the key comes from" is covered per store in the
User Guide.
Kobo user key + library DB (keys kobo / --kobo-db)
Key extraction by platform. Decryption works everywhere; only the automatic
gathering of another app's local key state is platform-dependent — notably, the
Adobe key auto-extracts on macOS but must be exported to a .der on Windows. The
full matrix is in the
User Guide.
How it works
flamberge is a Cargo workspace; the CLI is a thin driver over layered libraries.
Dependency direction: crypto ← formats, keys ← schemes ← cli. The
flamberge crate itself is the CLI binary, so it has no docs.rs page; the
library crates above are documented on docs.rs. The byte-level algorithm
reference for every scheme lives in
docs/DEDRM_SCHEMES.md.
Build and test the workspace:
cargo build # or cargo build --release
cargo test # unit + cross-scheme integration tests
Documentation
User Guide — start here if you're new: what DRM is, and how
to unlock your books store by store.
Scheme reference — byte-level spec for every DRM
scheme (offsets, constants, key derivation).