Тренд по дням 30 дн.
Чаще всего спрашивают top users
| Юзер | Вопросов |
|---|---|
| Busurman | 6 |
| Oleg Lisenkov | 4 |
| Александр | 3 |
| Konstantin GARSHENIN | 1 |
| Денис Левыкин | 1 |
| Dmitriy Kolyshkin | 1 |
Примеры сообщений 16
Dmitriy Kolyshkin
· 2026-05-25T07:57
1. Клиентом на телефоне является FoxRay и там нет отдельной настройки IPv6. Если это не так, скажи куда зайти.
2. показывает ip моего vps
3. ок
4. я снижал MTU, vless вообще завис и перестал открывать сайты
Александр
· 2026-05-23T19:02
@AntenkaAI_bot
Хочу попросить тебя оценить архитектуру моего каскада со стороны - насколько он
правильно построен, что улучшить.
Схема такая: устройство → Bridge (Россия, 3x-UI / Xray) → Exit (Нидерланды, 3x-UI / Xray) →
интернет.
Первое плечо, от устройства до Bridge: VLESS + TCP + Reality, flow xtls-rprx-vision, SNI
крупного популярного сайта, uTLS firefox. Порт 443, плюс port-hopping: диапазон 20101-20200
заворачивается на 443 через iptables.
Второе плечо, от Bridge до Exit: VLESS + XHTTP + Reality, SNI отдельного домена, режим
stream-up (scStreamUpServerSecs 20-80, xmux maxConcurrency 16-32). Outbound на Bridge
заведён прямой правкой SQLite, не через GUI.
Общее по обоим плечам: sockopt с tcpUserTimeout=10000 и tcpKeepAlive, BBR, MTU 1380, на Exit
стоит MSS-clamp 1280 (там eth0 с MTU 1380).
Маршрутизация на Bridge: российский трафик (geosite ru, geoip ru) идёт напрямую (DIRECT),
всё остальное - на Exit. Bittorrent и приватные адреса блокируются.
DNS через DoH. Раз в 3 дня cron перезапускает x-ui - это воркэраунд против утечки памяти в
XHTTP.
Параллельно поднят запасной канал через Cloudflare CDN на отдельном домене (packet-up,
Origin Cert).
Вопросы:
1. Архитектурно схема выстроена правильно, или есть грубые ошибки?
2. Что бы ты изменил ради стабильности?
3. Reality на обоих плечах - это нормально, или на втором плече лучше что-то другое? Что
думаешь?
4. Чего тут не хватает для отказоустойчивости?
Александр
· 2026-05-23T18:54
Основное плечо bridge→exit это VLESS+XHTTP+Reality (не через CF, напрямую). Борюсь с
периодическими фризами от ТСПУ (TCP-freeze: пакеты молчат после ~16KB без RST). Уже стоит
sockopt tcpUserTimeout=10000, BBR, MTU 1380, MSS-clamp 1280. Какой режим XHTTP
(packet-up/stream-up/stream-one) и какие параметры scMaxEachPostBytes, scStreamUpServerSecs,
xmux maxConcurrency дают лучшую устойчивость к фризам на трансграничном плече?
Александр
· 2026-05-23T10:37
@AntenkaAI_bot Каскад VLESS: bridge (РФ) → exit (NL), на exit второй канал через Cloudflare. Схема на exit: Cloudflare proxied :443 →
▎ Nginx :443 (Origin Cert, TLS) → proxy_pass на Xray 127.0.0.1:2053 (security=none) → VLESS+XHTTP mode=packet-up. Клиент -
▎ Shadowrocket на Mac. MTU на eth0 exit = 1380, уже стоит MSS-clamp 1280.
1. «При packet-up через Cloudflare запросы доходят до сервера (вижу в access.log Nginx статус 200), но страница в браузере
не отрисовывается - ответ не доходит до клиента. Скачивание с самого сервера и с другого сервера работает на 3 МБ/с. Что
ломает downlink именно на клиентском плече?»
(это наша проблема дословно - смотрим, узнает ли он симптом)
2. «Какой MTU выставлять в профиле Shadowrocket для XHTTP+TLS через Cloudflare CDN? И вообще влияет ли MTU клиента на
downlink, или это серверный MSS-clamp?»
(проверяем нашу главную гипотезу)
3. «packet-up или stream-up/stream-one лучше работает через Cloudflare без gRPC, с Nginx proxy_pass? У меня stream-one
через Nginx давал 000, grpc_pass - upstream rejected error 0. Это норма?»
(сверяем нашу граблю - может, у него есть рабочий рецепт stream-one)
4. «Нужны ли специальные заголовки в Nginx для XHTTP downlink через CF - chunked_transfer_encoding, gzip off,
X-Accel-Buffering? Cloudflare буферизует SSE-ответы?»
(это прямо то, на что указывал наш ресёрч про SSE-буферизацию)
Konstantin GARSHENIN
· 2026-05-21T07:15
вот mtu на РФ, такой же на Польше
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Busurman
· 2026-05-19T12:16
[Interface]
PrivateKey = 4K9P8j36RUDxKkqCUwFUjMUK6leijy0xKK4z+IUtIGw=
Address = 10.0.0.2/32
DNS = 1.1.1.1, 1.0.0.1
MTU = 1380
# wg0-1
[Peer]
PublicKey = mPbqpallcbKff2ZRhVq6hqIMD3Auhl12TwTw5Qv1BAs=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 186.246.34.239:19846
PresharedKey = s/ULhxKw3JgdJnjX30QBP5xuvunFtblI5i7tB7s61tY=
PersistentKeepalive = 25
Busurman
· 2026-05-19T12:11
[Interface]
PrivateKey = OI3CoPCQlr5/VIhQ/cyWxNr3VpjuGKAItaq4M4eMsEw=
Address = 10.0.0.0/0
DNS = 1.1.1.1, 1.0.0.1
MTU = 1380
# wg0-1
[Peer]
PublicKey = hSu/2OLrtCCVx8MoJn3m1dWNzPNpZD8iNKALg3FBKFI=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 186.246.34.239:31711
PresharedKey = gwKHR5/9hcJdHxZ3Z3piJw3yf0O88yQSxZ88ToYJYow=
PersistentKeepalive = 25
Busurman
· 2026-05-19T12:04
[Interface]
PrivateKey = cI6U8+4lDIbHyItt7kGoRt19632vH8xXN2U739veInM=
Address = 10.0.0.2/32
DNS = 1.1.1.1, 1.0.0.1
MTU = 1380
# Wireguard-1
[Peer]
PublicKey = 6Cc/sZnVJjcVuzCdbAZ70oikntHUdjVocmCUgvRQBzA=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 186.246.34.239:31252
PresharedKey = Y6G0d0eL8rT0aYN6FBZC9qW1Jv5uRjcev1bLD1i12Xc=
PersistentKeepalive = 25
Busurman
· 2026-05-19T12:01
{
"id": 2,
"userId": 0,
"up": 3460,
"down": 34340,
"total": 0,
"allTime": 43224,
"remark": "Wireguard",
"enable": true,
"expiryTime": 0,
"trafficReset": "monthly",
"lastTrafficResetTime": 0,
"listen": "",
"port": 31252,
"protocol": "wireguard",
"settings": "{\r\n \"mtu\": 1380,\r\n \"secretKey\": \"UAT0MHC5pfmjUgd7pXLHWrsdPXI8xihMictIwEAOglA=\",\r\n \"peers\": [\r\n {\r\n \"privateKey\": \"cI6U8+4lDIbHyItt7kGoRt19632vH8xXN2U739veInM=\",\r\n \"publicKey\": \"cMoiHYIJmKJmgkfmjAO8hcXXISyMujbcnEjJxoexU0Q=\",\r\n \"preSharedKey\": \"Y6G0d0eL8rT0aYN6FBZC9qW1Jv5uRjcev1bLD1i12Xc=\",\r\n \"allowedIPs\": [\r\n \"0.0.0.0/0\"\r\n ],\r\n \"keepAlive\": 25\r\n }\r\n ],\r\n \"noKernelTun\": false\r\n}",
"streamSettings": "",
"tag": "inbound-31252",
"sniffing": "{\r\n \"enabled\": true,\r\n \"destOverride\": [\r\n \"http\",\r\n \"tls\",\r\n \"quic\",\r\n \"fakedns\"\r\n ],\r\n \"metadataOnly\": false,\r\n \"routeOnly\": false\r\n}",
"clientStats": [],
"_cachedInbound": {
"port": 31252,
"listen": "",
"_protocol": "wireguard",
"settings": {
"mtu": 1380,
"secretKey": "UAT0MHC5pfmjUgd7pXLHWrsdPXI8xihMictIwEAOglA=",
"pubKey": "6Cc/sZnVJjcVuzCdbAZ70oikntHUdjVocmCUgvRQBzA=",
"peers": [
{
"privateKey": "cI6U8+4lDIbHyItt7kGoRt19632vH8xXN2U739veInM=",
"publicKey": "cMoiHYIJmKJmgkfmjAO8hcXXISyMujbcnEjJxoexU0Q=",
"psk": "Y6G0d0eL8rT0aYN6FBZC9qW1Jv5uRjcev1bLD1i12Xc=",
"allowedIPs": [
"0.0.0.0/0"
],
"keepAlive": 25
}
],
"noKernelTun": false
},
"stream": {
"network": "tcp",
"security": "none",
"externalProxy": [],
"tls": {
"sni": "",
"minVersion": "1.2",
"maxVersion": "1.3",
"cipherSuites": "",
"rejectUnknownSni": false,
"disableSystemRoot": false,
"enableSessionResumption": false,
"certs": [
{
"useFile": true,
"certFile": "",
"keyFile": "",
"cert": "",
"key": "",
"oneTimeLoading": false,
"usage": "encipherment",
"buildChain": false
}
],
"alpn": [
"h2",
"http/1.1"
],
"echServerKeys": "",
"settings": {
"fingerprint": "chrome",
"echConfigList": ""
}
},
"reality": {
"show": false,
"xver": 0,
"target": "aws.amazon.com:443",
"serverNames": "aws.amazon.com",
"privateKey": "",
"minClientVer": "",
"maxClientVer": "",
"maxTimediff": 0,
"shortIds": "ed66c06bf5974cfb,fd,d3cf,9a70dc,663b0bde,769550bb4c549d,669388ed65,6b62a59f8925",
"mldsa65Seed": "",
"settings": {
"publicKey": "",
"fingerprint": "chrome",
"serverName": "",
"spiderX": "/",
"mldsa65Verify": ""
}
},
"tcp": {
"acceptProxyProtocol": false,
"type": "none",
"request": {
"version": "1.1",
"method": "GET",
"path": [
"/"
],
"headers": []
},
"response": {
"version": "1.1",
"status": "200",
"reason": "OK",
"headers": []
}
},
"kcp": {
"mtu": 1350,
"tti": 20,
"upCap": 5,
"downCap": 20,
"cwndMultiplier": 1,
"maxSendingWindow": 2097152
},
"ws": {
"acceptProxyProtocol": false,
"path": "/",
"host": "",
"headers": [],
"heartbeatPeriod": 0
},
"grpc": {
"serviceName": "",
"authority": "",
"multiMode": false
},
"httpupgrade": {
"acceptProxyProtocol": false,
"path": "/",
"host": "",
"headers": []
},
"xhttp": {
"path": "/",
"host": "","headers": [],
"scMaxBufferedPosts": 30,
"scMaxEachPostBytes": "1000000",
"scStreamUpServerSecs": "20-80",
"noSSEHeader": false,
"xPaddingBytes": "100-1000",
"mode": "auto",
"xPaddingObfsMode": false,
"xPaddingKey": "",
"xPaddingHeader": "",
"xPaddingPlacement": "",
"xPaddingMethod": "",
"uplinkHTTPMethod": "",
"sessionPlacement": "",
"sessionKey": "",
"seqPlacement": "",
"seqKey": "",
"uplinkDataPlacement": "",
"uplinkDataKey": "",
"uplinkChunkSize": 0
},
"hysteria": {
"version": 2,
"auth": "",
"udpIdleTimeout": 60
},
"finalmask": {
"tcp": [],
"udp": []
}
},
"tag": "inbound-31252",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic",
"fakedns"
],
"metadataOnly": false,
"routeOnly": false,
"ipsExcluded": [],
"domainsExcluded": []
},
"clientStats": []
}
}
Busurman
· 2026-05-19T11:53
[Interface]
PrivateKey = cI6U8+4lDIbHyItt7kGoRt19632vH8xXN2U739veInM=
Address = 0.0.0.0/0
DNS = 1.1.1.1, 1.0.0.1
MTU = 1380
# Wireguard-1
[Peer]
PublicKey = 6Cc/sZnVJjcVuzCdbAZ70oikntHUdjVocmCUgvRQBzA=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 186.246.34.239:31252
PresharedKey = Y6G0d0eL8rT0aYN6FBZC9qW1Jv5uRjcev1bLD1i12Xc=
PersistentKeepalive = 25
Busurman
· 2026-05-19T11:43
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:24:11:8f:9b:ec brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 186.246.34.239/24 brd 186.246.34.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::be24:11ff:fe8f:9bec/64 scope link
valid_lft forever preferred_lft forever
Oleg Lisenkov
· 2026-05-16T21:41
@AntenkaAI_bot keepalive уже был установлен на 25. Опустил mtu до 1360. Но интернета все равно нет