Marco Cadetg
5a059a3a12
feat: add Landlock sandbox and capability dropping for Linux ( #86 )
...
* feat: add Landlock sandbox and capability dropping for Linux
- Restrict filesystem access to /proc only after initialization
- Block TCP bind/connect on kernel 6.4+ (network sandbox)
- Drop CAP_NET_RAW after pcap handle opened
- Add --no-sandbox and --sandbox-strict CLI options
- Show privilege info on non-Linux platforms in UI
- Add SECURITY.md documentation
* fix: remove unused set_sandbox_info and hide Landlock line on non-Linux
* fix: gate SandboxInfo to Linux only to fix clippy warnings
* fix: add is_admin() function for Windows builds
The Windows build was failing because ui.rs called crate::is_admin()
but the function didn't exist. Added the implementation using Windows
Security API to check if the process has elevated privileges.
Also added Win32_Security feature to windows crate dependencies.
* fix: add is_admin() to main.rs for Windows binary crate
The previous fix added is_admin() to lib.rs but ui.rs is compiled
as part of the binary crate (main.rs), not the library crate.
Added the function to main.rs so crate::is_admin() resolves correctly.
2025-12-06 17:50:21 +01:00
Marco Cadetg
dd0b7e0923
fix: make RateTracker tests deterministic with injectable timestamps ( #85 )
2025-12-06 15:36:05 +01:00
Marco Cadetg
5c8ca435b3
refactor: simplify QUIC DPI and reorganize platform code ( #84 )
...
* refactor: simplify QUIC DPI and unify SNI extraction helpers
* refactor: reorganize platform code and improve code structure
2025-12-06 13:31:17 +01:00
dependabot[bot]
2fb66fe478
chore(deps): bump pcap in the rust-dependencies group ( #83 )
...
Bumps the rust-dependencies group with 1 update: [pcap](https://github.com/rust-pcap/pcap ).
Updates `pcap` from 2.3.0 to 2.4.0
- [Changelog](https://github.com/rust-pcap/pcap/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-pcap/pcap/compare/v2.3.0...v2.4.0 )
---
updated-dependencies:
- dependency-name: pcap
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 21:02:41 +01:00
dependabot[bot]
1a47b1a8d8
chore(deps): bump vmactions/freebsd-vm in the actions group ( #82 )
...
Bumps the actions group with 1 update: [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm ).
Updates `vmactions/freebsd-vm` from 1.2.7 to 1.2.8
- [Release notes](https://github.com/vmactions/freebsd-vm/releases )
- [Commits](https://github.com/vmactions/freebsd-vm/compare/b9c3f24600acdef618ef1c9e2d3c6eeda4dce712...0cd283ca698d48b59cda444a9948f48a30709627 )
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 21:00:57 +01:00
Marco Cadetg
3a8e8614bc
feat: reorganize platform code into per-platform directories ( #81 )
...
* feat: reorganize platform code into per-platform directories
- Move platform files into linux/, macos/, windows/, freebsd/ subdirectories
- Unify create_process_lookup() API with _use_pktap parameter across all platforms
- Update build.rs paths for eBPF program location
- Reduce cfg attributes in main mod.rs from ~42 to 8
* fix: widen tolerance for test_sliding_window_no_skip_first_sample
Increase acceptable range from 9000-11000 to 5000-15000 to account
for timing variability on macOS ARM CI runners.
* docs: update Linux build dependencies and remove EBPF_BUILD.md
- Add missing build-essential, pkg-config, zlib1g-dev to documentation
- Update rust.yml CI with complete dependencies
- Remove EBPF_BUILD.md (info already in INSTALL.md)
- Update references in README.md and ARCHITECTURE.md
2025-11-30 18:08:11 +01:00
Marco Cadetg
fed1efaa30
Enhance Dependabot configuration for Rust and Actions
...
Added cooldown and grouping settings for Rust and GitHub Actions dependencies.
2025-11-26 08:10:24 +01:00
Marco Cadetg
abfac77826
Run Docker container as host user
2025-11-22 22:31:02 +01:00
Marco Cadetg
60f7f546ad
Fix .SRCINFO file ownership
2025-11-22 22:26:21 +01:00
Marco Cadetg
d3053e1ec6
Run makepkg as non-root user
2025-11-22 22:24:41 +01:00
Marco Cadetg
f91731726b
Fix tag detection for manual triggers
2025-11-22 22:23:25 +01:00
Marco Cadetg
51951a2dc0
Use latest tag for manual workflow triggers
2025-11-22 22:20:01 +01:00
Marco Cadetg
93902d3911
Fix AUR workflow version extraction
2025-11-22 22:18:45 +01:00
Marco Cadetg
2c0f0d7aae
Add AUR package automation workflow
2025-11-22 22:12:05 +01:00
Marco Cadetg
f12a3e21cd
chore: pin vmactions/freebsd-vm to v1.2.7 SHA
2025-11-22 18:59:05 +01:00
Marco Cadetg
8db02be5fe
Release v0.16.1
...
- Fix cross-compilation build issues for eBPF on non-Linux platforms
- Switch FreeBSD to native VM builds instead of cross-compilation
- Fix build.rs to check TARGET instead of host platform
v0.16.1
2025-11-22 18:35:49 +01:00
Marco Cadetg
b85d69114c
Use FreeBSD VM for native builds instead of cross-compilation
...
- Removed freebsd-x64 from cross-compilation matrix
- Added dedicated build-freebsd job using vmactions/freebsd-vm
- Builds natively on actual FreeBSD using pkg and native toolchain
- Updated test-freebsd workflow to use VM as well
- Avoids all cross-compilation sysroot/libpcap issues
v0.16.0
2025-11-22 18:17:48 +01:00
Marco Cadetg
972d4de2f4
Fix FreeBSD build: make libbpf-cargo optional and add libpcap to Cross.toml
...
- Made libbpf-cargo an optional build dependency
- Only builds when ebpf feature is enabled
- Added Cross.toml configuration for FreeBSD to install libpcap
- Verified libbpf-sys no longer tries to build for FreeBSD
- Now fixing linker error for missing libpcap
2025-11-22 18:07:36 +01:00
Marco Cadetg
99a7cbd033
Fix FreeBSD build by making libbpf-cargo optional
...
- Make libbpf-cargo an optional build dependency
- Include it in ebpf feature to only build when needed
- Add test workflow for FreeBSD builds that can be manually triggered
- This prevents libbpf-sys from being built when cross-compiling to FreeBSD
2025-11-22 17:58:36 +01:00
Marco Cadetg
68ab2a1b57
Fix build.rs to check TARGET instead of host for eBPF compilation
2025-11-22 17:53:41 +01:00
Marco Cadetg
9796af5b71
Fix FreeBSD build by disabling eBPF for non-Linux platforms
2025-11-22 17:50:20 +01:00
Marco Cadetg
3fc3a7d017
Release v0.16.0
...
- Network interface statistics feature with cross-platform support
- Link layer parsing improvements and modularization
- Windows and macOS interface statistics fixes
2025-11-22 17:41:14 +01:00
Marco Cadetg
6e1426170b
Feature/interface stats ( #79 )
...
* feat: adding interface stats
* macOS specific improvements
* fix windows interface stats
2025-11-22 17:34:53 +01:00
dependabot[bot]
eb4b72d318
chore(deps): bump actions/checkout from 5 to 6 ( #78 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 17:34:02 +01:00
dependabot[bot]
6f00d83f4c
chore(deps): bump clap from 4.5.52 to 4.5.53 ( #76 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.52 to 4.5.53.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.52...clap_complete-v4.5.53 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.53
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 16:40:37 +01:00
dependabot[bot]
e15a567924
chore(deps): bump clap_complete from 4.5.60 to 4.5.61 ( #77 )
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.5.60 to 4.5.61.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.60...clap_complete-v4.5.61 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-version: 4.5.61
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 16:40:21 +01:00
dependabot[bot]
cbef7e4457
chore(deps): bump bytes from 1.10.1 to 1.11.0 ( #73 )
...
Bumps [bytes](https://github.com/tokio-rs/bytes ) from 1.10.1 to 1.11.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases )
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.0 )
---
updated-dependencies:
- dependency-name: bytes
dependency-version: 1.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 18:22:21 +01:00
dependabot[bot]
183ec7f2b2
chore(deps): bump clap from 4.5.51 to 4.5.52 ( #74 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.51 to 4.5.52.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.51...clap_complete-v4.5.52 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.52
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 18:22:05 +01:00
dependabot[bot]
f5ebb62c9e
chore(deps): bump http_req from 0.14.1 to 0.14.2 ( #75 )
...
Bumps [http_req](https://github.com/jayjamesjay/http_req ) from 0.14.1 to 0.14.2.
- [Release notes](https://github.com/jayjamesjay/http_req/releases )
- [Commits](https://github.com/jayjamesjay/http_req/compare/v0.14.1...v0.14.2 )
---
updated-dependencies:
- dependency-name: http_req
dependency-version: 0.14.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 18:21:46 +01:00
Marco Cadetg
dda39e5cdf
feat: add TCP network analytics with retransmission detection ( #72 )
...
Adds real-time TCP connection quality monitoring:
- Retransmission detection via sequence number analysis
- Out-of-order packet tracking
- Fast retransmit detection (RFC 2581)
- Per-connection and aggregate statistics
- Network Stats panel in UI
- Platform-independent implementation using pcap data
Statistics show both active (current connections) and total
(cumulative) counts. Individual connection details display
per-connection metrics for troubleshooting network issues.
2025-11-14 12:38:38 +01:00
Marco Cadetg
8822af9793
chore: update README.md a bit
2025-11-02 20:13:51 +01:00
Marco Cadetg
e1917b6ea2
fix: linux tests
2025-11-02 20:13:32 +01:00
Marco Cadetg
dc32e4a9f5
Add Homebrew installation instructions to README
...
Added Homebrew installation instructions for macOS and Linux.
2025-11-02 19:52:42 +01:00
Marco Cadetg
85b2662c85
feat: add freebsd ( #71 )
...
* feat: add freebsd
2025-11-02 19:47:26 +01:00
Marco Cadetg
03cc04624f
chore: cleanup dead code
2025-10-31 14:31:07 +01:00
dependabot[bot]
0d2a10f47f
chore(deps): bump clap_complete from 4.5.59 to 4.5.60 ( #70 )
...
Bumps [clap_complete](https://github.com/clap-rs/clap ) from 4.5.59 to 4.5.60.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.59...clap_complete-v4.5.60 )
---
updated-dependencies:
- dependency-name: clap_complete
dependency-version: 4.5.60
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 13:49:34 +01:00
dependabot[bot]
2813c61bf3
chore(deps): bump clap from 4.5.50 to 4.5.51 ( #69 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.50 to 4.5.51.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.50...clap_complete-v4.5.51 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.51
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 13:49:06 +01:00
dependabot[bot]
434a2edb5b
chore(deps): bump actions/upload-artifact from 4 to 5 ( #67 )
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 13:02:42 +01:00
dependabot[bot]
0ac881c75c
chore(deps): bump actions/download-artifact from 5 to 6 ( #66 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 13:02:23 +01:00
Marco Cadetg
a46617b83a
Release v0.15.0
...
- Ubuntu PPA packaging support
- Bandwidth sorting by combined up+down total
- Removed CAP_NET_ADMIN requirement (read-only capture)
- Improved bandwidth rate tracking accuracy
- Updated dependencies: clap, clap_mangen, clap_complete, dns-lookup, windows, zip, libc
v0.15.0
2025-10-25 21:35:00 +02:00
Marco Cadetg
a0e1e6d080
feat: sort bandwidth by combined up+down total ( #64 )
...
Changed bandwidth sorting to use the sum of upload and download speeds
instead of separate sorting for each direction. This provides a simpler
way to identify connections with the highest total bandwidth usage.
- Replace BandwidthDown/BandwidthUp with single BandwidthTotal enum
- Update sort logic to calculate combined rates
- Simplify UI to show "Down/Up ↓/↑" indicator
- Update documentation and tests
2025-10-25 20:58:20 +02:00
Marco Cadetg
fe7f694a4b
fix: improve bandwidth rate tracking accuracy and stability ( #63 )
...
- Change sliding window from 5s to 10s for stable measurements
- Increase max_samples from 100 to 20,000 to preserve full time window
- Fix minimum time span threshold from 100ms to 1s for stability
- Remove skip(1) bug that excluded first sample from calculations
- Remove artificial decay logic causing rate drops during transfers
- Add idle connection detection for proper zero-rate display
- Update tests for 1s minimum requirement and add edge case coverage
2025-10-25 18:27:37 +02:00
dependabot[bot]
d78b6d09e5
chore(deps): bump clap_mangen from 0.2.30 to 0.2.31 ( #62 )
...
Bumps [clap_mangen](https://github.com/clap-rs/clap ) from 0.2.30 to 0.2.31.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_mangen-v0.2.30...clap_mangen-v0.2.31 )
---
updated-dependencies:
- dependency-name: clap_mangen
dependency-version: 0.2.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-24 21:57:39 +02:00
dependabot[bot]
f2ed1d708e
chore(deps): bump dns-lookup from 3.0.0 to 3.0.1 ( #61 )
...
Bumps [dns-lookup](https://github.com/keeperofdakeys/dns-lookup ) from 3.0.0 to 3.0.1.
- [Commits](https://github.com/keeperofdakeys/dns-lookup/commits )
---
updated-dependencies:
- dependency-name: dns-lookup
dependency-version: 3.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 21:01:50 +02:00
dependabot[bot]
1951fdf2b5
chore(deps): bump clap from 4.5.49 to 4.5.50 ( #60 )
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.49 to 4.5.50.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.50 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.50
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 21:01:36 +02:00
Marco Cadetg
4ae965a8a4
feat: remove CAP_NET_ADMIN and CAP_SYS_ADMIN, use read-only packet capture ( #59 )
...
Remove CAP_NET_ADMIN requirement and eliminate need for CAP_SYS_ADMIN on
modern kernels by using non-promiscuous mode for packet capture. This
significantly reduces security surface by following principle of least privilege.
2025-10-19 17:03:58 +02:00
dependabot[bot]
ff6d924a5d
chore(deps): bump windows from 0.61.3 to 0.62.2 ( #58 )
...
Bumps [windows](https://github.com/microsoft/windows-rs ) from 0.61.3 to 0.62.2.
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
---
updated-dependencies:
- dependency-name: windows
dependency-version: 0.62.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 18:22:41 +02:00
dependabot[bot]
cde043b9d4
chore(deps): bump actions/download-artifact from 4 to 5 ( #49 )
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:38:42 +02:00
dependabot[bot]
02b09fd800
chore(deps): bump docker/build-push-action from 5 to 6 ( #50 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:38:14 +02:00
dependabot[bot]
4c79b5ce8f
chore(deps): bump actions/checkout from 4 to 5 ( #51 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 15:38:01 +02:00