mirror of
https://gitverse.ru/kpa39l/networking-proxy.git
synced 2026-09-29 09:15:02 +00:00
97 lines
3.3 KiB
Markdown
97 lines
3.3 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
apt-get update && apt-get install -y caddy
|
|
systemctl status caddy # active (running)
|
|
```
|
|
|
|
### 2. Создать файл subscription
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
cp /etc/caddy/subscription.txt /usr/share/caddy/subscription
|
|
```
|
|
|
|
### 4. Настроить Caddyfile (HTTP только, порт 80)
|
|
|
|
```caddyfile
|
|
:80 {
|
|
root * /usr/share/caddy
|
|
file_server
|
|
}
|
|
```
|
|
|
|
### 5. Перезагрузить и проверить
|
|
|
|
```bash
|
|
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 безопасен для этой задачи |