35 lines
1.2 KiB
Markdown
35 lines
1.2 KiB
Markdown
# dpi-frag
|
||
|
||
[](https://github.com/devsavsis/dpi-frag/actions/workflows/ci.yml)
|
||
[](https://github.com/devsavsis/dpi-frag/blob/master/LICENSE)
|
||
|
||
локальный socks5 прокси на C++, режет TLS ClientHello так что DPI не видит SNI одним куском.
|
||
|
||
```mermaid
|
||
sequenceDiagram
|
||
App->>dpi-frag: SOCKS5 connect + ClientHello
|
||
dpi-frag->>DPI: часть 1 (до домена)
|
||
dpi-frag->>DPI: часть 2 (остаток домена)
|
||
Note over DPI: паттерн не собрать — пропускает
|
||
dpi-frag->>Site: обе части, как обычно
|
||
Site->>App: TLS handshake дальше как ни в чём не бывало
|
||
```
|
||
|
||
## сборка
|
||
|
||
```
|
||
cmake -B build
|
||
cmake --build build --config Release
|
||
```
|
||
|
||
## юзать
|
||
|
||
```
|
||
build\Release\dpifrag.exe --port 1080
|
||
```
|
||
|
||
ставишь socks5 прокси на `127.0.0.1:1080` в браузере/системе.
|
||
|
||
## что не умеет
|
||
|
||
не VPN, не шифрует. не поможет если блокировка по IP, а не по SNI.
|