| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| |
|
|
|
| |
Do not log errors if cleanup fails during startup.
Retain error logging for cleanup failures on shutdown.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| | |
nftables-rs didn’t fit use case, so it was decoupled, and logging was
improved.
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
`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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
* 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.
|
| |/
|
|
|
|
| |
* 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
|
| | |
|
| | |
|
| |
|
|
| |
This removes unnecessary allocations per packet handling.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
When installing, build should not happen both inside of release
tarball and repository (cargo build with root user is kinda
complexed).
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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`.
|
| | |
|
| | |
|
| | |
|