Сегодня в новостях и на профильных ресурсах сообщили о скором введении технологии DPI для блокировки запрещённых ресурсов. А так же о тестировании работы суверенного интернета. Что по сути одно и то же. В этой статье я расскажу, как обойти блокировку DPI на Windows и Linux.
Все ссылки в самом конце статьи
Deep Packet Inspection (сокр. DPI, также complete packet inspection и Information eXtraction или IX) — технология накопления статистических данных, проверки и фильтрации сетевых пакетов по их содержимому. В отличие от брандмауэров, Deep Packet Inspection анализирует не только заголовки пакетов, но и полное содержимое трафика на уровнях модели OSI со второго и выше. Deep Packet Inspection способно обнаруживать и блокировать вирусы, фильтровать информацию, не удовлетворяющую заданным критериям.
Согласно Wikipedia. Из этого определения стоит понять одно: для блокировки ресурсов будут использоваться не ссылки на конкретные страницы или IP-адреса, а будут анализироваться сами передаваемые пакеты. Что в целом позволяет блокировать неблокируемое (тот же Телеграм).
Как обойти блокировку
На каждый лом уже придуман свой приём. По крайней мере, для Windows.
GoodbyeDPI — небольшая программа, которая помогает автоматически обходить блокировку ресурсов по DPI.
Для установки GoodbyeDPI нужно с этой страницы скачать последний релиз файла goodbyedpi.zip и распаковать его на свой компьютер. В итоге вы увидите несколько файлов.
Для автоматической работы программы в виде сервиса нужно от имени администратора по очереди запустить
service_install_russia_blacklist.cmd
service_install_russia_blacklist_dnsredir.cmd
Сама же программа находится в папке x86
для обычной винды и в папке X86_64
для x64 винды и называется goodbyedpi.exe
.
В принципе на этом всё. Особо продвинутые могут указывать свои параметры запуска:
Usage: goodbyedpi.exe [OPTION...]
-p block passive DPI
-r replace Host with hoSt
-s remove space between host header and its value
-m mix Host header case (test.com -> tEsT.cOm)
-f [value] set HTTP fragmentation to value
-k [value] enable HTTP persistent (keep-alive) fragmentation and set it to value
-n do not wait for first segment ACK when -k is enabled
-e [value] set HTTPS fragmentation to value
-a additional space between Method and Request-URI (enables -s, may break sites)
-w try to find and parse HTTP traffic on all processed ports (not only on port 80)
--port [value] additional TCP port to perform fragmentation on (and HTTP tricks with -w)
--ip-id [value] handle additional IP ID (decimal, drop redirects and TCP RSTs with this ID).
This option can be supplied multiple times.
--dns-addr [value] redirect UDP DNS requests to the supplied IP address (experimental)
--dns-port [value] redirect UDP DNS requests to the supplied port (53 by default)
--dnsv6-addr [value] redirect UDPv6 DNS requests to the supplied IPv6 address (experimental)
--dnsv6-port [value] redirect UDPv6 DNS requests to the supplied port (53 by default)
--dns-verb print verbose DNS redirection messages
--blacklist [txtfile] perform HTTP tricks only to host names and subdomains from
supplied text file. This option can be supplied multiple times.
-1 -p -r -s -f 2 -k 2 -n -e 2 (most compatible mode, default)
-2 -p -r -s -f 2 -k 2 -n -e 40 (better speed for HTTPS yet still compatible)
-3 -p -r -s -e 40 (better speed for HTTP and HTTPS)
-4 -p -r -s (best speed)
Скачать GoodbyeDPI или по альтернативной ссылке и еще одной ссылке.
Альтернатива для Linux здесь