Files
networking-proxy/references/subscription-v2rayng.md
2026-09-06 13:51:04 +00:00

3.3 KiB

Subscription Distribution for v2rayNG — Session Example

Context

VPS (80.209.240.167, debian, vps03.nixg.ru), XRay с одним UUID на все протоколы. Рабочий протокол: VLESS+WebSocket без TLS на порту 50002. Reality порты (443, 8443, 50000) заблокированы DPI (TLS fingerprint). Shadowsocks нестабилен.

Цель

Раздать конфиг WS 50002 на несколько Android-устройств членов семьи через subscription.

Шаги

1. Установить Caddy

apt-get update && apt-get install -y caddy
systemctl status caddy  # active (running)

2. Создать файл subscription

cat > /etc/caddy/subscription.txt << 'EOF'
vless://cf4d32e5-9c19-460e-a5de-f881b01dcfe1@vps03.nixg.ru:50002?encryption=none&security=none&type=ws&host=discord.com&path=%2F#XRay+WS+50002
EOF

3. Скопировать в document root Caddy

cp /etc/caddy/subscription.txt /usr/share/caddy/subscription

4. Настроить Caddyfile (HTTP только, порт 80)

:80 {
    root * /usr/share/caddy
    file_server
}

5. Перезагрузить и проверить

systemctl stop caddy
# правим Caddyfile
systemctl start caddy
curl -s http://localhost/subscription
# → vless://...  (должен вернуть ссылку)

Генерация share-ссылки

Формат для v2rayNG (VLESS+WS без TLS):

vless://UUID@host:port?encryption=none&security=none&type=ws&host=discord.com&path=%2F#remark
  • path=%2F — это URL-encoded / (корневой путь)
  • host=discord.com — заголовок Host в HTTP Upgrade
  • #remark — имя профиля в v2rayNG

Проблема: Caddy не может занять 443

XRay Reality уже слушает 443. Caddy пытается повесить HTTPS на 443 и падает:

listen tcp :443: bind: address already in use

Решение: раздавать subscription через HTTP (порт 80). v2rayNG не требует HTTPS для subscription.

Добавление в v2rayNG

  1. Открыть v2rayNG
  2. Меню (⋮) → Subscription Group
  3. + → ввести URL: http://vps03.nixg.ru/subscription
  4. ✅ → Update → появится профиль XRay WS 50002
  5. Тапнуть на профиль, чтобы подключиться

Добавление нескольких конфигов

Просто дописать каждую share-ссылку с новой строки в файл /usr/share/caddy/subscription:

vless://...@...:50002?...#WS+50002
vless://...@...:443?...#Reality+443
ss://...@...:50003?...#Shadowsocks

Важные детали

  • UUID общий для семьи — если не нужно разграничение доступа, хватит одного UUID на всех
  • Обновление конфигов — отредактировать файл на сервере → v2rayNG обновит при следующем poll (или нажать Update вручную)
  • HTTP vs HTTPS — subscription не содержит секретов (ссылки уже есть у пользователя), HTTP безопасен для этой задачи