Lean Tor messenger: Arti in-process, identity=pubkey, onion=locator. No XMPP.
Find a file
Sirius DevOps a2dfe3b2b8
Add Noise IK encrypted stream over Arti.
M3: framed Noise_IK_25519_ChaChaPoly_BLAKE2s on the onion pipe, QR-pinned
identity proofs, plaintext only in sqlite. Live two_node send of hello wire.
2026-09-10 02:07:40 -04:00
src Add Noise IK encrypted stream over Arti. 2026-09-10 02:07:40 -04:00
tests Add Noise IK encrypted stream over Arti. 2026-09-10 02:07:40 -04:00
.gitignore Initial Cargo bin scaffold 2026-09-10 01:02:33 -04:00
Cargo.lock Add Noise IK encrypted stream over Arti. 2026-09-10 02:07:40 -04:00
Cargo.toml Add Noise IK encrypted stream over Arti. 2026-09-10 02:07:40 -04:00
LICENSE Initial Cargo bin scaffold 2026-09-10 01:02:33 -04:00
README.md Initial Cargo bin scaffold 2026-09-10 01:02:33 -04:00

OnionWire

Lean Tor messenger: one Rust process (ratatui + E2EE + sqlite + in-process Arti). Two people scan a QR, then chat. No hosted server.

Locked model

  • Identity = ed25519 public key. Friends are UNIQUE(pubkey).
  • Onion = locator only. It can change. Never treat .onion as the roster key.
  • F4 rotates the onion (confirm by typing ROTATE). Same identity key. Offline friends need a QR rescan.
  • No XMPP, no Prosody, no s2s, no C-tor binary, no DHT, no outbox in v1.

Plan of record: /home/lancelot/.hermes/plans/2026-09-10_004409-onionwire-lean.md

License

MIT