Skip to content

Adopt the shared flexaccess-iroh transport layer - #60

Merged
andrewchen5678 merged 2 commits into
mainfrom
adopt-flexaccess-iroh
Sep 4, 2026
Merged

andrewchen5678 merged 2 commits into
mainfrom
adopt-flexaccess-iroh

Conversation

@andrewchen5678

Copy link
Copy Markdown
Collaborator

Replaces ezvpn's copies of the shared iroh logic with the flexaccess-iroh crate (v0.0.3): RelayConfig and the per-relay startup probe, the endpoint creation-vs-rebuild policy, the home-relay watchdog (src/transport/relay_watchdog.rs deleted), and the endpoint-bound auth transcript. What stays is ezvpn's own: the VPN ALPN, QUIC transport tuning, the bounded connect, the ezvpn-client-auth-v1 context, key-file loading, and VpnServer::run's serve loop.

  • The iroh fork is applied through [patch.crates-io] instead of a git dependency, so the shared crate's iroh resolves to the same package (same locked commit as before).
  • create_client_endpoint drops its always-None secret parameter.
  • Behavior change: client endpoints no longer publish their address to n0 pkarr on the default relays. A client only dials out and its credential is the auth keypair, so advertising an ephemeral id served nothing (flextunnel already behaves this way).
  • Docs: the relay-watchdog section points at the crate; AGENTS.md records where the shared code lives.

Validation (Linux): cargo clippy --all-targets -- -D warnings clean; cargo test 202 + 5 + 3 passed; cargo ndk -t arm64-v8a --platform 29 clippy --lib -- -D warnings clean. The CI workflow is dispatched on this branch for the macOS/Windows-gated modules and the xcframework/DLL builds.

🤖 Generated with Claude Code

https://claude.ai/code/session_018wFg6mkqdqfVXBorM2bfm8

Andrew Chen and others added 2 commits September 4, 2026 08:40
Replace ezvpn's copies of the relay configuration and per-relay probe, the
endpoint creation-vs-rebuild policy, the home-relay watchdog, and the
endpoint-bound auth transcript with the shared `flexaccess-iroh` crate
(v0.0.3). What stays here is ezvpn's own: the VPN ALPN, its QUIC transport
tuning, the bounded connect, the `ezvpn-client-auth-v1` context, key files,
and the serve loop.

The iroh fork is now applied through `[patch.crates-io]` instead of a git
dependency so the shared crate's `iroh` resolves to the same package.

One behavior change: client endpoints no longer publish their address to n0
pkarr on the default relays. A client only dials out and its credential is
the auth keypair, so advertising an ephemeral id served nothing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018wFg6mkqdqfVXBorM2bfm8
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018wFg6mkqdqfVXBorM2bfm8
@andrewchen5678
andrewchen5678 merged commit 9410b3e into main Sep 4, 2026
6 checks passed
@andrewchen5678
andrewchen5678 deleted the adopt-flexaccess-iroh branch September 4, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant