Skip to content

Releases: tazihad/evadedpi

EvadeDPI v0.4.0 - Dynamic SNI Offsets, TLS Record Boundaries & Docs

Choose a tag to compare

@tazihad tazihad released this 05 Oct 11:09

🛡️ EvadeDPI v0.4.0 — Dynamic SNI-Relative Offsets & Advanced Record Splitting

✨ What's New in v0.4.0

  • Default Proxy Port Updated to 9090:
    EvadeDPI now binds to port 9090 by default (instead of 1080) across both SOCKS5 and HTTP CONNECT proxy protocols.
  • Dynamic SNI-Relative Split Offsets (--split-offsets):
    Custom offset expressions anchored dynamically to the TLS ClientHello Server Name Indication (SNI) extension:
    • N+s: Relative to the start of the SNI domain name (e.g., 1+s, 3+s).
    • N+se: Relative to the end of the SNI domain name (e.g., -5+se).
    • +m / mid-sni: Centered at the midpoint of the SNI domain.
    • N: Absolute byte index.
      Supports chaining comma-separated offsets (e.g. --split-offsets "1+s,3+s,6+s,9+s,12+s,15+s,20+s,30+s") to create micro-segments across the SNI that defeat DPI packet reassembly buffers.
  • Custom TLS Record Splitting Offset (--tlsrec-offset):
    RFC-compliant TLS record boundary positioning allowing dynamic placement of the record cut (e.g. --tlsrec --tlsrec-offset "-5+se" or --tlsrec-offset mid-sni).
  • Multi-Profile Domain Routing (StrategyRouter):
    Internal routing engine architecture supporting per-domain strategy matching and multi-profile setups.
  • Diagnostic Probe Enhancements (evadedpi test):
    • Robust URL normalization: automatically handles https://, trailing slashes, paths, and query strings.
    • Clean and deduplicated DNS resolution display (capped formatting with (+N more)).
    • Explicit system proxy control: --system-proxy / -S is strictly opt-in and never automatically applied.
  • Comprehensive Documentation Suite:
    • Dedicated CLI reference manual (docs/cli-reference.md) covering all commands, options, and dynamic offset syntax.
    • Updated configuration guide (docs/configuration.md) and configuration template (evadedpi.toml.example).
    • Deep-dive explanation of micro-segmentation and TLS record splitting mechanics in docs/techniques.md.

📦 Installation

# Download and extract the standalone binary
curl -sLO https://github.com/tazihad/evadedpi/releases/download/v0.4.0/evadedpi-v0.4.0-linux-x86_64.tar.xz
tar -xJf evadedpi-v0.4.0-linux-x86_64.tar.xz
sudo install -m 755 evadedpi /usr/local/bin/

# Verify installation
evadedpi --version
evadedpi test example.com

Or build from source:

git clone https://github.com/tazihad/evadedpi.git
cd evadedpi
cargo build --release

SHA-256 (evadedpi-v0.4.0-linux-x86_64.tar.xz):
567536acf791c9ea71cf13c9e66a80deceb840b252e99114c64c5c21a1146dd8

EvadeDPI v0.3.0 - Automatic System Proxy & One-Command Unblocking

Choose a tag to compare

@tazihad tazihad released this 05 Oct 06:55

🛡️ EvadeDPI v0.3.0 — One-Command Unblocking & Automatic System Proxy

✨ What's New in v0.3.0

  • Automatic System Proxy (--system-proxy / -S):
    EvadeDPI can now configure your OS proxy itself while it runs, so every browser and app routes through it with no manual setup. Your previous proxy settings are saved and restored on exit (Ctrl+C or SIGTERM).
    Supported: GNOME (gsettings), KDE Plasma (kioslaverc), macOS (networksetup), Windows (registry). Also available as system_proxy = true under [server] in evadedpi.toml.
  • Recommended Unblock Command after evadedpi test:
    The diagnostic probe now ends with a ready-to-copy command built from the strategy that actually worked on your network, e.g.
    >>> RECOMMENDED COMMAND TO UNBLOCK 'YOUTUBE.COM':
        evadedpi --preset first-byte --system-proxy
    
    It also tells you whether the site is actually censored, and suggests a standalone-proxy variant and a site-only (allowlist) variant.
  • evadedpi reset-proxy:
    Recovery command that turns the OS proxy off if EvadeDPI was force-killed (kill -9, crash, power loss) while --system-proxy was active.
  • Inline domain rules:
    --rules now accepts comma-separated domains as well as a file path, e.g. --rules "youtube.com,*.youtube.com" --scope allowlist.
  • Fix: the startup summary now shows the real number of loaded domain rules.

📦 Installation

curl -sLO https://github.com/tazihad/evadedpi/releases/download/v0.3.0/evadedpi-v0.3.0-linux-x86_64.tar.xz
tar -xJf evadedpi-v0.3.0-linux-x86_64.tar.xz
sudo install -m 755 evadedpi /usr/local/bin/

