The goal of the prototype is not to build “another VPN”, but to experiment with a different connection model where the session identity is the stable anchor and transports are replaceable.
In the demos the session survives events like:
• transport failure • relay change • path replacement • NAT rebinding
The runtime treats these events as state transitions rather than connection resets.
Current prototype includes:
• session runtime with deterministic state machine • transport abstraction layer • relay forwarding experiments • trace-based invariant verification
Right now everything is still very experimental.
The main question I'm exploring is whether a session-centric model could simplify recovery logic under network volatility compared to tunnel-centric designs.
Building a VPN where session is the stable anchor, transport is volatile/replaceable.
Pushed new 60-second demos: - Multipath failover (one path dies → seamless switch) - Path kill & recover - Distributed ownership takeover - NAT rebinding test
Also: basic UDP echo server runs in Termux on Android phone.
Repo: https://github.com/Endless33/jumping-vpn-preview
Short video (UDP test): https://vm.tiktok.com/ZNRuY8uug/
Looking for feedback on: - session vs tunnel-centric approach - invariants / state machine - next: QUIC + real multipath
What do networking / Go people think?
This makes it possible to verify protocol invariants and replay execution traces to debug recovery behavior.