29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
|
|
# dpi-frag
|
|||
|
|
|
|||
|
|
маленький локальный socks5 прокси на C++, дробит TLS ClientHello на несколько TCP-пакетов так что DPI не видит SNI одним куском и не режет сайт по домену.
|
|||
|
|
|
|||
|
|
работает тупо: ты подключаешься через него, он находит имя сайта внутри ClientHello и режет пакет прямо посередине домена перед тем как отправить дальше. большинство DPI смотрит паттерн в одном пакете — а тут его физически нет.
|
|||
|
|
|
|||
|
|
## сборка
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
cmake -B build
|
|||
|
|
cmake --build build --config Release
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
нужен cmake и любой C++17 компилятор (проверено на MSVC).
|
|||
|
|
|
|||
|
|
## юзать
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
build\Release\dpifrag.exe --port 1080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
и в браузере/системе ставишь socks5 прокси на `127.0.0.1:1080`.
|
|||
|
|
|
|||
|
|
## что не умеет
|
|||
|
|
|
|||
|
|
- не шифрует и не скрывает сам факт подключения, это не VPN
|
|||
|
|
- не работает если DPI блокирует по IP, а не по SNI
|
|||
|
|
- ipv6 таргеты через socks5 не тестировал, теоретически должно работать
|