Commit graph

4 commits

Author SHA1 Message Date
e4c4d0d619 Add unicast discovery so peers auto-appear over a VPN
Add a 'Discover on (IP or subnet)' setting (and --discover flag) that announces
presence by unicast to the given addresses, since multicast cannot cross a VPN
tunnel. Each newly seen peer is answered directly, so one side configuring the
subnet is enough for both to appear. Documented in the README.
2026-08-21 11:29:52 +02:00
907a0eeb55 Make the listen port configurable from the settings panel
Add a 'Your port' field in the settings panel: empty keeps local-network mode
with an ephemeral port, a value rebinds the TCP listener to a stable address
for dialing over a VPN. Active conversations survive the rebind. Adds
controller.set_listen_port and a rebindable transport.start(port).
2026-08-21 10:11:33 +02:00
4dfb53a59e Add direct connect by address for use across a VPN
Multicast discovery cannot traverse a VPN tunnel (WireGuard, Tailscale), so add
a controller dial-by-address path and a --port flag for a stable address. The
GUI settings panel shows your port and offers a 'Connect to host:port' field;
dialed and inbound peers now appear in the sidebar. Documented in the README.
2026-08-21 09:46:15 +02:00
bfd8b510b6 Initial neotalk: P2P encrypted chat over UDP discovery + TCP streaming
Clean architecture (core use cases + infra gateways), X25519/AES-GCM E2E
encryption, tkinter GUI, and a pytest suite. 45 tests passing.
2026-08-21 09:16:07 +02:00