Skip to content

NetSentinel v2.1.12

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Jun 06:00
· 1 commit to main since this release

Security & Verification

Every release is signed and checksummed. Verify before running.

Check Result
VirusTotal scan aHR0cHM6Ly9n…
SHA256 checksums SHA256SUMS.txt

Verify the SHA256 checksum (Windows):

$expected = (Get-Content SHA256SUMS.txt | Select-String 'NetSentinel-Setup').ToString().Split(' ')[0]
$actual   = (Get-FileHash 'NetSentinel-Setup-2.1.12.exe' -Algorithm SHA256).Hash.ToLower()
if ($expected -eq $actual) { '✅ OK' } else { '❌ MISMATCH' }

Verify the cosign signature (Windows installer):

cosign verify-blob \
  --bundle NetSentinel-Setup-2.1.12.exe.bundle \
  --certificate-identity-regexp "https://github.com/ossianericson/netsentinel/.*" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  NetSentinel-Setup-2.1.12.exe

Verify the cosign signature (MSIX):

cosign verify-blob \
  --bundle NetSentinel-2.1.12.msix.bundle \
  --certificate-identity-regexp "https://github.com/ossianericson/netsentinel/.*" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
  NetSentinel-2.1.12.msix

NetSentinel v2.1.12

v2.1.12

Added

  • ui/perf_audit.pywarn_if_nav_slow() nav timing warnings and profile_page_init() cProfile wrapper for page-init instrumentation (S10-1)
  • ui/widgets/feedback_dialog.py — local in-app feedback dialog; writes timestamped entries to feedback.log with no network calls; accessible via Ctrl+K "Give Feedback" (S10-7)
  • STATUS_ICON_OK/WARN/CRIT/UNKNOWN shape constants in ui/styles.py; applied in service heartbeat, uptime, and monitor verdict displays so status is not conveyed by colour alone (S10-2)
  • Focus rings (QPushButton:focus CSS) on activity-rail buttons and flyout items for keyboard navigation (S10-3)
  • tests/test_status_icons.py, tests/test_keyboard_nav.py, tests/test_empty_state_audit.py, tests/test_loading_state_audit.py, tests/test_theme_consistency.py, tests/test_feedback_dialog.py, tests/test_perf_audit.py — UX Sprint 10 audit test suite (S10-4 through S10-6)

Fixed

  • Stripped UTF-8 BOM from ui/nav/rail.py that caused silent SyntaxError in ast.parse-based test checks
  • test_no_duplicate_methods.py now correctly exempts @pyqtProperty getter/setter pairs from the duplicate-method check

Recommended install

winget install NetSentinel.NetSentinel

Or download manually:

Platform File Notes
Windows NetSentinel-Setup-*.exe Installer — adds to Start Menu + PATH. Use winget (above) instead if possible.
Windows NetSentinel-svc.exe Background Windows service (not in winget).
macOS NetSentinel-macOS.zip GUI — unzip, right-click → Open.
macOS NetSentinel-cli-macOS Headless CLI.
Linux NetSentinel GUI — chmod +x NetSentinel && sudo ./NetSentinel
Linux NetSentinel-cli-linux Headless CLI.

What it does

One tool that replaces a drawer full of network utilities:

  • Rogue device fingerprinting with curated OUI registry (Google, TP-Link, Apple, Amazon, Samsung, LG, PlayStation, Nintendo, Xbox, Roku, Netgear, Asus)
  • STP/BPDU rogue Root Bridge detection
  • Broadcast & multicast storm analysis
  • IoT Behavioral Baseline — learns normal device traffic, alerts on deviations
  • Root Cause Correlator — distinguishes ISP fault from local network fault
  • Network Grade (A–F) across 8 dimensions — uptime, latency, jitter, DNS, speed, safety, STP, storm
  • ISP Accountability Report — HTML export with MTR hop table and outage log for support tickets
  • How-to-Fix context menus on every scan result
  • Hidden SSID and co-channel WiFi interference detection
  • Live ping + DNS latency correlation
  • On-demand diagnostics: speed test, DNS leak, traceroute, public IP
  • Long-term background connectivity logger with stability scoring
  • TCP port scanner, OS fingerprinter, CVE lookup, MTR, and more
  • HTML, JSON, CSV, Nmap XML report export