summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md66
1 files changed, 47 insertions, 19 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4d39caf..7b353ed 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,51 +1,79 @@
+## Unreleased
+### Added
+- Linux: AF_PACKET RxRing for SYN/ACK sniffing (replaces
+ nftables-based filtering)
+- Windows: separate WinDivert handles for recv/send/sniff
+- Windows: SYN/ACK sniff thread spawned only when `--fake-autottl` is
+ enabled
+
+### Changed
+- Linux: replaced serde_json with nft text syntax for nftables rules
+- Linux: removed unnecessary Mutex from RAW4/RAW6 (Socket is already
+ Sync)
+- Refactored send_to_raw to remove in-place packet reparsing
+- Windows: simplified packet handling with `recv_loop` macro
+- Windows: exit immediately on Ctrl-C
+- Deferred `local_time()` call until log level check passes
+- Various internal renames for consistency (drop `_0` suffixes, swap
+ naming conventions)
+- Refactored platform cleanup/trap_exit/RUNNING into platform modules
+
+### Fixed
+- `infer_hops`: use 128, not 126
+
## [DPIBreak v0.4.3] - 2026-02-16
Documentation fix from v0.4.2 and add timestamp on log.
-- docs: fix incorrect pathes in manual (`/tmp/dpibreak.pid` -> `/run/dpibreak.pid`, `/tmp/dpibreak.log` -> `/var/log/dpibreak.log`)
+- docs: fix incorrect pathes in manual (`/tmp/dpibreak.pid` ->
+ `/run/dpibreak.pid`, `/tmp/dpibreak.log` -> `/var/log/dpibreak.log`)
- log: print timestamp on log output
- windows: fix regression introduced on v0.4.2 on service mode
-For new features added on v0.4 (which introduce windows service and daemonize on linux), see [v0.4.0](https://github.com/dilluti0n/dpibreak/releases/tag/v0.4.0) release note.
-
## [DPIBreak v0.4.2] - 2026-02-16
-Hotfix from [v0.4.1](https://github.com/dilluti0n/dpibreak/releases/tag/v0.4.0). Linux only — Windows users do not need to update from v0.4.0 or v0.4.1.
-
-**Upgrading from v0.4.0/v0.4.1:** Stop any running dpibreak instance (`sudo pkill dpibreak`) before upgrading. The PID file path has changed, so the new binary won't detect the old instance.
-
-- Move PID file to `/run/dpibreak.pid` and daemon log file to `/var/log/dpibreak.log`. (Fixes #16)
+- Move PID file to `/run/dpibreak.pid` and daemon log file to
+ `/var/log/dpibreak.log`. (Fixes #16)
- Add root privilege check on startup. (#16)
- Fix log file being truncated when daemonize fails. (#17)
-For new features added on v0.4 (which introduce windows service and daemonize on linux), see [v0.4.0](https://github.com/dilluti0n/dpibreak/releases/tag/v0.4.0) release note.
-
## [DPIBreak v0.4.1] - 2026-02-15
Linux only hotfix:
-Fixed issue where running dpibreak again while a daemon instance was active would silently delete nftables rules and then fail with nfqueue binding error. Non-daemon mode now also acquires PID file lock to ensure only one dpibreak instance runs on the system at a time, whether daemon or non-daemon.
+Fixed issue where running dpibreak again while a daemon instance was
+active would silently delete nftables rules and then fail with nfqueue
+binding error. Non-daemon mode now also acquires PID file lock to
+ensure only one dpibreak instance runs on the system at a time,
+whether daemon or non-daemon.
- TL;DR: Enforce single `dpibreak` instance per system on Linux.
-For new features added on v0.4 (which introduce windows service and daemonize on linux), see [v0.4.0](https://github.com/dilluti0n/dpibreak/releases/tag/v0.4.0) release note.
-
## [DPIBreak v0.4.0] - 2026-02-15
-Added background execution support for both platforms. On Linux, run `dpibreak -D` to start as a daemon. On Windows, run service_install.bat as administrator to install and start a Windows service that also runs automatically on boot.
+Added background execution support for both platforms. On Linux, run
+`dpibreak -D` to start as a daemon. On Windows, run
+service_install.bat as administrator to install and start a Windows
+service that also runs automatically on boot.
- Add option `-D, --daemon`.
- linux: run as a background daemon.
- windows: run as Windows service entry point.
-- windows: add `service_install.bat`, `service_remove.bat` for Windows service management.
+- windows: add `service_install.bat`, `service_remove.bat` for Windows
+ service management.
- windows: add `WINDOWS_GUIDE.txt` with Korean translation.
## [DPIBreak v0.3.0] - 2026-01-31
Feature addition.
-- Add `--fake-autottl`: Dynamically infer the hop count to the destination by analyzing inbound SYN/ACK packets.
-- `--fake-*` options (`--fake-ttl`, `--fake-autottl`, `--fake-badsum`) now implicitly enable the `--fake`. Manual activation of `--fake` is no longer required when using this options.
+- Add `--fake-autottl`: Dynamically infer the hop count to the
+ destination by analyzing inbound SYN/ACK packets.
+- `--fake-*` options (`--fake-ttl`, `--fake-autottl`, `--fake-badsum`)
+ now implicitly enable the `--fake`. Manual activation of `--fake` is
+ no longer required when using this options.
## [DPIBreak v0.2.2] - 2026-01-17
-Maintenance release; reduce binary size (on Linux, ~2.2M -> ~700K). No behavior changed.
+Maintenance release; reduce binary size (on Linux, ~2.2M -> ~700K). No
+behavior changed.
- linux: drop iptables crate (regex dep) to reduce binary size
- Enable LTO and panic=abort to reduce binary size
## [DPIBreak v0.2.1] - 2026-01-16
Hotfix from v0.2.0:
-- Fix default log level to `warn` in release builds. (v0.2.0 silently changed it).
+- Fix default log level to `warn` in release builds. (v0.2.0 silently
+ changed it).
- Fix unused import warnings in release builds.
## [DPIBreak v0.2.0] - 2026-01-16