| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | linux: rxring: fix tp_snaplen treated as the L3 length instead L2 | dilluti0n | 2026-07-10 | 1 | -0/+1 |
| | | | | | | | | | | While solving it, introduced Pkt abstraction so that advance() is automatically executed upon dropping it. This change still allows access to mmapped pointers within the Pkt.net() and enables the addition of other slice fields (such as mac) later. | ||||
| * | linux: drop nix, add wrapper libc_s instead | dilluti0n | 2026-07-06 | 1 | -1/+0 |
| | | | | | | | | | | | | | | When I updated nix to 0.31, `nix::fcntl::flock` became deprecated and unusable. At first I try to refactor `lock_pid_file()` to use the `lock` method of the `nix::fcntl::Flock` struct, but a situation arose where `set_len(0)` could not be called due to ownership issues. Linux system calls are fundamentally simple, stable, and backward compatible. Therefore, a compat layer is not necessary. Anticipating that this might happen again, this commit introduce the `libc_s`, which handles simple error processing for unsafe ffis in libc syscall bindings. | ||||
| * | nit: update email | dilluti0n | 2026-07-06 | 1 | -1/+1 |
| | | |||||
| * | linux: drop ctrlc crate and use signalfd instead | dilluti0n | 2026-06-29 | 1 | -1/+0 |
| | | | | | | | This integrates well with the main poll loop and removes the global AtomicBool RUNNING, which previously did nothing but detect interrupts before entering the loop. | ||||
| * | Bump version to 0.6.1 | dilluti0n | 2026-04-16 | 1 | -1/+1 |
| | | |||||
| * | build: declare MSRV as 1.88 | dilluti0n | 2026-04-08 | 1 | -0/+1 |
| | | | | | | | | | The hot loop in src/platform/linux.rs uses if-let chains:(`if cond && let Some(x) = expr`), stabilised in Rust 1.88. Older toolchains fail with a cryptic E0658 feature-gate error; declaring rust-version surfaces a clear "package requires rustc 1.88 or newer" message at cargo invocation time instead. | ||||
| * | Bump version to 0.6.0v0.6.0 | dilluti0n | 2026-04-05 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.5.1v0.5.1 | dilluti0n | 2026-03-10 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.5.0v0.5.0 | dilluti0n | 2026-03-02 | 1 | -1/+1 |
| | | |||||
| * | windows: simplify packet handling with recv_loop macro | hskimse | 2026-03-01 | 1 | -2/+2 |
| | | | | | | | | | | Replace generic spawn_recv with recv_loop macro that encapsulates the buffer allocation and receive loop. Divert handle now runs directly on the main thread, while sniff handle spawns a dedicated thread only when fake_autottl is enabled. This eliminates the mpsc channel, Event enum, and the race condition where concurrent open_handle calls during driver initialization could cause error 1058. | ||||
| * | linux: fix rxring initialized even if fake_autottl not enabled | dilluti0n | 2026-02-26 | 1 | -1/+1 |
| | | | | | | | | Conditionally initialize rxring only when fake_autottl is enabled. Extract poll_once() using libc::poll directly; fd=-1 trick eliminates the need for conditional branching on optional rxring fd, as poll sets revents=0 for negative fds per POSIX. Drop nix poll feature. | ||||
| * | linux: nftables: drop serde_json, use nft text syntax | dilluti0n | 2026-02-26 | 1 | -1/+0 |
| | | | | | 100 lines of JSON soup -> 16 lines of actual nftables | ||||
| * | docs: change description, refine manual | dilluti0n | 2026-02-20 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.4.3 | dilluti0n | 2026-02-16 | 1 | -1/+1 |
| | | |||||
| * | log: drop chrono, use localtime_r and GetLocalTime directly | dilluti0n | 2026-02-16 | 1 | -1/+1 |
| | | | | | 24 KiB is precious :) | ||||
| * | log: print time with crate chrono | dilluti0n | 2026-02-16 | 1 | -0/+1 |
| | | |||||
| * | Bump version to 0.4.2 | dilluti0n | 2026-02-16 | 1 | -1/+1 |
| | | |||||
| * | linux: exit if not root | dilluti0n | 2026-02-16 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.4.1v0.4.1 | dilluti0n | 2026-02-15 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.4.0 | dilluti0n | 2026-02-15 | 1 | -1/+1 |
| | | |||||
| * | windows: implement windows service | dilluti0n | 2026-02-15 | 1 | -0/+1 |
| | | | | | | | | | | Revert lock_handle() send_to_raw cannot get a mutex since lock is not released per iteration. commit e08b57d281d8368dc02f06e3b6cd43edf88b2438 | ||||
| * | linux: implement daemonize | dilluti0n | 2026-02-15 | 1 | -1/+2 |
| | | | | | | Closes: #2 Link: https://github.com/dilluti0n/dpibreak/issues/2 | ||||
| * | build: preprocess version of dpibreak.1 | dilluti0n | 2026-02-03 | 1 | -0/+3 |
| | | |||||
| * | Bump version to 0.3.0v0.3.0 | dilluti0n | 2026-02-01 | 1 | -1/+1 |
| | | | | | Closes: https://github.com/dilluti0n/dpibreak/issues/12 | ||||
| * | Add benchmark for pkt/hoptab, add feature bench for internal benches | dilluti0n | 2026-01-23 | 1 | -0/+11 |
| | | |||||
| * | Bump version to v0.2.2v0.2.2 | dilluti0n | 2026-01-18 | 1 | -1/+1 |
| | | |||||
| * | linux: drop iptables crate (regex dep) to reduce binary size | dilluti0n | 2026-01-18 | 1 | -1/+0 |
| | | | | | Introduce minimal iptables wrapper. | ||||
| * | build: enable LTO and panic=abort to reduce binary size | dilluti0n | 2026-01-18 | 1 | -0/+4 |
| | | |||||
| * | Bump version to v0.2.1v0.2.1 | dilluti0n | 2026-01-16 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.2.0v0.2.0 | dilluti0n | 2026-01-16 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.1.1v0.1.1 | dilluti0n | 2026-01-12 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.1.0v0.1.0 | dilluti0n | 2026-01-05 | 1 | -1/+1 |
| | | |||||
| * | Update license notice; Happy new year! | dilluti0n | 2026-01-05 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.0.7v0.0.7 | dilluti0n | 2026-01-04 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.0.6v0.0.6 | dilluti0n | 2025-12-28 | 1 | -1/+1 |
| | | |||||
| * | ci: switch nfq dependency to crates.io-compatible nfq-updated | dilluti0n | 2025-12-28 | 1 | -1/+1 |
| | | |||||
| * | ci: add readme metadata on Cargo.toml | dilluti0n | 2025-12-28 | 1 | -0/+1 |
| | | |||||
| * | Bump version to 0.0.5v0.0.5 | dilluti0n | 2025-12-22 | 1 | -1/+1 |
| | | |||||
| * | Bump version to 0.0.4v0.0.4 | dilluti0n | 2025-10-29 | 1 | -1/+1 |
| | | |||||
| * | linux: switch to apply_nft_rules() from nftables-rs for rule setting | dilluti0n | 2025-10-29 | 1 | -1/+0 |
| | | | | | | nftables-rs didn’t fit use case, so it was decoupled, and logging was improved. | ||||
| * | Bump version to 0.0.3v0.0.3 | dilluti0n | 2025-10-06 | 1 | -1/+1 |
| | | |||||
| * | Move linux-only dependencies on Cargo.toml | dilluti0n | 2025-10-06 | 1 | -2/+2 |
| | | |||||
| * | platform: linux: add nftables support with iptables fallback | dilluti0n | 2025-10-03 | 1 | -0/+2 |
| | | | | | | | | | | | Introduce nftables rules under a dedicated "dpibreak" table and chain. Traffic on TCP port 443 is queued using NFQUEUE. If nftables is not supported, fall back to the existing iptables-based rules for both IPv4 and IPv6. Also update cleanup logic to remove nftables table if used, or iptables rules otherwise. | ||||
| * | Bump version to 0.0.2v0.0.2 | dilluti0n | 2025-09-11 | 1 | -2/+2 |
| | | |||||
| * | Update package description | dilluti0n | 2025-09-07 | 1 | -1/+1 |
| | | |||||
| * | Update copyright notices to notice email instead of github link | dilluti0n | 2025-09-05 | 1 | -2/+2 |
| | | |||||
| * | Update version and metadatas on Cargo.toml | dilluti0n | 2025-09-05 | 1 | -1/+7 |
| | | | | | * Use: Cargo.toml inside on program | ||||
| * | Add license document and copyright notice headers | dilluti0n | 2025-09-05 | 1 | -0/+17 |
| | | |||||
| * | Decouple once_cell by replacing it with standard lib | Dilluti0n | 2025-08-23 | 1 | -1/+0 |
| | | |||||
| * | build: use winres to add manifest for windows binary | dilluti0n | 2025-08-06 | 1 | -2/+4 |
| | | |||||
