# wg-obfuscator Alexey Cluster - оптимизированная сборка для домашних роутеров
Форк проекта [wg-obfuscator](https://github.com/ClusterM/wg-obfuscator) с оптимизацией производительности для архитектур **mips**, **mipsel**, **aarch64**.
---
## Файлы репозитория
* оригинальные скрипты и вспомогательные файлы — находятся в репозитории и не включают сторонние бинарники.
## Режимы обфускации
Обфускатор выбирается флагом `-M` / `--mode` (или ключом `mode` в конфиге).
Значение по умолчанию — `wireguard`.
* **wireguard** (`wg`) — UDP-релей, обфусцирующий трафик WireGuard. К этому режиму
относятся маскировка (STUN/MEDIA), статические привязки и опции `media-*`.
* **socks5** — TCP-релей для SOCKS5-прокси на тот случай, когда UDP заблокирован.
Разворачивается симметричной парой: клиентская сторона слушает локальный
SOCKS5-клиент и форвардит на серверную сторону (`target`), которая форвардит
деобфусцированный поток на реальный SOCKS5-сервер (свой `target`). Ключ (`key`)
и режим (`mode`) должны совпадать на обеих сторонах.
Маскировка `masking` тоже работает: `STUN` — поток как звонок (STUN-сессия),
`MEDIA` — как RTP/H.264-стрим (для надёжного детекта задайте `media-ssrc`),
`TLS` — как HTTPS (TLS application_data). Значение — одинаковое на обеих сторонах.
**Роли** (`-R/--role`, только socks5):
- `relay` (по умолчанию) — прозрачный обфусцирующий релей на реальный
SOCKS5-сервер; поддерживает несколько TCP-маршрутов через `static-bindings`
(`<listen_port>:<target_host>:<target_port>,...`).
- `client` — локальный SOCKS5-сервер: терминирует SOCKS5 приложения
(CONNECT и UDP ASSOCIATE) и туннелирует на server-роль.
- `server` — выход: набирает запрошенные цели напрямую (встроенная терминация
SOCKS5, внешний демон не нужен), `target` не требуется. UDP ASSOCIATE
туннелируется поверх обфусцированного TCP.
Концепция и детали реализации: `docs/SOCKS5-obfuscation-concept.md`.
## Благодарности
Особая благодарность мэйнтейнеру [Alexey Cluster](https://github.com/ClusterM) за исходный проект и работу над инструментом.