# Find the best strategy for a site, then run the suggested command
evadedpi test youtube.com

Or build from source:

git clone https://github.com/tazihad/evadedpi.git
cd evadedpi
cargo build --release

SHA-256 evadedpi-v0.3.0-linux-x86_64.tar.xz: 31cb358e255f9907c21fb48ce35a2a112b61e38f458f5cb560b19b99aaa64b47

EvadeDPI v0.2.0 - Mid-SNI, MultiSplit, SNI Randomization & Idle Tunnel Reaper

Choose a tag to compare

@tazihad tazihad released this 05 Oct 06:08

🛡️ EvadeDPI v0.2.0 — Advanced Desynchronization & Connection Reaping

EvadeDPI (evadedpi) v0.2.0 introduces cutting-edge desynchronization strategies adapted from recent community findings across Zapret, SpoofDPI, ByeDPI, and GoodbyeDPI.

✨ What's New in v0.2.0

  • Mid-SNI Splitting (--split-mode mid-sni):
    Splits the TLS ClientHello at the exact midpoint of the target SNI domain string, preventing DPI middleboxes from identifying domain patterns in either initial or continuation frames.
  • MultiSplit (--split-mode multisplit):
    Partitions the TLS ClientHello across 3 distinct TCP segments (handshake prefix, first half of SNI, second half of SNI + extensions) to defeat multi-packet window reassembly filters.
  • SNI Casing Randomization (--mix-sni):
    Randomizes the letter casing within the SNI hostname (e.g. yOuTuBe.cOm or dIsCoRd.gG). Fully RFC 6066 compliant while evading case-sensitive middlebox pattern tables.
  • Idle Connection Tunnel Reaper (--idle-timeout 120):
    Automatically reaps dead or abandoned TCP tunnels during proxying, preventing socket and file descriptor leaks caused by ISP packet drops or silent middlebox stalls.
  • Dedicated YouTube & Discord Preset (--preset discord-youtube):
    Combines MultiSplit, decoy ClientHello injection (www.google.com), SNI casing randomization, and QUIC blocking to bypass ISP throttling and bans on YouTube (googlevideo.com) and Discord.
  • Standardized Author & License Headers:
    Applied standardized author (@tazihad) and MIT license headers across all source files.
  • Modern Release Packaging:
    Releases are now compressed and distributed in .tar.xz format for smaller footprint and faster downloads.

📦 Installation

# Extract pre-built binary
tar -xJf evadedpi-v0.2.0-linux-x86_64.tar.xz
sudo mv evadedpi /usr/local/bin/

# Or build from source
git clone https://github.com/tazihad/evadedpi.git
cd evadedpi
cargo build --release

EvadeDPI v0.1.0 - Next-Gen DPI Circumvention Suite

Choose a tag to compare

@tazihad tazihad released this 05 Oct 05:49

🛡️ EvadeDPI v0.1.0 — Initial Release

EvadeDPI (evadedpi) is a modern, high-performance Deep Packet Inspection (DPI) circumvention suite written in pure Rust.

✨ Highlights

  • Unified Dual-Protocol Proxy: Serves both SOCKS5 (RFC 1928) and HTTP/HTTPS CONNECT proxy requests on a single port (127.0.0.1:1080).
  • SNI Segmentation: Slices TLS ClientHello messages right at the SNI boundary or first byte to defeat stateless and shallow DPI firewalls.
  • TLS Record Layer Fragmentation (--tlsrec): RFC-compliant multi-record handshake splitting.
  • Decoy / Fake ClientHello Injection (--fake): Injects decoy packets with benign SNI (www.microsoft.com) and low IP TTL to fool stateful flow trackers.
  • TCP Disordering (--disorder): Reverses packet transmission order.
  • TCP Out-Of-Band (--oob): Transmits urgent pointer bytes to desynchronize stream reassembly.
  • HTTP/1.1 Header Mutations: hoSt: casing, whitespace trimming, and request-line spacing.
  • QUIC / HTTP3 Blocking: Drops UDP 443 to force browsers to fallback to standard TCP HTTPS.
  • Encrypted DNS-over-HTTPS (DoH): Built-in asynchronous DoH client (Cloudflare, Google, Quad9, AdGuard) with local in-memory cache.
  • Built-in Diagnostic Probe (evadedpi test <domain>): Tests censorship type and benchmarks evasion tactics against blocked domains.
  • Tuned Regional Profiles (--preset): general, russia, iran, china, turkey, extreme.

📦 Installation

# Extract pre-built binary
tar -xzvf evadedpi-v0.1.0-linux-x86_64.tar.gz
sudo mv evadedpi /usr/local/bin/

# Or build from source
git clone https://github.com/tazihad/evadedpi.git
cd evadedpi
cargo build --release