summaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAgeFilesLines
...
* ci: add readme metadata on Cargo.tomldilluti0n2025-12-282-17/+18
|
* Bump version to 0.0.5v0.0.5dilluti0n2025-12-224-21/+24
|
* linux: ignore cleanup errors at startupdilluti0n2025-12-221-7/+3
| | | | | Do not log errors if cleanup fails during startup. Retain error logging for cleanup failures on shutdown.
* Add more links to READMEdilluti0n2025-10-291-5/+9
|
* Add links on READMEdilluti0n2025-10-291-0/+33
|
* Bump version to 0.0.4v0.0.4dilluti0n2025-10-294-11/+13
|
* ci: update cratesdilluti0n2025-10-291-68/+99
|
* ci: do not print glibc version for musl targetdilluti0n2025-10-291-6/+10
|
* Merge branch 'feat/log-nftables'dilluti0n2025-10-296-162/+73
|\ | | | | | | | | | | | | Decouple with nftables-rs crate and incorporate nftables log to logging. This merge was mainly done because a cleanup needs to be performed once at startup, but the log message for that appeared at all log levels, which didn’t look good.
| * Add --nft-command option to manualdilluti0n2025-10-292-0/+8
| |
| * linux: switch to apply_nft_rules() from nftables-rs for rule settingdilluti0n2025-10-293-156/+16
| | | | | | | | | | nftables-rs didn’t fit use case, so it was decoupled, and logging was improved.
| * linux: implement apply_nft_rules() to log output sanelydilluti0n2025-10-291-0/+30
| |
| * linux: add option `--nft-command`dilluti0n2025-10-292-10/+23
|/
* Bump version to 0.0.3v0.0.3dilluti0n2025-10-064-3/+8
|
* docs: update readmedilluti0n2025-10-061-13/+13
|
* windows: avoid ERR_INVALID_NAME when uninstalling WinDivertdilluti0n2025-10-061-2/+9
| | | | | | | `CloseAction::Uninstall` triggers ERROR_INVALID_NAME (0x8007007B) on Windows, likely due to the crate passing a non–NUL-terminated "WinDivert" string to `OpenServiceA`. For now, skip uninstallation and just close the handle normally. Added a FIXME comment with details.
* Move linux-only dependencies on Cargo.tomldilluti0n2025-10-062-18/+18
|
* platform: windows: close handle and uninstall driver sanelydilluti0n2025-10-061-9/+19
|
* platform: windows: only divert clienthello packet to userspacedilluti0n2025-10-032-2/+4
|
* docs: fix typodilluti0n2025-10-033-4/+5
|
* Merge branch 'feat/nftables'dilluti0n2025-10-036-80/+439
|\
| * Update manual with nftables supportdilluti0n2025-10-032-11/+22
| |
| * platform: linux: filter only TLS ClientHello packets on nftablesdilluti0n2025-10-031-0/+21
| | | | | | | | | | | | | | | | Add additional nftables match expressions to detect TLS records (ContentType 0x16 = Handshake): and specifically ClientHello (HandshakeType 0x01):. Packets matching this pattern are queued to NFQUEUE. Mark xt_u32 as supported when nftables filtering is successfully applied.
| * platform: linux: add nftables support with iptables fallbackdilluti0n2025-10-033-55/+356
| | | | | | | | | | | | | | | | | | | | 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.
| * platform: linux: split iptables helpers on bootstrap/cleanupdilluti0n2025-09-271-14/+25
| |
| * Refactor packet sending into split_packet_1 helperdilluti0n2025-09-151-9/+24
| | | | | | | | | | | | | | * Extracted: repeated split/send/sleep logic from `handle_packet` into new `split_packet_1` function for clarity and reuse. * Simplifies: `handle_packet` by replacing manual steps with a single call.
* | ci: build.ps1: fix distribution path handling in release ziphskimse2025-09-121-2/+6
|/ | | | | | * Only remove $DistPath if it exists instead of removing $DistDir entirely * Change Compress-Archive call to run from $DistDir so the top-level distribution directory is preserved in the zipball
* Bump version to 0.0.2v0.0.2dilluti0n2025-09-114-4/+7
|
* build: guard metadata extraction when Cargo.toml or .git is missingdilluti0n2025-09-111-0/+5
|
* Refactor handle_packet to reuse external buffer for packet handlingdilluti0n2025-09-114-9/+16
| | | | This removes unnecessary allocations per packet handling.
* github: auto format release notesdilluti0n2025-09-111-2/+41
|
* Ensure WinDivert is present on ci and build.ps1 fail early on errorsdilluti0n2025-09-112-22/+29
| | | | | | | | | | | | | | | | | | * github: download and extract WinDivert before running build * build: add check for WinDivert path existence and fail early * build: stop on missing distribution files instead of skipping The release workflow failed because WinDivert binaries were not present, and the build script continued execution even when cargo build failed. Ensure WinDivert is downloaded in CI and explicitly check its path before packaging. Also, make the build script exit immediately on missing files or build errors. Reported-by: dilluti0n <[email protected]> Link: https://github.com/dilluti0n/dpibreak/issues/1 Fixes: #1
* build: fix make install failure on release tarballsdilluti0n2025-09-091-13/+15
| | | | | | | | | | | | | | | `make install` used to fail when run from a release tarball because $(PROG) were depend on $(TARGET) but recipie for $(TARGET) were not there. Decoupling build and installation by removing that dependancy. Additionaly, there was verbose error messages Cargo.toml and git metadata were not available on release tarball. Reorganized execution order so that install/uninstall target no longer depends on cargo or git. Reported-by: dilluti0n <[email protected]> Link: https://github.com/dilluti0n/dpibreak/issues/4 Fixes: #4
* github: fix release action (no x86_64-unknown-linux-musl)v0.0.1dilluti0n2025-09-071-2/+7
|
* docs: README.md: add Quickstart sectiondilluti0n2025-09-071-3/+29
|
* github: create release.yml, automation build & gh releaseHee2025-09-071-0/+83
|
* build: add release script for windowsdilluti0n2025-09-071-0/+208
|
* build: add help messagedilluti0n2025-09-071-4/+17
|
* build: replace hardcoded paths with make automatic variablesdilluti0n2025-09-071-8/+8
|
* build: decouple target `install' with `build'dilluti0n2025-09-071-3/+4
| | | | | | When installing, build should not happen both inside of release tarball and repository (cargo build with root user is kinda complexed).
* Add `--locked' option for cargo for reproducible builddilluti0n2025-09-071-1/+1
|
* Fix sha256sum path issue (dist/ is prefixed inside sha256 file)dilluti0n2025-09-071-2/+2
|
* scripts: remove obsolate release scriptdilluti0n2025-09-071-75/+0
|
* Implement makeing release tarball on Makefiledilluti0n2025-09-072-4/+62
|
* Add Makefile for instalation on Linuxdilluti0n2025-09-071-0/+48
|
* scripts: exclude debuginfo file from tarballdilluti0n2025-09-071-10/+7
|
* log: add splash! macro and centralize no-splash handlingdilluti0n2025-09-074-30/+39
| | | | | | | | | | | | | * Introduce: `splash!` macro in `log.rs` to print startup messages conditionally, based on `--no-splash` flag. * Move: `NO_SPLASH` management into `log.rs` with helper functions: (`set_no_splash`, `no_splash`). * Remove: old `splash()` function in `main.rs` and replace with `splash!` macro usage. * Set: default `LogLevel` according to build profile (Debug → Debug, Release → Warning). * Print: unified startup messages across Linux and Windows, including `MESSAGE_AT_RUN`.
* docs: refine wording in README.mddilluti0n2025-09-071-7/+8
|
* docs: expand bugs-to section with more detailed explainationdilluti0n2025-09-073-17/+37
|
* manual: update package descriptiondilluti0n2025-09-072-2/+2
|