Commit Graph

360 Commits

Author SHA1 Message Date
Marco Cadetg d78bf52784 Tighten SSH packet structure heuristic to reduce false positives 2026-01-14 20:38:22 +01:00
dependabot[bot] 56d700494d
chore(deps): bump the rust-dependencies group with 3 updates (#134)
Rust / build (push) Has been cancelled Details
Bumps the rust-dependencies group with 3 updates: [serde_json](https://github.com/serde-rs/json), [libc](https://github.com/rust-lang/libc) and [clap_complete](https://github.com/clap-rs/clap).


Updates `serde_json` from 1.0.148 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149)

Updates `libc` from 0.2.179 to 0.2.180
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.180/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.179...0.2.180)

Updates `clap_complete` from 4.5.64 to 4.5.65
- [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.64...clap_complete-v4.5.65)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.149
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: libc
  dependency-version: 0.2.180
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: clap_complete
  dependency-version: 4.5.65
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 17:27:00 +01:00
Marco Cadetg 6f05f29384
docs: clarify RustNet vs Wireshark positioning (#133) 2026-01-11 12:08:27 +01:00
Marco Cadetg 092a48a6b7
docs: add PowerShell font troubleshooting for graph rendering (#132) 2026-01-10 12:41:54 +01:00
Marco Cadetg d471e710cd
fix: add explicit permissions to GitHub Actions workflows (#131) 2026-01-09 17:09:54 +01:00
Marco Cadetg 807e87df54
docs: add JSON logging to feature comparison (#130) 2026-01-09 17:05:51 +01:00
Marco Cadetg 134f8ef92a
feat: show process detection degradation warnings in UI (#128)
Rust / build (push) Has been cancelled Details
2026-01-09 11:59:44 +01:00
Marco Cadetg 53123f3fa2
Add bandwhich to acknowledgments and comparison table to architecture docs (#129) 2026-01-09 11:59:32 +01:00
Marco Cadetg 069a203ae9 Refactor CI: share build logic via reusable workflow
- Add build-platforms.yml reusable workflow with full build matrix
- Add composite actions for setup-linux-deps, build-rustnet, build-static
- Simplify test-platform-builds.yml and release.yml to call shared workflow
- Update RELEASE.md: run test builds before release prep
2026-01-08 17:17:40 +01:00
dependabot[bot] 43bc3eb630
chore(deps): bump lru from 0.16.2 to 0.16.3 (#127)
Rust / build (push) Waiting to run Details
Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.16.2 to 0.16.3.
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.16.2...0.16.3)

---
updated-dependencies:
- dependency-name: lru
  dependency-version: 0.16.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-08 08:46:41 +01:00
Marco Cadetg c022d8897c trigger choco pkg publish on release 2026-01-08 08:16:58 +01:00
dependabot[bot] 52f5459af5
chore(deps): bump libc in the rust-dependencies group (#126)
Rust / build (push) Waiting to run Details
Bumps the rust-dependencies group with 1 update: [libc](https://github.com/rust-lang/libc).


Updates `libc` from 0.2.178 to 0.2.179
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179)

---
updated-dependencies:
- dependency-name: libc
  dependency-version: 0.2.179
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-07 21:44:46 +01:00
Marco Cadetg 6ee46410f8 ci: disable aarch64 static build, add test workflow
Rust / build (push) Waiting to run Details
- Temporarily disable aarch64 static build (JS actions don't work in Alpine on ARM)
- Add test-static-builds.yml workflow to test fixes before applying to release
2026-01-07 20:23:44 +01:00
Marco Cadetg 277464daba Release v0.18.0
- Process grouping with expandable tree view
- Traffic visualization Graph tab
- Reverse DNS hostname display
- BPF filter support
- New DPI protocols: NTP, mDNS, DHCP, SNMP, SSDP, NetBIOS
- Static musl builds for Linux
2026-01-07 20:07:56 +01:00
Marco Cadetg de1773a453
feat(ui): add grouping hint to status bar (#125)
Rust / build (push) Waiting to run Details
2026-01-06 21:54:06 +01:00
dependabot[bot] 45c7ece76f
chore(deps): bump clap in the rust-dependencies group (#124)
Rust / build (push) Waiting to run Details
Bumps the rust-dependencies group with 1 update: [clap](https://github.com/clap-rs/clap).


Updates `clap` from 4.5.53 to 4.5.54
- [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.53...clap_complete-v4.5.54)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.54
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-06 10:14:30 +01:00
Marco Cadetg 2d387cfddd ci: trigger Homebrew formula update on release 2026-01-05 21:39:26 +01:00
dependabot[bot] 742e4902f7
chore(deps): bump clap_complete in the rust-dependencies group (#123)
Rust / build (push) Waiting to run Details
Bumps the rust-dependencies group with 1 update: [clap_complete](https://github.com/clap-rs/clap).


Updates `clap_complete` from 4.5.63 to 4.5.64
- [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.63...clap_complete-v4.5.64)

---
updated-dependencies:
- dependency-name: clap_complete
  dependency-version: 4.5.64
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-05 16:51:13 +01:00
Marco Cadetg 69a9a15a38
feat(ui): add process grouping with expandable tree view (#122)
Rust / build (push) Waiting to run Details
Group connections by process name with aggregated stats.
Toggle with 'a', expand/collapse with Space, reset with 'r'.
2026-01-04 15:56:47 +01:00
Marco Cadetg 79bb1e0e7a
feat(dpi): add NTP, mDNS, LLMNR, DHCP, SNMP, SSDP, NetBIOS protocols and enhanced ARP display (#121)
Rust / build (push) Waiting to run Details
2026-01-03 14:22:35 +01:00
dependabot[bot] 5e3e377cce
chore(deps): bump clap_complete in the rust-dependencies group (#120)
Bumps the rust-dependencies group with 1 update: [clap_complete](https://github.com/clap-rs/clap).


Updates `clap_complete` from 4.5.62 to 4.5.63
- [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.62...clap_complete-v4.5.63)

---
updated-dependencies:
- dependency-name: clap_complete
  dependency-version: 4.5.63
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-02 10:08:23 +01:00
dependabot[bot] 03447b4465
chore(deps): bump ratatui from 0.29.0 to 0.30.0 in the rust-dependencies group (#119)
Rust / build (push) Has been cancelled Details
* chore(deps): bump ratatui in the rust-dependencies group

Bumps the rust-dependencies group with 1 update: [ratatui](https://github.com/ratatui/ratatui).


Updates `ratatui` from 0.29.0 to 0.30.0
- [Release notes](https://github.com/ratatui/ratatui/releases)
- [Changelog](https://github.com/ratatui/ratatui/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ratatui/ratatui/compare/v0.29.0...ratatui-v0.30.0)

---
updated-dependencies:
- dependency-name: ratatui
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: add Send + Sync + 'static bounds for ratatui 0.30.0 compatibility

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marco Cadetg <cadetg@gmail.com>
2025-12-31 23:49:32 +01:00
dependabot[bot] d0609703ce
chore(deps): bump serde_json in the rust-dependencies group (#118)
Rust / build (push) Waiting to run Details
Bumps the rust-dependencies group with 1 update: [serde_json](https://github.com/serde-rs/json).


Updates `serde_json` from 1.0.147 to 1.0.148
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.147...v1.0.148)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.148
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-30 09:38:28 +01:00
Marco Cadetg 80c2d6c0aa
chore: remove unused deps, add cargo audit to CI (#117)
Rust / build (push) Waiting to run Details
2025-12-29 17:33:23 +01:00
深鸣 87c9cf6529
docs: update Arch Linux installation instructions (#115) 2025-12-29 17:08:51 +01:00
Marco Cadetg 32b53ee276
Move FreeBSD builds to separate rustnet-bsd repo (#116) 2025-12-29 17:04:13 +01:00
dependabot[bot] 8c785e4de7
chore(deps): bump the rust-dependencies group with 2 updates (#114)
Bumps the rust-dependencies group with 2 updates: [serde_json](https://github.com/serde-rs/json) and [zip](https://github.com/zip-rs/zip2).


Updates `serde_json` from 1.0.146 to 1.0.147
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.147)

Updates `zip` from 6.0.0 to 7.0.0
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zip-rs/zip2/compare/v6.0.0...v7.0.0)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.147
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: zip
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  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-29 15:45:04 +01:00
dependabot[bot] 1bb8b6b898
chore(deps): bump serde_json in the rust-dependencies group (#112)
Rust / build (push) Has been cancelled Details
Bumps the rust-dependencies group with 1 update: [serde_json](https://github.com/serde-rs/json).


Updates `serde_json` from 1.0.145 to 1.0.146
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-version: 1.0.146
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-26 22:14:09 +01:00
Marco Cadetg 9289a0abb1
feat: add static musl binary builds for Linux (#103) (#113)
* feat: add static musl binary builds for Linux (#103)
* feat: add aarch64 static builds, clean up docs
2025-12-26 22:13:00 +01:00
Marco Cadetg a481214c62
docs: add contribution guidelines (#110) 2025-12-25 21:51:02 +01:00
Marco Cadetg 278ce4c9ae
feat: add hotkey to clear all connections (x) (#108)
Rust / build (push) Has been cancelled Details
2025-12-24 11:36:15 +01:00
Marco Cadetg f0141be1f8
docs: add Chocolatey installation instructions for Windows (#107) 2025-12-23 09:52:08 +01:00
dependabot[bot] bf5c40e9ca
chore(deps): bump clap_complete in the rust-dependencies group (#106)
Rust / build (push) Has been cancelled Details
Bumps the rust-dependencies group with 1 update: [clap_complete](https://github.com/clap-rs/clap).


Updates `clap_complete` from 4.5.61 to 4.5.62
- [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.61...clap_complete-v4.5.62)

---
updated-dependencies:
- dependency-name: clap_complete
  dependency-version: 4.5.62
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-22 11:41:12 +01:00
Marco Cadetg 7f9dd7c336
fix: use as_ref() for safer pointer dereference in interface stats (#105) 2025-12-21 14:56:02 +01:00
Marco Cadetg 844f82ce60
Add reverse DNS hostnames to Details tab and filter PTR traffic (#104)
* feat: add reverse DNS resolution for IP addresses

- Add --resolve-dns flag to enable background DNS resolution
- Add --show-ptr-lookups flag to show/hide PTR lookup connections
- Create dns.rs module with async resolver and LRU cache
- Display hostnames in UI with 'd' key toggle
- Include hostname fields in JSON log output when resolved

Closes #97
2025-12-21 14:29:12 +01:00
Marco Cadetg 37486111c4
feat(logging): add pid, process_name, service_name to JSON log (#102)
* feat(logging): add pid, process_name, service_name to JSON log (#99)

* feat(logging): add connection direction to JSON log for TCP
2025-12-20 17:48:49 +01:00
Marco Cadetg 4108b68625
feat(cli): show platform-specific options in help (#101)
Rust / build (push) Has been cancelled Details
2025-12-19 08:04:25 +01:00
Marco Cadetg 9089403d32
fix(macos): skip PKTAP when BPF filter is specified (#100)
BPF filters are incompatible with PKTAP (linktype 149) on macOS.
When a filter is specified, fall back to regular interface capture.
2025-12-19 07:53:16 +01:00
dependabot[bot] 925d721670
chore(deps): bump the actions group across 1 directory with 3 updates (#94)
Bumps the actions group with 3 updates in the / directory: [actions/upload-artifact](https://github.com/actions/upload-artifact), [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) and [actions/download-artifact](https://github.com/actions/download-artifact).


Updates `actions/upload-artifact` from 5 to 6
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

Updates `vmactions/freebsd-vm` from 1.2.8 to 1.3.0
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](0cd283ca69...670398e423)

Updates `actions/download-artifact` from 6 to 7
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: vmactions/freebsd-vm
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  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-15 12:57:37 +01:00
Marco Cadetg 9f81385861
feat(ui): add network health visualization to Graph tab (#93)
Rust / build (push) Has been cancelled Details
* feat(ui): add network health visualization to Graph tab

- Add RTT/latency tracking via TCP SYN-ACK timing
- Add packet loss percentage tracking from retransmit counts
- Add Network Health chart with dual-axis (RTT + loss)
- Add TCP States panel showing connection state distribution
- Add per-connection RTT display in Details tab
2025-12-14 17:59:54 +01:00
Marco Cadetg 2a1d58762b
feat(cli): add --bpf-filter option for packet capture filtering (#92)
Rust / build (push) Waiting to run Details
* Update demo GIF

* feat(cli): add --bpf-filter option for packet capture filtering
2025-12-13 15:21:59 +01:00
Marco Cadetg c6c0c57028
fix(linux): handle clipboard access blocked by Landlock sandbox (#91)
Rust / build (push) Waiting to run Details
Show helpful message when clipboard fails due to sandbox restrictions,
informing users to use --no-sandbox flag. Also adds wl-copy fallback
for Wayland environments where arboard fails.
2025-12-13 10:06:50 +01:00
Marco Cadetg 4c02a302d8
feat(ui): add traffic visualization and Graph tab (#90)
- Add traffic history tracking with 60-second ring buffer
- Add Graph tab with traffic and connection charts
- Add sparklines to Interface Stats on Overview
- Add Tab/Shift+Tab navigation between tabs
2025-12-13 10:06:32 +01:00
dependabot[bot] 9ae9921d14
chore(deps): bump the rust-dependencies group with 2 updates (#89)
Rust / build (push) Has been cancelled Details
Bumps the rust-dependencies group with 2 updates: [log](https://github.com/rust-lang/log) and [libc](https://github.com/rust-lang/libc).


Updates `log` from 0.4.28 to 0.4.29
- [Release notes](https://github.com/rust-lang/log/releases)
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/log/compare/0.4.28...0.4.29)

Updates `libc` from 0.2.177 to 0.2.178
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.178/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.177...0.2.178)

---
updated-dependencies:
- dependency-name: log
  dependency-version: 0.4.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: rust-dependencies
- dependency-name: libc
  dependency-version: 0.2.178
  dependency-type: direct:production
  update-type: version-update:semver-patch
  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-08 20:49:25 +01:00
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