| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| | * | nit: remove unused crate:: | dilluti0n | 2026-07-06 | 1 | -2/+2 | |
| | | | ||||||
| | * | nit: move use libc::sock_filter to inside open_rxring() | dilluti0n | 2026-07-06 | 1 | -4/+2 | |
| | | | ||||||
| | * | linux: drop nix, add wrapper libc_s instead | dilluti0n | 2026-07-06 | 4 | -76/+136 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | |
| | | | ||||||
| * | | pkt: fix infer_hops again | dilluti0n | 2026-06-29 | 1 | -1/+1 | |
| | | | ||||||
| * | | opt: fix help messages | dilluti0n | 2026-06-29 | 1 | -15/+14 | |
| |/ | ||||||
| * | linux: inline poll_once and lift fds init outside the loop | dilluti0n | 2026-06-29 | 1 | -41/+31 | |
| | | | | | | | Keeping poll_once() separate just caused more headaches. It was also rebuilding the fds array every single time. Since poll() only overwrites revents, doing that on every loop was totally unnecessary. | |||||
| * | linux: drop ctrlc crate and use signalfd instead | dilluti0n | 2026-06-29 | 3 | -92/+45 | |
| | | | | | | | 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. | |||||
| * | install.sh: prevent tarball fetch and log during uninstallation | dilluti0n | 2026-05-02 | 1 | -22/+23 | |
| | | | | | | In v1.1, the make dependency was removed so there was no need to fetch tarball, but it kept patching. | |||||
| * | docs: README: fix typo | dilluti0n | 2026-04-21 | 1 | -10/+10 | |
| | | ||||||
| * | docs: dpibreak.1: improve bugs section | dilluti0n | 2026-04-21 | 2 | -10/+21 | |
| | | ||||||
| * | docs: dpibreak.1: fix typo | dilluti0n | 2026-04-21 | 2 | -2/+2 | |
| | | ||||||
| * | docs: README: describe what install.sh does | dilluti0n | 2026-04-21 | 1 | -4/+5 | |
| | | ||||||
| * | docs: README: update | dilluti0n | 2026-04-21 | 1 | -3/+10 | |
| | | ||||||
| * | install.sh: remove -v on tar, fix/add logs and add SVERSION variable | dilluti0n | 2026-04-18 | 1 | -8/+11 | |
| | | ||||||
| * | scripts: add sign.sh | dilluti0n | 2026-04-18 | 1 | -0/+35 | |
| | | ||||||
| * | pkg: aur: dpibreak: bump version to 0.6.1 | dilluti0n | 2026-04-16 | 1 | -0/+0 | |
| | | ||||||
| * | ci: nit: fix indent issue on publish-wingetv0.6.1 | dilluti0n | 2026-04-16 | 1 | -1/+1 | |
| | | ||||||
| * | Bump version to 0.6.1 | dilluti0n | 2026-04-16 | 4 | -43/+36 | |
| | | ||||||
| * | docs: README: update winget installed version to use `dpibreak -h` | dilluti0n | 2026-04-16 | 1 | -2/+2 | |
| | | | | | Console is now not insta-terminated now due to pause() on opt.rs. | |||||
| * | ci: add publish-winget | dilluti0n | 2026-04-16 | 1 | -0/+26 | |
| | | ||||||
| * | docs: CHANGELOG: update by 199b7783fdd4c81b322c33ba6bad5fd60a300e8a | dilluti0n | 2026-04-16 | 1 | -0/+3 | |
| | | ||||||
| * | windows: wait for keypress before exit on --help | dilluti0n | 2026-04-16 | 1 | -1/+16 | |
| | | | | | | | UAC elevation spawns a new console that closes when the process exits, cutting off --help output and error messages. Add a pause on Windows-only exit paths via _getch(). | |||||
| * | docs: README.md: add winget instruction | dilluti0n | 2026-04-16 | 3 | -16/+36 | |
| | | ||||||
| * | docs: CHANGELOG: update by 722a3b008dd7c7aa32ec541bf6326e56751e7cb9 | dilluti0n | 2026-04-08 | 1 | -0/+3 | |
| | | ||||||
| * | build: declare MSRV as 1.88 | dilluti0n | 2026-04-08 | 2 | -2/+3 | |
| | | | | | | | | | 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. | |||||
| * | linux: drain rxring before nfqueue in poll loop | dilluti0n | 2026-04-08 | 1 | -7/+7 | |
| | | | | | | | | | When both fds are ready in the same wakeup, the SYN/ACK that triggered rx_ready is causally prior to the ClientHello waiting in the nfqueue. Process the rxring first so HopTab is populated before handle_packet runs find_hop, reducing the race window for HopLookupError::NotFound under load. | |||||
| * | docs: README: move Quickstart upper | dilluti0n | 2026-04-05 | 1 | -38/+36 | |
| | | ||||||
| * | docs: README: update | dilluti0n | 2026-04-05 | 1 | -44/+23 | |
| | | ||||||
| * | opt: fix -D deprecation warning condition | dilluti0n | 2026-04-05 | 2 | -1/+6 | |
| | | | | | | Previously checked `argv == "--loglevel"` by mistake, copied from the --loglevel deprecation pattern. Now correctly checks `argv == "-D"`. | |||||
| * | pkg: aur: dpibreak: bump version to 0.6.0 | dilluti0n | 2026-04-05 | 1 | -0/+0 | |
| | | ||||||
| * | Bump version to 0.6.0v0.6.0 | dilluti0n | 2026-04-05 | 5 | -40/+47 | |
| | | ||||||
| * | Add shopt -t, -a for --fake-ttl, --fake-autottl, respectively | dilluti0n | 2026-04-05 | 5 | -15/+17 | |
| | | ||||||
| * | Add short option -d for --daemon, deprecating -D. | dilluti0n | 2026-04-05 | 6 | -11/+19 | |
| | | ||||||
| * | Merge branch 'feat/segment-order' | dilluti0n | 2026-04-05 | 6 | -36/+203 | |
| |\ | ||||||
| | * | docs: CHANGELOG: update | dilluti0n | 2026-04-05 | 1 | -0/+8 | |
| | | | ||||||
| | * | docs: README: update segmentation section and add error note | dilluti0n | 2026-04-05 | 1 | -3/+11 | |
| | | | | | | | | | Rename "fragment" to "segmentation". | |||||
| | * | docs: dpibreak.1: add description for --segment-order | dilluti0n | 2026-04-05 | 2 | -2/+58 | |
| | | | ||||||
| | * | opt: add shopt for --segment-order and description | dilluti0n | 2026-04-05 | 1 | -2/+3 | |
| | | | ||||||
| | * | pkt: implement segment-order aware send_split | dilluti0n | 2026-04-05 | 2 | -28/+43 | |
| | | | | | | | | | | | | | Replace hardcoded [0,1] split with send_split accepting &[Segment]. Segments exceeding payload length are warned and skipped. Add Segment type to opt.rs with Display/Debug showing [start,end) notation. | |||||
| | * | opt: implement SegmentOrder::new and Display | dilluti0n | 2026-04-05 | 1 | -4/+49 | |
| | | | | | | | | | | | | | Parse comma-separated split points into sorted segment ranges as (start, end): pairs. Display shows original input with computed ranges, e.g. "5,1,0,3 ([5,end), [1,3), [0,1), [3,5))". | |||||
| | * | opt: add SegmentOrder type and --segment-order option | dilluti0n | 2026-04-05 | 2 | -15/+49 | |
| |/ | | | | | | | SegmentOrder parses a comma-separated list of u32 split points, sorts them, and precomputes segment ranges as (start, end) pairs for use in send_split. The original input string is retained for Display. Parsing logic is unimplemented and will follow in the next commit. | |||||
| * | linux: rxring: nit: add SPDX header | dilluti0n | 2026-03-15 | 1 | -0/+3 | |
| | | ||||||
| * | pkg: aur: dpibreak: bump version to 0.5.1 | dilluti0n | 2026-03-10 | 1 | -0/+0 | |
| | | ||||||
| * | Bump version to 0.5.1v0.5.1 | dilluti0n | 2026-03-10 | 4 | -119/+34 | |
| | | ||||||
| * | pkg: update readme | dilluti0n | 2026-03-10 | 1 | -18/+6 | |
| | | ||||||
| * | docs: CHANGELOG: update | dilluti0n | 2026-03-06 | 1 | -0/+6 | |
| | | ||||||
| * | linux: add IPv6 SYN/ACK BPF filter and increase rxring frame size | dilluti0n | 2026-03-06 | 2 | -20/+25 | |
| | | | | | | | | | | | | | | | Previous BPF filter only matched IPv4 due to tcpdump failing to generate a correct combined IPv4/IPv6 filter. Replaced with manually split filter that handles both ip and ip6 paths. Also increase FRAME_SIZE from 128 to 256 to resolve this error: [WARNING] put_hop: IPv6 Packet Error: Not enough data to decode 'IPv6 packet'. 80 byte(s) would be required, but only 62 byte(s) are available based on the slice length. tpacket_hdr(~66) + eth(14) + ipv6(40) + tcp+options(60) = ~180 bytes, which exceeded the previous 128-byte limit. | |||||
| * | docs: README: update | Hee | 2026-03-02 | 1 | -1/+1 | |
| | | ||||||
| * | linux: iptables: nit: fix compiler warning | dilluti0n | 2026-03-02 | 1 | -1/+0 | |
| | | ||||||
