dpibreak

Crates.iodpibreak
lib.rsdpibreak
version0.2.2
created_at2025-12-28 12:50:54.685265+00
updated_at2026-01-17 16:48:03.680037+00
descriptionSimple and efficient DPI circumvention tool in Rust.
homepagehttps://github.com/dilluti0n/dpibreak
repositoryhttps://github.com/dilluti0n/dpibreak.git
max_upload_size
id2008775
size1,312,362
Hee (dilluti0n)

documentation

README

DPIBreak

DPIBreak_logo

[!IMPORTANT]

Please make sure your usage complies with applicable laws and regulations. This software is provided "AS IS", WITHOUT ANY WARRANTY, to the extent permitted by applicable law; see COPYING (GPLv3 §§15–17).

Simple and efficient tool for circumventing Deep Packet Inspection (DPI) on HTTPS connections. It fragments the TCP packet carrying the TLS ClientHello so that certain DPI devices cannot extract the Server Name Indication (SNI) field and identify the destination site.

It only applies to the packets carrying TLS ClientHello; Other traffic is not even queued to userspace and passes through the kernel normally, unmodified. So, it is fast and does not affect core performance (e.g., video streaming speed) users may be concerned about.

Features

fake

Enable fake ClientHello packet injection before sending each packet fragmented. (See --fake section on dpibreak(1) for more information.)

Quickstart

Windows

  1. Download and unzip the release from https://github.com/dilluti0n/dpibreak/releases/latest.
  2. Double-click dpibreak.exe or start_fake.bat to use fake. (See WINDOWS_GUIDE.txt for more information.)

Linux

  1. Download release tarball from https://github.com/dilluti0n/dpibreak/releases/latest.
  2. Extract and install:
tar -xf DPIBreak-X.Y.Z-x86_64-unknown-linux-musl.tar.gz
cd DPIBreak-X.Y.Z-x86_64-unknown-linux-musl
sudo make install
  1. To run:
sudo dpibreak
sudo dpibreak --fake --fake-ttl 8
dpibreak --help
man 1 dpibreak # manual
  1. To uninstall:
sudo make uninstall

Gentoo Linux

Available in the GURU repository.

eselect repository enable guru
emaint sync -r guru
emerge --ask net-misc/dpibreak

Linux with Cargo (crates.io)

Install Rust toolchain from https://www.rust-lang.org/learn/get-started.

cargo install dpibreak
  • Requirements: libnetfilter_queue development files (e.g., libnetfilter-queue-dev on Ubuntu/Debian).
  • Note: Since cargo installs to user directory, sudo might not see it. Use full path or link it:
# Option 1: Run with full path
sudo ~/.cargo/bin/dpibreak

# Option 2: Symlink to system bin (Recommended)
sudo ln -s ~/.cargo/bin/dpibreak /usr/local/bin/dpibreak
sudo dpibreak

How to use

Simply running the program should work without any issues. It requires administrator privileges to run:

  • On Linux, you must run it with root privileges (e.g., sudo dpibreak).
  • On Windows, double-clicking dpibreak.exe or start_fake.bat will automatically prompt for administrator permission. After it starts, a console window will open. You must keep this window open while using the program.

To stop using the program, press Ctrl+C or close the window; it will exit without leaving any global state behind. For more detailed information, please refer to dpibreak(1).

Reporting issues

See dpibreak(1)#BUGS. Report bugs at https://github.com/dilluti0n/dpibreak/issues.

To produce release zip/tarball

Release builds and deployments are automated via GitHub Actions. See .github/workflows/release.yml for details. Compilation requires Rust toolchain. See https://www.rust-lang.org/learn/get-started.

Windows:

  1. Download WinDivert:
Invoke-WebRequest -Uri "https://reqrypt.org/download/WinDivert-2.2.2-A.zip" -OutFile WinDivert.zip
Expand-Archive -Path WinDivert.zip -DestinationPath .\
Remove-Item .\WinDivert.zip
  1. .\build.ps1 zipball

Linux: make tarball

Release zip/tarball should be ready on directory dist.

Built with

  • Netfilter-queue - The user-space packet queuing system for Linux.
  • WinDivert - A user-mode packet interception library for Windows.

Thanks

  • GoodByeDPI by ValdikSS: For its design which shaped the project's UX.

For introducing the circumvention idea:

See more

Alternative tools:

Useful links:

Notice

Copyright 2025-2026 Dilluti0n.

Licensed under GPL-3.0-or-later.

License-logo

Commit count: 0

cargo fmt