| bin | ||
| config.c | 22.0 KB | |
| config.h | 189 B | |
| LICENSE | 35.0 KB | |
| Makefile | 5.4 KB | |
| masking.c | 6.4 KB | |
| masking.h | 4.0 KB | |
| masking_handlers.h | 321 B | |
| masking_media.c | 4.7 KB | |
| masking_media.h | 246 B | |
| masking_stun.c | 9.0 KB | |
| masking_stun.h | 2.0 KB | |
| mini_argp.h | 2.7 KB | |
| obfuscation.h | 11.7 KB | |
| README.md | 3.2 KB | |
| resolve.c | 6.2 KB | |
| resolve.h | 248 B | |
| runtime.c | 3.2 KB | |
| runtime.h | 213 B | |
| socks5.c | 49.1 KB | |
| socks5.h | 1.5 KB | |
| socks5_mask.c | 7.0 KB | |
| socks5_mask.h | 993 B | |
| socks5_proto.c | 3.8 KB | |
| socks5_proto.h | 1.5 KB | |
| threading.c | 22.7 KB | |
| threading.h | 1.2 KB | |
| uthash.h | 73.1 KB | |
| wg-obfuscator.c | 7.5 KB | |
| wg-obfuscator.conf | 6.7 KB | |
| wg-obfuscator.h | 4.4 KB | |
| wg-obfuscator.service | 259 B |
Форк проекта 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 за исходный проект и работу над инструментом.