ValdikSS /GoodbyeDPI

GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)

★ 28,864⑂ 2,258👁 447⑃ 65● 743▤ 30◈ 0
CApache-2.0Created 2017-05-16ntc.party/c/community-software/goodbyedpi
28,864
stars
2,258
forks
447
watchers
65
prs
743
issues
30
releases
0
discussions

README

GoodbyeDPI — Deep Packet Inspection circumvention utility
=========================

This software designed to bypass Deep Packet Inspection systems found in many Internet Service Providers which block access to certain websites.

It handles DPI connected using optical splitter or port mirroring (Passive DPI) which do not block any data but just replying faster than requested destination, and Active DPI connected in sequence.

Windows 7, 8, 8.1, 10 or 11 with administrator privileges required.

 Quick start

 For Russia: Download latest version from Releases page, unpack the file and run 1_russia_blacklist_dnsredir.cmd script.
 For other countries: Download latest version from Releases page, unpack the file and run 2_any_country_dnsredir.cmd.

These scripts launch GoodbyeDPI in recommended mode with DNS resolver redirection to Yandex DNS on non-standard port (to prevent DNS poisoning).  
If it works — congratulations! You can use it as-is or configure further.

 How to use

Download latest version from Releases page and run.

 Supported arguments
To get relevant information about your version of the program, use the -h (--help) argument at startup.

Usage: goodbyedpi.exe [OPTION...]
 -p          block passive DPI
 -q          block QUIC/HTTP3
 -r          replace Host with hoSt
 -s          remove space between host header and its value
 -m          mix Host header case (test.com - tEsT.cOm)
 -f   set HTTP fragmentation to value
 -k   enable HTTP persistent (keep-alive) fragmentation and set it to value
 -n          do not wait for first segment ACK when -k is enabled
 -e   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            additional TCP port to perform fragmentation on (and HTTP tricks with -w)
 --ip-id           handle additional IP ID (decimal, drop redirects and TCP RSTs with this ID).
                          This option can be supplied multiple times.
 --dns-addr        redirect UDP DNS requests to the supplied IP address (experimental)
 --dns-port        redirect UDP DNS requests to the supplied port (53 by default)
 --dnsv6-addr      redirect UDPv6 DNS requests to the supplied IPv6 address (experimental)
 --dnsv6-port      redirect UDPv6 DNS requests to the supplied port (53 by default)
 --dns-verb               print verbose DNS redirection messages
 --blacklist     perform circumvention tricks only to host names and subdomains from
                          supplied text file (HTTP Host/TLS SNI).
                          This option can be supplied multiple times.
 --allow-no-sni           perform circumvention if TLS SNI can't be detected with --blacklist enabled.
 --frag-by-sni            if SNI is detected in TLS packet, fragment the packet right before SNI value.
 --set-ttl         activate Fake Request Mode and send it with supplied TTL value.
   

Top issues

Latest release

GoodbyeDPI v0.2.2 0.2.2 2022-03-21
Bugfix release:

 Document forgotten --max-payload in -5 and -6 modes
 Allow setting --max-payload to zero
 Fix optional parameter parser in service mode
 Handle "0" in domain names (SNI)
 Fix --set-ttl when used with --min-ttl

Known bugs:
 --set-ttl after --auto-ttl does not work (does not disable auto-ttl) despite Fake requests, TTL: fixed in the status line (since v0.2.0)
 Not really a bug, but anyway: --max-payload 1200 would skip HTTP request block circumvention if the payload is large (if there's a lot of cookies for example).

 Обход замедления YouTube в России

Snapshot: 2026-11-11T15:31:17Z · Data license Apache-2.0 · JSON