🔵 Human-written
Enkryptit! - A fast, simple file & folder encryption manager, written in Rust
Warning
This project is currently a work in progress. It is not audited for production security. Os' keyring usage is unstable for now.
- Rust:
1.85+is recommended. - A working native credential store (e.g.
libsecreton Linux, native Keychain on macOS).
If you have cargo installed on your system, run :
cargo install eck# Clone the repository
git clone https://github.com/VRAM-RAM/Enkryptit
cd Enkryptit/
# Build
cargo xtask build --release
# Or Install
cargo xtask installNote
Compilation may take some time because Enkryptit uses an aggressive release profile.
Enkryptit! can be used in two ways: as a CLI tool or as a TUI.
These are the available commands:
| Command | Syntax | Description |
|---|---|---|
| Encrypt / Decrypt | eck <path> |
Automatically encrypts plaintext or decrypts .encky files. |
| Encrypt / Decrypt with a password | eck <path> -p <password> |
Encrypts or decrypts using the specified password. |
| Open TUI | eck ui or eck |
Opens the interactive TUI. |
| Show current parameters | eck parameters or eck params |
Shows the current parameters. |
| Change compression | eck params -c <type> |
Changes the compression algorithm. Available: zstd, lz4, xz, none, and auto. |
| Change key type | eck params -k <type> |
Changes the key type. Available: os, file, and pwd / password. |
| Change parallelism | eck params -p <type> |
Changes the parallelism mode. Available: single, multi, or multi:<threads>. |
| Inspect | eck inspect <path> |
Inspects a file or archive without encrypting or decrypting it. |
Tip
eck <path> and eck inspect <path> support multiple paths:
eck <path1> <path2>
eck inspect myfolder/*
Enkryptit! also provides an interactive terminal user interface.
Launch it with:
eckor:
eck uiIt will open :
Enkryptit
Fast & Simple File Encryption Manager v0.0.3
? What do you want to do?
> Browse
Parameters
Help
Exit
[↑↓ to move, enter to select, type to filter]The Tui allows you to directly browse your files / folders.
Encrypt a file:
eck /home/user/secrets/secrets.txtThis creates:
secrets.txt.encky
To decrypt it:
eck /home/user/secrets/secrets.txt.enckyEncrypt a folder:
eck /home/user/secrets/This creates:
secrets.encky
To decrypt it:
eck /home/user/secrets.enckyMultiple files and folders can be processed at once:
eck /home/user/secrets/* /home/user/secret.txt /lib/secret.binInspect a file without decrypting it:
eck inspect /home/user/my_secret.txt-
Modern primitives — XChaCha20-Poly1305 provides authenticated encryption, protecting encrypted data against unauthorized modification as well as unauthorized access.
-
Flexible key management — use a password, the OS keyring, or a dedicated key file depending on your workflow.
-
Built for large files — chunked streaming encryption avoids requiring the entire file to be loaded into memory.
-
Automatic performance optimization — compression and parallelism can be infered automatically based on the file and its size.
-
First-class folder encryption - encrypt an entire directory into a single
.enckyarchive while preserving its structure and Unix permissions. -
Security-conscious secret handling — keys are memory-locked and zeroized when no longer needed.
-
CLI + TUI — use a fast, scriptable CLI or an interactive terminal interface without needing separate applications.
-
Transparent inspection —
eck inspectcan examine encrypted files and archives without decrypting their contents. -
Extensively tested — 199+ tests cover cryptography, key handling, tamper detection, folder encryption, multithreading, CLI behavior, and TUI flows.
In short: Enkryptit combines strong authenticated encryption, flexible key management, efficient large-file processing, automatic compression and parallelism, and a usable CLI/TUI in one native Rust application.
The full documentation lives in the doc/ folder:
- User guide — bilingual English & French:
- Installation · Command line · Terminal UI
- Errors & output ·
.enckyformat - Français : installation, ligne de commande, interface, erreurs, format
- Developer guide (English): start here — architecture, modules, testing, fuzzing, security.
Enkryptit! contains :
- Its binary, in
eck/ cargo xtaskfor launching tests, fuzzing and rustdoc
You can follow the development in PROGRESSION.md.
You can also help the development by contributing!
This project is dual-licensed under:
- CeCILL-B License (French-law compliant)
- Apache License, Version 2.0
Choose the license that best fits your needs.
