diff options
| -rw-r--r-- | CHANGELOG.md | 4 | ||||
| -rw-r--r-- | Cargo.lock | 36 | ||||
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | RELEASE_NOTE.md | 21 |
4 files changed, 39 insertions, 24 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b353ed..6bc62f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Unreleased +## [DPIBreak v0.5.0] - 2026-03-02 ### Added - Linux: AF_PACKET RxRing for SYN/ACK sniffing (replaces nftables-based filtering) @@ -17,6 +17,8 @@ - Various internal renames for consistency (drop `_0` suffixes, swap naming conventions) - Refactored platform cleanup/trap_exit/RUNNING into platform modules +- Windows: service_install.bat no longer enables fake options by + default. Add `--fake-autottl` to ARGS manually if needed. ### Fixed - `infer_hops`: use 128, not 126 @@ -230,7 +230,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162" dependencies = [ "dispatch2", - "nix 0.31.1", + "nix 0.31.2", "windows-sys 0.61.2", ] @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "dpibreak" -version = "0.4.3" +version = "0.5.0" dependencies = [ "anyhow", "criterion", @@ -331,9 +331,9 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "js-sys" -version = "0.3.90" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" dependencies = [ "once_cell", "wasm-bindgen", @@ -341,9 +341,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.180" +version = "0.2.182" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "memchr" @@ -375,9 +375,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225e7cfe711e0ba79a68baeddb2982723e4235247aefce1482f2f16c27865b66" +checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3" dependencies = [ "bitflags", "cfg-if", @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" dependencies = [ "cfg-if", "once_cell", @@ -681,9 +681,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -691,9 +691,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" dependencies = [ "bumpalo", "proc-macro2", @@ -704,18 +704,18 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.113" +version = "0.2.114" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.90" +version = "0.3.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" dependencies = [ "js-sys", "wasm-bindgen", @@ -17,7 +17,7 @@ [package] name = "dpibreak" -version = "0.4.3" +version = "0.5.0" authors = ["Dilluti0n <[email protected]>"] edition = "2024" build = "build.rs" diff --git a/RELEASE_NOTE.md b/RELEASE_NOTE.md index fdcd442..3984fb8 100644 --- a/RELEASE_NOTE.md +++ b/RELEASE_NOTE.md @@ -1,14 +1,27 @@ -On Linux, SYN/ACK sniffing for `--fake-autottl` now uses AF_PACKET RxRing instead of nftables-based filtering. This removes the extra nftables rules that were needed for SYN/ACK capture and should be more efficient. On Windows, WinDivert is now opened as separate recv/send/sniff handles, and the sniff thread is only spawned when `--fake-autottl` is actually enabled. +Performance improvement due to packet sniffing backend changes. -Other changes: Windows exits immediately on Ctrl-C instead of waiting for cleanup, logging defers `local_time()` until the log level check passes, and `infer_hops` now correctly uses 128 (was 126). Various internal refactoring for consistency. +On Linux, SYN/ACK sniffing for `--fake-autottl` now uses AF_PACKET RxRing instead of nftables-based filtering. Packets are read via mmap'd ring buffer with zero copy from kernel to userspace, replacing the extra nftables rules that were needed for SYN/ACK capture. + +On Windows, packet handling is now multi-threaded with separate recv/send/sniff paths, while sniff thread is only spawned when `--fake-autottl` is actually enabled. + +Other changes: +- Windows exits immediately on Ctrl-C instead of waiting for cleanup. +- Logging defers `local_time()` until the log level check passes. +- `infer_hops` now correctly uses 128 (was 126). +- Various internal refactoring for consistency. +- Windows: service_install.bat no longer enables fake options by + default. Add `--fake-autottl` to ARGS manually if needed. ## Installation ### Windows 1. Download the `.zip` from the below and extract it. -2. Double-click `dpibreak.exe` to run, or `start_fake.bat` for [fake](https://github.com/Dilluti0n/DPIBreak#fake) mode. +2. Double-click `dpibreak.exe` to run, or `start_fake.bat` for + [fake](https://github.com/Dilluti0n/DPIBreak#fake) mode. 3. To run automatically on boot, run `service_install.bat` as administrator. -See `WINDOWS_GUIDE.txt` in the zip for more details. +See `WINDOWS_GUIDE.txt` in the zip for more details. If you have +trouble deleting the previous version's folder when updating, see +[#21](https://github.com/Dilluti0n/DPIBreak/issues/21). ### Linux One-liner install: |
