docs: shorter readme + scheme

This commit is contained in:
ImSavsis 2026-07-19 20:19:36 +05:00
parent a1200d20d1
commit 59fcf701a1

View file

@ -1,8 +1,16 @@
# dpi-frag
маленький локальный socks5 прокси на C++, дробит TLS ClientHello на несколько TCP-пакетов так что DPI не видит SNI одним куском и не режет сайт по домену.
локальный socks5 прокси на C++, режет TLS ClientHello так что DPI не видит SNI одним куском.
работает тупо: ты подключаешься через него, он находит имя сайта внутри ClientHello и режет пакет прямо посередине домена перед тем как отправить дальше. большинство DPI смотрит паттерн в одном пакете — а тут его физически нет.
```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 дальше как ни в чём не бывало
```
## сборка
@ -11,18 +19,14 @@ cmake -B build
cmake --build build --config Release
```
нужен cmake и любой C++17 компилятор (проверено на MSVC).
## юзать
```
build\Release\dpifrag.exe --port 1080
```
и в браузере/системе ставишь socks5 прокси на `127.0.0.1:1080`.
ставишь socks5 прокси на `127.0.0.1:1080` в браузере/системе.
## что не умеет
- не шифрует и не скрывает сам факт подключения, это не VPN
- не работает если DPI блокирует по IP, а не по SNI
- ipv6 таргеты через socks5 не тестировал, теоретически должно работать
не VPN, не шифрует. не поможет если блокировка по IP, а не по SNI.