Как обойти блокировку по DPI

Сегодня в новостях и на профильных ресурсах сообщили о скором введении технологии 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 и распаковать его на свой компьютер. В итоге вы увидите несколько файлов.

Для автоматической работы программы в виде сервиса нужно от имени администратора по очереди запустить

  1. service_install_russia_blacklist.cmd
  2. 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 здесь

От KaligulBorhes

"How long, ignoramuses, will you love ignorance? How long will fools hate knowledge?"