2023-06-19 16:54:15 +00:00
**⭐Pull Request-ы или любые формы вклада будут признательны⭐**
2023-04-29 11:04:11 +00:00
# SpoofDPI
Можете прочитать на других языках: [🇬🇧English ](https://github.com/xvzc/SpoofDPI ), [🇰🇷한국어 ](https://github.com/xvzc/SpoofDPI/blob/main/readme_ko.md ), [🇨🇳简体中文 ](https://github.com/xvzc/SpoofDPI/blob/main/readme_zh-cn.md ), [🇷🇺Русский ](https://github.com/xvzc/SpoofDPI/blob/main/readme_ru.md )
2024-07-27 03:20:12 +00:00
Простое и быстрое ПО, созданное для обхода **Deep Packet Inspection**
2023-04-29 11:04:11 +00:00
![image ](https://user-images.githubusercontent.com/45588457/148035986-8b0076cc-fefb-48a1-9939-a8d9ab1d6322.png )
# Установка
## Бинарник
2023-06-19 16:54:15 +00:00
SpoofDPI будет установлен в директорию `~/.spoof-dpi/bin` .
Чтобы запустить SpoofDPI в любой директории, добавьте строку ниже в `~/.bashrc || ~/.zshrc || ...`
2023-04-29 11:04:11 +00:00
```
export PATH=$PATH:~/.spoof-dpi/bin
```
2024-07-27 02:12:11 +00:00
---
2024-07-27 02:10:32 +00:00
```bash
2024-07-27 02:14:17 +00:00
# OSX
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s darwin-amd64
2024-07-27 02:14:17 +00:00
# linux-amd64
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-amd64
2024-07-27 02:14:17 +00:00
# linux-arm
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-arm
2024-07-27 02:14:17 +00:00
# linux-arm64
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-arm64
2024-07-27 02:14:17 +00:00
# linux-mips
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-mips
2024-07-27 02:14:17 +00:00
# linux-mipsle
2024-07-27 02:10:32 +00:00
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux-mipsle
2023-04-29 11:04:11 +00:00
```
2024-07-27 02:10:32 +00:00
2023-04-29 11:04:11 +00:00
## Go
Вы также можете установить SpoofDPI с помощью **go install**
`$ go install github.com/xvzc/SpoofDPI/cmd/spoof-dpi`
> Н е забудьте, что $GOPATH должен быть установлен в Вашем $PATH
## Git
Вы также можете собрать SpoofDPI
2023-06-19 16:54:58 +00:00
2023-04-29 11:04:11 +00:00
`$ git clone https://github.com/xvzc/SpoofDPI.git`
`$ cd SpoofDPI`
`$ go build ./cmd/...`
2023-06-19 16:54:15 +00:00
# Использование
2023-04-29 11:04:11 +00:00
```
2024-07-27 03:20:12 +00:00
Использование: spoof-dpi [опции...]
2024-07-21 08:21:56 +00:00
-addr string
2024-08-03 06:28:10 +00:00
listen address (default "127.0.0.1")
2024-07-21 08:21:56 +00:00
-debug
2024-08-03 06:28:10 +00:00
enable debug output
2024-07-21 08:21:56 +00:00
-dns-addr string
2024-08-03 06:28:10 +00:00
dns address (default "8.8.8.8")
2024-07-21 08:21:56 +00:00
-dns-port int
2024-08-03 06:28:10 +00:00
port number for dns (default 53)
2024-07-21 08:21:56 +00:00
-enable-doh
2024-08-03 06:28:10 +00:00
enable 'dns over https'
2024-07-21 08:21:56 +00:00
-no-banner
2024-08-03 06:28:10 +00:00
disable banner
2024-07-21 08:21:56 +00:00
-pattern string
2024-08-03 06:28:10 +00:00
bypass DPI only on packets matching this regex pattern
2024-07-21 08:21:56 +00:00
-port int
2024-08-03 06:28:10 +00:00
port (default 8080)
2024-07-21 08:21:56 +00:00
-timeout int
2024-08-03 06:28:10 +00:00
timeout in milliseconds. no timeout when not given
2024-07-21 08:21:56 +00:00
-url value
2024-08-03 06:28:10 +00:00
Bypass DPI only on this url, can be passed multiple times
-v print spoof-dpi's version. this may contain some other relevant information
2024-07-27 02:00:53 +00:00
-window-size int
2024-08-03 06:28:10 +00:00
chunk size, in number of bytes, for fragmented client hello,
try lower values if the default value doesn't bypass the DPI;
set to 0 to use old (pre v0.10.0) client hello splitting method:
fragmentation for the first data packet and the rest (default 50)
2023-04-29 11:04:11 +00:00
```
2024-07-27 03:20:12 +00:00
> Если Вы используете любые VPN-расширения по типу Hotspot Shield в браузере
2023-04-29 11:04:11 +00:00
Chrome, зайдите в Настройки > Расширения и отключите их.
### OSX
2024-07-27 03:20:12 +00:00
Пропишите `$ spoof-dpi` и прокси автоматически установится
2023-04-29 11:04:11 +00:00
### Linux
2024-07-27 03:20:12 +00:00
Пропишите `$ spoof-dpi` и откройте Chrome с параметром прокси
2023-04-29 11:04:11 +00:00
`google-chrome --proxy-server="http://127.0.0.1:8080"`
2023-06-19 16:56:08 +00:00
# Как это работает
2023-04-29 11:04:11 +00:00
### HTTP
2024-07-27 03:20:12 +00:00
Поскольку большинство веб-сайтов в мире теперь поддерживают HTTPS, SpoofDPI не обходит Deep Packet Inspection для HTTP запросов, однако он по-прежнему обеспечивает прокси-соединение для всех HTTP запросов.
2023-04-29 11:04:11 +00:00
### HTTPS
2024-07-27 03:20:12 +00:00
Хотя TLS 1.3 шифрует каждый процесс рукопожатия, имена доменов по-прежнему отображаются в виде открытого текста в пакете Client Hello. Другими словами, когда кто-то другой смотрит на пакет, он может легко догадаться, куда направляется пакет. Домен может предоставлять значительную информацию во время обработки DPI, и мы можем видеть, что соединение блокируется сразу после отправки пакета Client Hello.
Я попробовал несколько способов обойти это, и обнаружил, что, похоже, проверяется только первый фрагмент, когда мы отправляем пакет Client Hello, разделенный на фрагменты. Чтобы обойти DPI, SpoofDPI отправляет на сервер первый 1 байт запроса, а затем отправляет все остальное.
> SpoofDPI не расшифровывает Ваши HTTPS запросы, так что нам не нужны SSL сертификаты.
2023-04-29 11:04:11 +00:00
2024-07-27 03:20:12 +00:00
# Вдохновение
2023-04-29 11:04:11 +00:00
[Green Tunnel ](https://github.com/SadeghHayeri/GreenTunnel ) от @SadeghHayeri
2023-04-29 11:06:44 +00:00
[GoodbyeDPI ](https://github.com/ValdikSS/GoodbyeDPI ) от @ValdikSS