VexVPN: руководство для провайдеров
Какие ссылки серверов понимает приложение VexVPN (iOS). Документ для тех, кто выдаёт пользователям ссылки из своей панели (Remnawave, Marzban, 3x-ui и другие) или со своего сервера. Действует с версии 1.1.
Приложение — клиент: своих серверов у него нет. Пользователь вставляет ссылки серверов, сканирует QR-код или
открывает ссылку vexvpn://import; эти ссылки никуда не отправляются, приложение подключается по ним напрямую.
1. Ссылки серверов
Обычный текст или base64 (стандартный или URL-safe, с = или без): по одной ссылке на строку, до 512
строк. Строки неподдерживаемых форматов (hysteria2, tuic, wireguard и другие) пропускаются. Если не
разобралась ни одна строка, показывается ошибка первой строки. Название сервера — фрагмент #…
(для vmess — ps).
Для ссылок приложение само строит конфигурацию: loopback SOCKS → outbound ссылки, домен сервера резолвит система. Своих DNS и routing у такой конфигурации нет.
| Протокол | Поддерживается |
|---|---|
vless://uuid@host:port?…#имя |
encryption=none; flow=xtls-rprx-vision или xtls-rprx-vision-udp443 |
vmess://base64(JSON) |
формат v2rayN; только AEAD (aid=0); scy: auto, aes-128-gcm, chacha20-poly1305, none, zero |
trojan://password@host:port?…#имя |
по умолчанию security=tls |
ss://…#имя |
SIP002 и старый base64-формат; методы aes-128-gcm, aes-256-gcm, chacha20-(ietf-)poly1305, xchacha20-(ietf-)poly1305, 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305, none. Плагины (plugin=) не поддерживаются |
Параметры транспорта (type=, для vmess — net):
type |
Параметры |
|---|---|
tcp / raw (по умолчанию) |
headerType только none |
ws |
path (по умолчанию /), host |
grpc |
serviceName, mode=multi, authority |
httpupgrade |
path, host |
xhttp / splithttp |
path, host, mode (auto, packet-up, stream-up, stream-one), extra (JSON) |
Параметры защиты (security=):
security |
Параметры |
|---|---|
none (по умолчанию для vless) |
— |
tls |
sni (или peer), alpn через запятую, fp. Без sni проверяется host или домен сервера |
reality |
обязательны sni и pbk (43 символа, 32 байта); sid — hex, до 16 символов; spx; fp (по умолчанию chrome) |
fp: chrome, firefox, safari, ios, android, edge, 360, qq, random, randomized. Другие
значения и неизвестные type / security — отказ по этой строке с названием параметра. Другие
неизвестные параметры игнорируются.
2. QR-код
В приложении: «Сканировать QR-код» — камерой или из фото. QR-код может содержать то же, что пользователь
вставил бы сам: одну ссылку сервера, несколько ссылок по одной на строку или ссылку vexvpn://import (раздел 3).
Если на фото несколько кодов, добавляется первый подходящий.
3. Кнопка «Добавить в VexVPN» на вашем сайте
vexvpn://import?link=<ссылка сервера vless/vmess/trojan/ss, URL-encoded>
Приложение спрашивает подтверждение и ничего не делает без него. Если ссылки уже добавлены, они заменяются, VPN отключается. Сами по себе такие ссылки VPN не включают.
4. Проверка
Вставьте ссылку в приложение: должен появиться сервер с пингом, затем подключение.