Skip to content

feat(VPN): add VPN management support (WireGuard + OpenVPN)#21

Merged
cachebag merged 9 commits into
masterfrom
feat/vpn
May 21, 2026
Merged

feat(VPN): add VPN management support (WireGuard + OpenVPN)#21
cachebag merged 9 commits into
masterfrom
feat/vpn

Conversation

@cachebag
Copy link
Copy Markdown
Contributor

Introduce a full VPN workflow to the GTK4 GUI:

  • VPN list section in the main network view showing saved connections with type badges (WireGuard/OpenVPN), connected status, and an "Add VPN" button
  • VPN details page with basic info, network config (IP, gateway, DNS), and protocol-specific sections; includes Connect/Disconnect and Forget actions
  • VPN add page with tabbed interface for creating WireGuard tunnels (name, gateway, private key, address, peer config) and importing OpenVPN .ovpn files with optional credentials
  • Extended NetworksContext with vpn_details_page for navigation
  • VPN section rendered in both refresh_networks and refresh_networks_no_scan in header.rs
  • VPN-specific CSS classes using the existing variable system for theme compatibility
  • Pointer cursor on all interactive elements via global CSS rule
  • Flattened Cargo.toml to remove unnecessary workspace indirection; nmrs dependency points to local path for development

Introduce a full VPN workflow to the GTK4 GUI:

- VPN list section in the main network view showing saved connections
  with type badges (WireGuard/OpenVPN), connected status, and an
  "Add VPN" button
- VPN details page with basic info, network config (IP, gateway, DNS),
  and protocol-specific sections; includes Connect/Disconnect and
  Forget actions
- VPN add page with tabbed interface for creating WireGuard tunnels
  (name, gateway, private key, address, peer config) and importing
  OpenVPN .ovpn files with optional credentials
- Extended NetworksContext with vpn_details_page for navigation
- VPN section rendered in both refresh_networks and
  refresh_networks_no_scan in header.rs
- VPN-specific CSS classes using the existing variable system for
  theme compatibility
- Pointer cursor on all interactive elements via global CSS rule
- Flattened Cargo.toml to remove unnecessary workspace indirection;
  nmrs dependency points to local path for development
@cachebag cachebag self-assigned this May 21, 2026
@cachebag cachebag added the enhancement New feature or request label May 21, 2026
@cachebag cachebag merged commit 1b80af8 into master May 21, 2026
2 checks passed
@cachebag cachebag deleted the feat/vpn branch May 21, 2026 02:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant