eed is a minimal encrypted line editor written in C. It edits one file at a time, keeps plaintext in memory, and writes authenticated ciphertext to disk.
- Password-based encryption with
Argon2id+AES-256-GCM - Atomic saves
- File locking to prevent concurrent edits
- Basic line editing commands: append, insert, change, delete, print, search, substitute, write, quit
- Encrypted hidden sidecar
.<filename>.bakfor the latest saved state
eed needs a C compiler and OpenSSL 3.5+.
The Makefile does not auto-detect OpenSSL. You must point it at your OpenSSL installation yourself.
If your OpenSSL install uses the usual prefix layout:
make OPENSSL_PREFIX=/path/to/opensslIf you need to pass the flags explicitly:
make OPENSSL_CFLAGS='-I/path/to/openssl/include' \
OPENSSL_LDFLAGS='-L/path/to/openssl/lib' \
OPENSSL_LIBS='-lcrypto'Some platforms may also need extra compiler defines in CPPFLAGS.
Example on this macOS setup:
make OPENSSL_PREFIX=/Users/ettore/Devel/openssl \
CPPFLAGS='-D_DARWIN_C_SOURCE'./eed secret.eedTo require mlockall() for extra hardening:
./eed -m secret.eedThis is intentionally small and strict: one buffer, one file, no undo, no shell escapes, no rich UI. Memory locking is optional and only enabled when you pass -m.