Files
sdm-xray/README.md
T

4.2 KiB
Executable File

sdm-xray

Собственный анти-DPI туннель: форк Xray-core с кастомным транспортом stealth. Клиент → своя VPS, трафик максимально похож на браузерный HTTPS.

Принцип

«Адаптивность, а не протокол»: транспорт меняет поведение (identity) быстрее, чем DPI успевает его описывать. Всё в одном процессе, одним JSON-конфигом, без панелей и внешних сервисов.

Что умеет:

  • Свой транспорт поверх HTTP/2 (TLS 1.3 + uTLS chrome), мультиплексирование на одном канале
  • Ротация туннельных путей на каждое соединение + ретрай со свежей identity при сбое
  • Анти-пробиг: сервер зеркалит реальный сайт (по умолчанию iana.org — нейтральный, в РФ не блокируется) — зонд видит настоящий многостраничный сайт на вашем домене (редиректы, HTML/CSS-ссылки переписаны)
  • Padding/pacing под браузер, опции: ротация портов, rate-limit, decoy, REALITY
  • По умолчанию только порт 443 (как браузер)

Установка сервера (свежая Ubuntu VPS)

Домен должен указывать A-записью на IP VPS, порт 80 открыт.

bash <(curl -fsSL https://git.my-handbook.ru/ded_ikar/sdm-xray/raw/main/install.sh) ваш-домен.ru

Скрипт: ставит бинарь + systemd, генерит UUID/ключ, получает Let's Encrypt, поднимает туннель на 443 с зеркалом. В конце печатает готовый клиентский конфиг и пароль панели.

Панель управления (sdm-panel)

Отдельный бинарь на VPS, слушает 127.0.0.1:8080 (наружу не торчит). Доступ через SSH-туннель (трафик шифрован SSH):

ssh -L 8080:127.0.0.1:8080 root@<vps-ip>
# затем http://localhost:8080  (login: admin / пароль из вывода install.sh)

Возможности: статус, просмотр/правка config.json, ротация UUID+ключ, логи, рестарт xray. Пароль хранится в /etc/xray/panel.json (root-only). Конфиг панели: bind/password.

Клиенты

  • Windows: скачать xray-stealth-client-windows-amd64.exe из Releases, сохранить client-stealth.json (из вывода install.sh), запустить xray-stealth-client-windows-amd64.exe run -c client-stealth.json, прокси SOCKS на 127.0.0.1:10808.
  • Роутер: xray-stealth-client-linux-arm64 — положить в /tmp, тот же конфиг, SOCKS 127.0.0.1:10808 или TUN + policy routing.

Параметры stealthSettings

key, padMax, padProb, paceMs, paceJitterMs, path/paths, ports (опция), bps (опция), target (зеркало), decoy/decoyEverySecs/decoyTarget (опция), padProfile ("browser"|"uniform"), retries.

Сборка из исходников

Нужны Go 1.26, protoc, protoc-gen-go.

GOOS=linux GOARCH=amd64  go build -o xray-server-amd64 ./main   # сервер
GOOS=linux GOARCH=arm64  go build -o xray-client-arm64 ./main   # роутер
GOOS=windows GOARCH=amd64 go build -o xray-client-win.exe ./main # Windows

Транспорт: stealth/transport/internet/stealth/. Изменённые файлы upstream: stealth/infra/conf/transport_internet.go, stealth/infra/conf/transport_method.go.

Лицензия и атрибуция

MPL-2.0. Форк Xray-core (XTLS) — https://github.com/XTLS/Xray-core. Новые файлы транспорта — наш код; изменённые файлы upstream распространяются под MPL-2.0 (исходники приложены в stealth/).