Find a file
2022-06-07 21:13:45 -04:00
.github/workflows github actions test added, but disabled until auto-releases are added 2022-06-05 21:25:07 -04:00
src added formatters to flake and formatted 2022-06-07 21:13:45 -04:00
tests added formatters to flake and formatted 2022-06-07 21:13:45 -04:00
.gitignore switched from python to cpp 2022-06-04 23:14:43 -04:00
flake.lock removed deprecated syntax from flake 2022-06-06 22:32:55 -04:00
flake.nix added formatters to flake and formatted 2022-06-07 21:13:45 -04:00
license lowercased file names, tweaked a bit of output 2021-09-12 19:41:59 -05:00
readme.md added formatters to flake and formatted 2022-06-07 21:13:45 -04:00

Knock

Convert ACSM files to PDF/EPUBs with one command on Linux (and MacOS very soon).

This software does not utilize Adobe Digital Editions nor Wine. It is completely free and open-source software written natively for Linux.

Installation

  • Download the latest release. Make sure it is the correct version for your architecture (run uname -m to check).
  • Rename the binary and make it executable.
  • Run knock /path/to/book.acsm to perform the conversion.

Dependencies

There are no userspace runtime dependencies.

Verified Book Sources

Knock should work on any ACSM file, but it has been specifically verified to work on ACSM files purchased eBooks.com and Kobo, among others.

Before buying your ebook, check if it is available for free on Project Gutenberg.

Contributing

Install Nix if you don't have it. Enable flakes if you haven't.

Building

nix build

Updating

nix flake update

Testing

nix run .#tests -- ./tests/workspace

Test books can be found here.

Formatting

nix develop
fmt
exit

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.

License

This software is licensed under GPLv3. The linked libraries have various licenses.