Skip to content

Add Proton VPN WireGuard provider - #720

Draft
kasnder wants to merge 1 commit into
masterfrom
agent/proton-vpn-wireguard
Draft

Add Proton VPN WireGuard provider#720
kasnder wants to merge 1 commit into
masterfrom
agent/proton-vpn-wireguard

Conversation

@kasnder

@kasnder kasnder commented Aug 11, 2026

Copy link
Copy Markdown
Member

Summary

This adds an isolated Proton VPN provider boundary for evaluating Proton account login and WireGuard profile refresh support alongside the existing Mullvad path.

Included

  • Proton auth-v4 SRP login.
  • Two-factor completion.
  • Access-token refresh.
  • VPN certificate retrieval.
  • WireGuard logical-server and endpoint parsing.
  • Standard WireGuard config generation.
  • Mutex-protected profile refresh with one authenticated retry after HTTP 401.
  • MockWebServer/Robolectric coverage for request shapes, headers, 2FA, server parsing, config generation, and refresh recovery.

Validation

  • :app:compileGithubDebugKotlin
  • :app:testGithubDebugUnitTest --tests 'net.kollnig.missioncontrol.wg.proton.*'

Follow-up before production

This is intentionally provider-layer work only. Production integration still needs encrypted session persistence, login/settings UI, client key generation, and wiring refresh callbacks into WgEgress. Full native APK assembly was not run because the local NDK installation is incomplete.

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