summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md4
-rw-r--r--Cargo.lock36
-rw-r--r--Cargo.toml2
-rw-r--r--RELEASE_NOTE.md21
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
diff --git a/Cargo.lock b/Cargo.lock
index 1d9af3b..d241b84 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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",
diff --git a/Cargo.toml b/Cargo.toml
index a11c854..289cd00 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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: