Update docs with Reality and tricky SNI recommendations

ospab 2026-05-24 23:14:55 +03:00
parent fe1cb7f196
commit 43b4935fd2
2 changed files with 34 additions and 32 deletions

@ -149,24 +149,26 @@ Proxy unrecognized TCP connections to a web server, making OSTP look like a regu
| `mux.enabled` | bool | Distribute streams across multiple sessions | | `mux.enabled` | bool | Distribute streams across multiple sessions |
| `mux.sessions` | int | Number of parallel OSTP sessions | | `mux.sessions` | int | Number of parallel OSTP sessions |
### xHTTP Stealth (UoT) ### xHTTP Stealth (UoT) & XTLS-Reality
Bypass DPI whitelists by wrapping UDP traffic in an obfuscated TCP/TLS stream that looks like standard HTTP/1.1 traffic to the specified SNI. Bypass DPI whitelists by wrapping UDP traffic in an obfuscated TCP/TLS stream that looks like standard HTTP/1.1 traffic to the specified SNI, or use XTLS-Reality to masquerade the server as a legitimate TLS endpoint.
| Field | Type | Description | | Field | Type | Description |
|---|---|---| |---|---|---|
| `transport.mode` | string | `"udp"` (default) or `"uot"` (UDP-over-TCP stealth) | | `transport.mode` | string | `"udp"` (default) or `"uot"` (UDP-over-TCP stealth) |
| `transport.stealth_sni` | string | Whitelisted SNI domain (e.g. `vk.com`) | | `transport.stealth_sni` | string | Whitelisted SNI domain (see recommendations below) |
| `transport.stealth_port` | u16 | Target port (usually `443` or `80`) | | `transport.stealth_port` | u16 | Target port (usually `443` or `80`) |
| `reality.enabled` | bool | Enable XTLS-Reality |
| `reality.pbk` | string | Reality public key |
| `reality.sid` | string | Reality short ID |
### TURN Relay #### Recommended SNIs for highly censored regions (e.g. RU/CN/IR)
Instead of common domains, try these robust endpoints that DPI systems are hesitant to block:
| Field | Type | Description | - **Government / Municipal:** `gosuslugi.ru`, `nalog.gov.ru`, `mos.ru`
|---|---|---| - **Banking / Finance:** `sberbank.ru`, `api.sberbank.ru`, `tinkoff.ru`
| `turn.enabled` | bool | Enable TURN relay | - **System Updates / Telemetry:** `update.googleapis.com`, `telemetry.microsoft.com`
| `turn.server_addr` | string | TURN server address | - **Static CDNs:** `yastatic.net`, `mc.yandex.ru`, `st.mycdn.me`, `sso.passport.yandex.ru`
| `turn.username` | string | TURN username | - **Portals:** `vk.com`, `mail.ru`, `ya.ru`
| `turn.access_key` | string | TURN password |
### Full Client Example ### Full Client Example
@ -195,15 +197,14 @@ Bypass DPI whitelists by wrapping UDP traffic in an obfuscated TCP/TLS stream th
"transport": { "transport": {
"mode": "uot", "mode": "uot",
"stealth_sni": "vk.com", "stealth_sni": "sberbank.ru",
"stealth_port": 443 "stealth_port": 443
}, },
"turn": { "reality": {
"enabled": false, "enabled": false,
"server_addr": "turn.example.com:3478", "pbk": "",
"username": "user", "sid": ""
"access_key": "pass"
}, },
"debug": false "debug": false

@ -149,24 +149,26 @@ OSTP настраивается через единый JSON-файл (подд
| `mux.enabled` | bool | Распределение потоков по нескольким сессиям | | `mux.enabled` | bool | Распределение потоков по нескольким сессиям |
| `mux.sessions` | int | Количество параллельных OSTP-сессий | | `mux.sessions` | int | Количество параллельных OSTP-сессий |
### xHTTP Стелс (UoT) ### xHTTP Стелс (UoT) & XTLS-Reality
Обход белых списков ТСПУ/DPI за счёт заворачивания UDP-трафика в обфусцированный TCP/TLS стрим, который выглядит как обычный HTTP/1.1 трафик к разрешённому SNI. Обход белых списков ТСПУ/DPI за счёт заворачивания UDP-трафика в обфусцированный TCP/TLS стрим, который выглядит как обычный HTTP/1.1 трафик к разрешённому SNI. Либо использование XTLS-Reality для полноценной маскировки сервера под существующий TLS-эндпоинт.
| Поле | Тип | Описание | | Поле | Тип | Описание |
|---|---|---| |---|---|---|
| `transport.mode` | string | `"udp"` (по умолчанию) или `"uot"` (UDP-over-TCP стелс) | | `transport.mode` | string | `"udp"` (по умолчанию) или `"uot"` (UDP-over-TCP стелс) |
| `transport.stealth_sni` | string | Домен из белого списка (например, `vk.com`) | | `transport.stealth_sni` | string | Домен из белого списка (см. рекомендации ниже) |
| `transport.stealth_port` | u16 | Целевой порт (обычно `443` или `80`) | | `transport.stealth_port` | u16 | Целевой порт (обычно `443` или `80`) |
| `reality.enabled` | bool | Включить XTLS-Reality |
| `reality.pbk` | string | Публичный ключ Reality |
| `reality.sid` | string | Short ID для Reality |
### TURN-релей #### Рекомендованные SNI для стран с активными блокировками (ТСПУ)
Вместо заезженных доменов используйте те, блокировка которых критична для инфраструктуры или бизнеса:
| Поле | Тип | Описание | - **Гос. сектор:** `gosuslugi.ru`, `nalog.gov.ru`, `mos.ru`
|---|---|---| - **Банки:** `sberbank.ru`, `api.sberbank.ru`, `tinkoff.ru`
| `turn.enabled` | bool | Включить TURN-релей | - **Системные CDN и телеметрия:** `update.googleapis.com`, `telemetry.microsoft.com`
| `turn.server_addr` | string | Адрес TURN-сервера | - **Крупные статические CDN:** `yastatic.net`, `mc.yandex.ru`, `st.mycdn.me`, `sso.passport.yandex.ru`
| `turn.username` | string | Имя пользователя TURN | - **Порталы:** `vk.com`, `mail.ru`, `ya.ru`
| `turn.access_key` | string | Пароль TURN |
### Полный пример клиента ### Полный пример клиента
@ -195,15 +197,14 @@ OSTP настраивается через единый JSON-файл (подд
"transport": { "transport": {
"mode": "uot", "mode": "uot",
"stealth_sni": "vk.com", "stealth_sni": "sberbank.ru",
"stealth_port": 443 "stealth_port": 443
}, },
"turn": { "reality": {
"enabled": false, "enabled": false,
"server_addr": "turn.example.com:3478", "pbk": "",
"username": "user", "sid": ""
"access_key": "pass"
}, },
"debug": false "debug": false