Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| router:x-ray [2025/12/21 22:06] – mirocow | router:x-ray [2026/03/26 10:44] (текущий) – mirocow | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| - | ====== XRAYUI: | + | ====== |
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| ====== asuswrt-merlin-xrayui / Client ====== | ====== asuswrt-merlin-xrayui / Client ====== | ||
| + | |||
| + | * [[xrayui]] | ||
| + | |||
| + | ==== Установка ==== | ||
| <code bash> | <code bash> | ||
| Строка 9: | Строка 16: | ||
| </ | </ | ||
| - | ===== 3X-UI / Panel with server | + | === Ошибка === |
| + | |||
| + | < | ||
| + | Entware is not installed or opkg binary is not accessible. | ||
| + | Please install Entware first: https:// | ||
| + | </ | ||
| + | |||
| + | === Entware === | ||
| + | |||
| + | <code bash> | ||
| + | $ amtm | ||
| + | i | ||
| + | ep | ||
| + | </ | ||
| + | |||
| + | ==== Удаление ==== | ||
| + | |||
| + | <code bash> | ||
| + | $ / | ||
| + | </ | ||
| + | |||
| + | ==== Обновление ==== | ||
| + | |||
| + | <code bash> | ||
| + | $ wget -O / | ||
| + | </ | ||
| + | |||
| + | ===== 3X-UI / Panel / Server | ||
| + | |||
| + | * https:// | ||
| <code bash> | <code bash> | ||
| Строка 20: | Строка 56: | ||
| </ | </ | ||
| - | ===== Настройки / Подключения | + | ==== Настройки / Подключения ==== |
| Строка 32: | Строка 68: | ||
| * Nginx, получив запрос, | * Nginx, получив запрос, | ||
| * Ключевой момент: | * Ключевой момент: | ||
| - | | + | * Вы настраиваете в nginx правило, |
| - | (например, | + | |
| * Обычный веб-трафик (запрос к сайту) идёт к вашему сайту или отдаёт fake page, а трафик по секретному пути — к Xray. | * Обычный веб-трафик (запрос к сайту) идёт к вашему сайту или отдаёт fake page, а трафик по секретному пути — к Xray. | ||
| * Со стороны интернета весь трафик выглядит как обычный HTTPS, что обеспечивает высокую степень маскировки и обхода блокировок. | * Со стороны интернета весь трафик выглядит как обычный HTTPS, что обеспечивает высокую степень маскировки и обхода блокировок. | ||
| Строка 56: | Строка 91: | ||
| * Важное преимущество: | * Важное преимущество: | ||
| + | ==== Протоколы ==== | ||
| + | |||
| + | ^ Протокол | ||
| + | | **VLESS** | ||
| + | | **VMess** | ||
| + | | **Trojan** | ||
| + | | **Shadowsocks** | ||
| + | | **mKCP** | ||
| + | | **HTTP** | ||
| + | | **xHTTP** | ||
| + | |||
| + | ==== Настройки ==== | ||
| + | |||
| + | === nginx === | ||
| + | |||
| + | < | ||
| + | location /grpc { | ||
| + | # 1. Безопасность и основные настройки | ||
| + | | ||
| + | | ||
| + | | ||
| + | # 2. Критически важные заголовки для gRPC | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | # 3. Оптимизация таймаутов (более реалистичные значения) | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | # 4. Оптимизация буферизации и производительности | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | # 5. keepalive для upstream соединений (важно для Docker!) | ||
| + | set $upstream_grpc proxy-grpc; | ||
| + | | ||
| + | | ||
| + | # 6. Для отладки (можно отключить в проде) | ||
| + | # access_log / | ||
| + | # error_log / | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | # Xray grpc | ||
| + | location /grpc { | ||
| + | # Защита от больших тел запросов | ||
| + | client_max_body_size 0; | ||
| + | |||
| + | # Настройки таймаутов для gRPC (чтобы не рвалось соединение) | ||
| + | grpc_read_timeout 1h; | ||
| + | grpc_send_timeout 1h; | ||
| + | client_body_timeout 1h; | ||
| + | |||
| + | # Обязательные заголовки | ||
| + | grpc_set_header X-Real-IP $remote_addr; | ||
| + | grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
| + | |||
| + | # Пробрасываем на апстрим | ||
| + | grpc_pass grpc:// | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Обязательные настройки ==== | ||
| + | |||
| + | * Отключает Flow Cache и NAT Acceleration | ||
| + | * Корректно перезапускает сетевой стек | ||
| + | * Безопасен для запуска при старте | ||
| + | |||
| + | <code bash> | ||
| + | $ cat > / | ||
| + | #!/bin/sh | ||
| + | |||
| + | # Отключаем аппаратное ускорение (Flow Cache / CTF) на Broadcom-роутерах | ||
| + | # Необходимо при использовании Xray / TPROXY / iptables-перехвата трафика | ||
| + | |||
| + | logger -t " | ||
| + | |||
| + | # Отключаем Cut-Through Forwarding (Flow Cache) | ||
| + | nvram set ctf_disable=1 | ||
| + | |||
| + | # Отключаем fast NAT forwarding | ||
| + | nvram set nf_nat_fastforward=0 | ||
| + | |||
| + | # Сохраняем настройки | ||
| + | nvram commit | ||
| + | |||
| + | # Перезапускаем firewall (вместо полной перезагрузки) | ||
| + | service restart_firewall | ||
| + | |||
| + | logger -t " | ||
| + | EOF | ||
| + | |||
| + | $ chmod +x / | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | $ cat > / | ||
| + | #!/bin/sh | ||
| + | |||
| + | # Ждём, пока Xray UI применит свои правила (обычно 5–10 секунд после старта) | ||
| + | sleep 10 | ||
| + | |||
| + | # Удаляем старые правила (на случай повторного запуска) | ||
| + | iptables -t mangle -D PREROUTING -s 192.168.0.0/ | ||
| + | iptables -t mangle -D PREROUTING -s 10.0.0.0/8 -j RETURN 2>/ | ||
| + | iptables -t mangle -D PREROUTING -s 172.16.0.0/ | ||
| + | iptables -t mangle -D PREROUTING -d 192.168.0.0/ | ||
| + | iptables -t mangle -D PREROUTING -d 10.0.0.0/8 -j RETURN 2>/ | ||
| + | iptables -t mangle -D PREROUTING -d 172.16.0.0/ | ||
| + | iptables -t mangle -D PREROUTING -d 127.0.0.0/8 -j RETURN 2>/ | ||
| + | |||
| + | # Вставляем исключения В САМОЕ НАЧАЛО цепочки mangle | ||
| + | iptables -t mangle -I PREROUTING 1 -s 192.168.0.0/ | ||
| + | iptables -t mangle -I PREROUTING 1 -s 10.0.0.0/8 -j RETURN | ||
| + | iptables -t mangle -I PREROUTING 1 -s 172.16.0.0/ | ||
| + | iptables -t mangle -I PREROUTING 1 -d 192.168.0.0/ | ||
| + | iptables -t mangle -I PREROUTING 1 -d 10.0.0.0/8 -j RETURN | ||
| + | iptables -t mangle -I PREROUTING 1 -d 172.16.0.0/ | ||
| + | iptables -t mangle -I PREROUTING 1 -d 127.0.0.0/8 -j RETURN | ||
| + | |||
| + | # Логируем | ||
| + | logger -t " | ||
| + | EOF | ||
| + | |||
| + | $ chmod +x / | ||
| + | $ iptables -t mangle -L PREROUTING -n --line-numbers | ||
| + | </ | ||