Skip to content

Integration with AdGuard VPN desktop app via proxy mode for per-site routing in browser #244

Description

@ViRGiL175

Issue Details

AdGuard VPN Browser Extension and AdGuard VPN Desktop App currently serve complementary but non-overlapping use cases:

  • The browser extension supports fine-grained, per-site exclusions and routing directly in the browser, but it cannot bypass regional blocks on its own.
  • The desktop app bypasses regional blocks reliably and supports per-application routing, but its exclusions apply to whole apps — not to individual websites opened in the browser.

This creates a gap: users who need desktop apps routed through VPN globally, while also needing per-site VPN control inside the browser, have no way to achieve both at the same time with the current setup.

Proposed solution

AdGuard VPN Desktop already supports a local proxy mode (SOCKS5/HTTP). The browser extension could be extended with an option to connect to the desktop app's local proxy instead of its own VPN tunnel.

This would give users the best of both worlds:

  • The desktop app handles block bypassing and per-application routing.
  • The browser extension, routed through the desktop app's proxy, retains full per-site exclusion and routing controls inside the browser.

Expected workflow:

  1. User enables proxy mode in AdGuard VPN Desktop (e.g. on 127.0.0.1:8080).
  2. In the browser extension settings, user points it to that local proxy address.
  3. The extension continues to work as usual for per-site rules, but all traffic flows through the desktop app's tunnel, inheriting its bypass capabilities.

This is a non-breaking, opt-in feature — existing behavior stays unchanged for users who don't configure it.

Alternative solution

Deep integration between the extension and the desktop app (similar to AdGuard Ad Blocker's companion extension model), where the extension automatically detects a running desktop VPN instance and delegates tunneling to it.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions