Marco Cadetg
8622dd2d87
fix(ci): trigger AUR workflow on release publish instead of tag push
...
Rust / build (push) Has been cancelled
Details
This avoids the race condition where the AUR workflow starts before
the release is created. Now it only runs after the release is published.
2025-12-07 13:24:42 +01:00
Marco Cadetg
8ecdc94108
Release v0.17.0
...
- Add Landlock sandbox and capability dropping for Linux security
- Reorganize platform code into per-platform directories
- Add eBPF thread name resolution to main process names
- Add AUR package automation workflow
- Simplify QUIC DPI and unify SNI extraction
- Fix RateTracker test determinism
2025-12-07 11:49:53 +01:00
Marco Cadetg
b12b7d38ab
fix(linux): resolve eBPF thread names to main process names ( #87 )
...
Use periodic procfs PID cache to resolve thread names (e.g. 'Socket Thread')
to main process names (e.g. 'firefox'). Falls back to eBPF name for
short-lived processes that have already exited.
2025-12-07 11:24:58 +01:00
Marco Cadetg
c31909bff8
update rustnet gif
Rust / build (push) Waiting to run
Details
2025-12-06 18:04:41 +01:00
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 )
Rust / build (push) Waiting to run
Details
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 )
...
Rust / build (push) Waiting to run
Details
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](b9c3f24600...0cd283ca69 )
---
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 )
...
Rust / build (push) Has been cancelled
Details
* 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
Rust / build (push) Has been cancelled
Details
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
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
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 )
...
Rust / build (push) Waiting to run
Details
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 )
...
Rust / build (push) Waiting to run
Details
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 )
...
Rust / build (push) Has been cancelled
Details
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 )
...
Rust / build (push) Has been cancelled
Details
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
Rust / build (push) Has been cancelled
Details
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
Rust / build (push) Has been cancelled
Details
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 )
...
Rust / build (push) Waiting to run
Details
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
...
Rust / build (push) Has been cancelled
Details
- 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
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 )
...
Rust / build (push) Waiting to run
Details
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 )
...
Rust / build (push) Has been cancelled
Details
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 )
...
Rust / build (push) Has been cancelled
Details
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