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 )
2023-04-29 11:06:44 +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
```
### curl
Установите последний бинарник с помощью curl
- OSX
```
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s osx
```
- Linux
```
curl -fsSL https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux
```
### wget
Установите последний бинарник с помощью wget
- OSX
```
wget -O - https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s osx
```
- Linux
```
wget -O - https://raw.githubusercontent.com/xvzc/SpoofDPI/main/install.sh | bash -s linux
```
## 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
```
Usage: spoof-dpi [options...]
--addr=< addr > | default: 127.0.0.1
--dns=< addr > | default: 8.8.8.8
--port=< port > | default: 8080
--debug=< bool > | default: false
--banner=< bool > | default: true
--url=< url > | Can be used multiple times. If set,
| it will bypass DPI only for this url.
| Example: --url=google.com --url=github.com
--pattern=< regex > | If set, it will bypass DPI only for packets
| that matches this regex pattern.
| Example: --pattern="google|github"
```
**Перевод:**
```
2023-06-19 16:54:15 +00:00
Использование: spoof-dpi [параметры...]
2023-04-29 11:04:11 +00:00
--addr=< адрес > | Адрес. По умолчанию 127.0.0.1
--dns=< адрес > | Адрес DNS-сервера. По умолчанию 8.8.8.8
--port=< порт > | Порт. По умолчанию 8080
--debug=< булев > | Включать ли режим отладки. По умолчанию false
--banner=< булев > | По умолчанию true
--url=< url > | Можно использовать несколько раз. Если
2023-04-29 11:06:44 +00:00
| задано, будет применятся
| обход только для данного url.
| Пример: --url=google.com --url=github.com
2023-04-29 11:04:11 +00:00
--pattern=< regex > | Если задано, будет применятся обход
| только для пакетов, которые соответствуют
| этому регулярному выражению.
2023-04-29 11:06:44 +00:00
| Пример: --pattern="google|github"
2023-04-29 11:04:11 +00:00
```
2023-06-19 16:54:15 +00:00
> Если Вы используете любые "VPN"-расширения по типу Hotspot Shield в браузере
2023-04-29 11:04:11 +00:00
Chrome, зайдите в Настройки > Расширения и отключите их.
### OSX
2023-06-19 16:54:15 +00:00
Выполните `$ spoof-dpi` и прокси автоматически установится
2023-04-29 11:04:11 +00:00
### Linux
Выполните `$ spoof-dpi` и откройте свой любимый браузер с параметром прокси
`google-chrome --proxy-server="http://127.0.0.1:8080"`
# Как он работает
### HTTP
2023-06-19 16:54:15 +00:00
Поскольку большинство веб-сайтов в мире теперь поддерживают HTTPS, SpoofDPI не обходит Deep Packet Inspections для HTTP-запросов, однако он по-прежнему обеспечивает прокси-соединение для всех HTTP-запросов.
2023-04-29 11:04:11 +00:00
### HTTPS
2023-06-19 16:54:15 +00:00
Хотя TLS 1.3 шифрует каждый процесс рукопожатия, имена доменов по-прежнему отображаются в виде открытого текста в пакете Client Hello. Другими словами, когда кто-то другой смотрит на пакет, он может легко догадаться, куда направляется пакет. Доменное имя может предоставлять значительную информацию во время обработки DPI, и мы можем видеть, что соединение блокируется сразу после отправки пакета Client Hello. Я попробовал несколько способов обойти это, и обнаружил, что, похоже, только первый фрагмент проверяется, когда мы отправляем пакет Client Hello, разделенный на фрагменты. Чтобы обойти это, SpoofDPI отправляет на сервер первый 1 байт запроса, а затем отправляет все остальное.
2023-04-29 11:04:11 +00:00
> SpoofDPI не расшифровывает Ваши HTTPS-запросы, так что нам не нужны SSL-сертификаты.
# Вдохновлено
[Green Tunnel ](https://github.com/SadeghHayeri/GreenTunnel ) от @SadeghHayeri
2023-04-29 11:06:44 +00:00
[GoodbyeDPI ](https://github.com/ValdikSS/GoodbyeDPI ) от @ValdikSS