bypassOS-dev/BlindDPI

Rust

0

26 commits

updated Sep 21, 2026

See the code

See what people are saying (1)

SourceMessageScoreDate

Built an anti-DPI traffic obfuscator in Rust using NFQUEUE. (r/SideProject)

Hi everyone! A couple of months ago, my previous DPI bypass setup (Zapret) completely broke on my Debian machine. Living without YouTube and some daily-driven resources was pretty tough, so I decided to brush up on my low-level networking skills and build my own tool. The project is called…

1

Sep 21, 2026

README

BlindDPI

BlindDPI is a high-performance Rust utility designed to bypass Deep Packet Inspection (DPI) systems using TLS ClientHello fragmentation and SNI spoofing / TTL packet manipulation at the network layer via NFQUEUE.

The tool analyzes incoming/outgoing traffic, extracts Server Name Indication (SNI) hostnames from TLS handshakes, and performs selective split-tunneling based on a customizable whitelist.

📋 Prerequisites

  • OS: Linux (Kernel $\ge 5.0$)

  • Dependencies:

  • iptables

  • libnetfilter_queue (Debian/Ubuntu: sudo apt install libnetfilter-queue-dev build-essential)

  • Privileges: root access (required for raw sockets and iptables manipulation).


🛠️ Build & Installation

  1. Clone the repository:
git clone https://github.com/bypassOS-dev/BlindDPI.git
cd BlindDPI
  1. Compile the binary using cargo:
cargo build --release

The output binary will be located at ./target/release/BlindDPI.


⚙️ Configuration (white_list.txt)

Also you can change domain list and add some domain that is need you! (supports comments using # and empty lines):

# New domain:
example.com
my_site.com
some_site.com

Usage

Run the compiled binary with elevated privileges:

sudo ./target/release/BlindDPI

To stop the program, press Ctrl+C. BlindDPI will automatically flush the applied iptables rules and perform a clean exit.

[!IMPORTANT] But if something went wrong use this command:

sudo iptables -D OUTPUT -p tcp --dport 443 -j NFQUEUE --queue-num 0

💬 A Note from the Author

Thank you for downloading and using BlindDPI! This project was built with a lot of passion for low-level networking, performance, and digital freedom.

Blazingly fast & built with love in Rust. 🦀✨

Found a bug, or have an idea to improve it? Feel free to open an Issue or submit a Pull Request! Any feedback and contributions are greatly appreciated.

If you find this tool helpful, don't forget to give it a ⭐ on GitHub!

Contributors

bypassOS-dev

26 commits

bypassOS-dev/BlindDPI

Rust

0

26 commits

updated Sep 21, 2026

See the code

See what people are saying (1)

SourceMessageScoreDate

Built an anti-DPI traffic obfuscator in Rust using NFQUEUE. (r/SideProject)

Hi everyone! A couple of months ago, my previous DPI bypass setup (Zapret) completely broke on my Debian machine. Living without YouTube and some daily-driven resources was pretty tough, so I decided to brush up on my low-level networking skills and build my own tool. The project is called…

1

Sep 21, 2026

README

BlindDPI

BlindDPI is a high-performance Rust utility designed to bypass Deep Packet Inspection (DPI) systems using TLS ClientHello fragmentation and SNI spoofing / TTL packet manipulation at the network layer via NFQUEUE.

The tool analyzes incoming/outgoing traffic, extracts Server Name Indication (SNI) hostnames from TLS handshakes, and performs selective split-tunneling based on a customizable whitelist.

📋 Prerequisites

  • OS: Linux (Kernel $\ge 5.0$)

  • Dependencies:

  • iptables

  • libnetfilter_queue (Debian/Ubuntu: sudo apt install libnetfilter-queue-dev build-essential)

  • Privileges: root access (required for raw sockets and iptables manipulation).


🛠️ Build & Installation

  1. Clone the repository:
git clone https://github.com/bypassOS-dev/BlindDPI.git
cd BlindDPI
  1. Compile the binary using cargo:
cargo build --release

The output binary will be located at ./target/release/BlindDPI.


⚙️ Configuration (white_list.txt)

Also you can change domain list and add some domain that is need you! (supports comments using # and empty lines):

# New domain:
example.com
my_site.com
some_site.com

Usage

Run the compiled binary with elevated privileges:

sudo ./target/release/BlindDPI

To stop the program, press Ctrl+C. BlindDPI will automatically flush the applied iptables rules and perform a clean exit.

[!IMPORTANT] But if something went wrong use this command:

sudo iptables -D OUTPUT -p tcp --dport 443 -j NFQUEUE --queue-num 0

💬 A Note from the Author

Thank you for downloading and using BlindDPI! This project was built with a lot of passion for low-level networking, performance, and digital freedom.

Blazingly fast & built with love in Rust. 🦀✨

Found a bug, or have an idea to improve it? Feel free to open an Issue or submit a Pull Request! Any feedback and contributions are greatly appreciated.

If you find this tool helpful, don't forget to give it a ⭐ on GitHub!

Contributors

bypassOS-dev

26 commits

Languages

Rust

100.0%