Skip to content

Suggestion: advanced traffic routing (GeoSite/GeoIP) and integration of AdGuard VPN with third-party proxy clients #1220

Description

@Azimut90

Issue Details

Сейчас я использую AdGuard VPN, однако для более сложных сценариев маршрутизации приходится дополнительно использовать приложения на базе XRay/Clash, например Stash или Karing.
Основная причина — возможность задавать правила, определяющие, какой трафик должен идти напрямую, а какой — через определённый VPN/proxy-сервер.

Было бы здорово, если подобный функционал был реализован кроссплатформенно и был доступен в версиях AdGuard VPN для: iOS, Windows, Android.

Пример практического сценария. Мне необходимо, например:

  • российские сайты и IP-адреса направлять напрямую;
  • сервисы Apple также отправлять напрямую;
  • отдельные сервисы направлять через сервер в США;
  • некоторые сайты — через сервер в другой выбранной стране;
  • для остального трафика использовать выбранный вручную VPN-сервер.

В Stash подобная логика может строиться с использованием баз GeoSite и GeoIP и правил примерно следующего типа:

GEOSITE,category-ru,DIRECT
GEOIP,RU,DIRECT
GEOSITE,apple,DIRECT
DOMAIN-SUFFIX,pandora.com,US
MATCH,PROXY

Это значительно удобнее обычного режима split tunneling по приложениям, поскольку маршрутизация выполняется на уровне доменов, IP-адресов и групп сервисов.

Возможные варианты реализации

Вариант 1. Реализовать расширенную маршрутизацию непосредственно в AdGuard VPN

Было бы полезно добавить поддержку правил на основе: GeoSite, GeoIP;

Для каждого правила желательно иметь возможность выбирать маршрут:

  • DIRECT;
  • AdGuard VPN;
  • конкретная страна;
  • конкретная VPN-локация;
  • группа серверов.

Особенно полезной была бы возможность одновременно использовать несколько маршрутов, например:

RU → DIRECT
Apple → DIRECT
Pandora → AdGuard VPN USA
остальной трафик → выбранный пользователем сервер AdGuard VPN

То есть фактически речь идёт о rule-based routing, аналогичном тому, который используется в Stash, Karing, Clash/XRay и других подобных клиентах.

Вариант 2. Дать возможность использовать серверы AdGuard VPN через сторонние клиенты

Альтернативный вариант — предоставить возможность использовать подписку AdGuard VPN в Stash, Karing и других совместимых клиентах.

Например, это мог бы быть:

  • VLESS-профиль / subscription URL;
  • SOCKS5 proxy;
  • другой стандартный proxy-интерфейс, подходящий для подобных клиентов.

В таком случае AdGuard VPN предоставлял бы VPN-инфраструктуру и серверы, а пользователь при необходимости мог бы самостоятельно реализовать сложную маршрутизацию в Stash/Karing или другом совместимом клиенте.

Для iOS этот вариант особенно полезен, поскольку одновременно запускать два независимых VPN-клиента затруднительно: и AdGuard VPN, и Stash используют системный VPN-туннель.

Почему это может быть полезно

Современные VPN всё чаще используются не просто по принципу «весь трафик через одну страну».
Например, пользователю может одновременно требоваться:

  • локальный трафик — напрямую;
  • часть иностранных сервисов — через США;
  • другая часть — через европейский сервер;
  • банковские и локальные приложения — без VPN.

Кроме того, у одного пользователя обычно несколько устройств и операционных систем. Поэтому особенно ценным был бы "единый механизм маршрутизации AdGuard VPN для iOS, Android и Windows", желательно с возможностью синхронизации или переноса правил между устройствами.

Поддержка GeoSite/GeoIP и более гибких правил значительно расширила бы возможности AdGuard VPN для продвинутых пользователей.

Если реализация полноценного rule-based routing внутри AdGuard VPN слишком сложна, возможность использования серверов AdGuard VPN через стандартный proxy-протокол или subscription для сторонних клиентов также решила бы эту задачу.

Proposed solution

.

Alternative solution

.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions