Skip to content

Latest commit

 

History

History
105 lines (91 loc) · 6.24 KB

readme_ru.md

File metadata and controls

105 lines (91 loc) · 6.24 KB

⭐Pull Request-ы или любые формы вклада будут признательны⭐

SpoofDPI

Можете прочитать на других языках: 🇬🇧English, 🇰🇷한국어, 🇨🇳简体中文, 🇷🇺Русский

Простое и быстрое программное обеспечение, созданное для обхода Deep Packet Inspection

image

Установка

Бинарник

SpoofDPI будет установлен в директорию ~/.spoof-dpi/bin.
Чтобы запустить SpoofDPI в любой директории, добавьте строку ниже в ~/.bashrc || ~/.zshrc || ...

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

$ git clone https://github.com/xvzc/SpoofDPI.git
$ cd SpoofDPI
$ go build ./cmd/...

Использование

Usage: spoof-dpi [options...]
--addr=<addr>       | default: 127.0.0.1
--dns=<addr>        | default: 8.8.8.8
--port=<number>     | default: 8080
--debug=<bool>      | default: false
--no-banner=<bool>  | default: false
--timeout=<number>  | default: 0
                    | Enforces specific connection timeout. Set 0 to turn off
--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"

Перевод:

Использование: spoof-dpi [параметры...]
--addr=<адрес>       | Адрес. По умолчанию 127.0.0.1
--dns=<адрес>        | Адрес DNS-сервера. По умолчанию 8.8.8.8
--port=<порт>        | Порт. По умолчанию 8080
--debug=<булев>      | Включать ли режим отладки. По умолчанию false
--banner=<булев>     | По умолчанию true
--url=<url>          | Можно использовать несколько раз. Если 
                     | задано, будет применятся
                     | обход только для данного url.
                     | Пример: --url=google.com --url=github.com
--pattern=<regex>    | Если задано, будет применятся обход
                     | только для пакетов, которые соответствуют
                     | этому регулярному выражению.
                     | Пример: --pattern="google|github"

Если Вы используете любые "VPN"-расширения по типу Hotspot Shield в браузере
Chrome, зайдите в Настройки > Расширения и отключите их.

OSX

Выполните $ spoof-dpi и прокси автоматически установится

Linux

Выполните $ spoof-dpi и откройте свой любимый браузер с параметром прокси google-chrome --proxy-server="http://127.0.0.1:8080"

Как это работает

HTTP

Поскольку большинство веб-сайтов в мире теперь поддерживают HTTPS, SpoofDPI не обходит Deep Packet Inspection для HTTP-запросов, однако он по-прежнему обеспечивает прокси-соединение для всех HTTP-запросов.

HTTPS

Хотя TLS 1.3 шифрует каждый процесс рукопожатия, имена доменов по-прежнему отображаются в виде открытого текста в пакете Client Hello. Другими словами, когда кто-то другой смотрит на пакет, он может легко догадаться, куда направляется пакет. Доменное имя может предоставлять значительную информацию во время обработки DPI, и мы можем видеть, что соединение блокируется сразу после отправки пакета Client Hello. Я попробовал несколько способов обойти это, и обнаружил, что, похоже, только первый фрагмент проверяется, когда мы отправляем пакет Client Hello, разделенный на фрагменты. Чтобы обойти это, SpoofDPI отправляет на сервер первый 1 байт запроса, а затем отправляет все остальное.

SpoofDPI не расшифровывает Ваши HTTPS-запросы, так что нам не нужны SSL-сертификаты.

Вдохновлено

Green Tunnel от @SadeghHayeri
GoodbyeDPI от @ValdikSS