Lean Tor messenger: Arti in-process, identity=pubkey, onion=locator. No XMPP.
Find a file
Sirius DevOps 84b9c940cc
Add M0 Arti two-node onion byte-pipe test.
Two in-process TorClients host v3 onions, echo ping over Tor, keep the
same locator across restart, and still accept after DormantMode::Soft.
2026-09-10 01:18:28 -04:00
src Initial Cargo bin scaffold 2026-09-10 01:02:33 -04:00
tests Add M0 Arti two-node onion byte-pipe test. 2026-09-10 01:18:28 -04:00
.gitignore Initial Cargo bin scaffold 2026-09-10 01:02:33 -04:00
Cargo.lock Add M0 Arti two-node onion byte-pipe test. 2026-09-10 01:18:28 -04:00
Cargo.toml Add M0 Arti two-node onion byte-pipe test. 2026-09-10 01:18:28 -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