Lean Tor messenger: Arti in-process, identity=pubkey, onion=locator. No XMPP.
Find a file
Sirius DevOps 07aa97711c
[verified] Add F4 onion locator rotate with signed loc frames.
Identity key stays put. Typing ROTATE publishes a new Arti HS, hard-cuts
the old nickname, persists self.onion, and pushes loc to reachable friends.
2026-09-10 02:43:45 -04:00
src [verified] Add F4 onion locator rotate with signed loc frames. 2026-09-10 02:43:45 -04:00
tests [verified] Add F4 onion locator rotate with signed loc frames. 2026-09-10 02:43:45 -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