8 Commits

Author SHA1 Message Date
Your Name
622aa549af Add third-party data attribution, remove unused wappalyzer_headers.txt
- Add DB-IP (CC BY 4.0), Wappalyzer (MIT), IEEE OUI attribution to README
- Remove unused data/wappalyzer_headers.txt (60KB, not referenced anywhere)
2026-03-12 09:45:53 +05:30
Your Name
c2b2935e50 Add collapsible categories, smart icons, exe path shortcuts, System(4) fingerprints
- Collapsible categories: Left arrow collapses selected server's category,
  Right arrow expands all. Category headers show ▶/▼ indicators.
- Smart icons: Unknown/Generic servers with PE VersionInfo show 📦 (identified
  program) or ⚙ (known process) instead of ❓
- Exe path shortcuts: o=open folder in Explorer, y=copy exe path, p=copy
  folder path. Works in both server list and detail popup.
- Status toast: brief green notification for path actions (auto-clears 3s)
- System(4) fingerprints: WinRM, HttpSys entries for ports 80/5357/5985/47001
- Fix version extraction from HTTP banners (skip HTTP/1.1 status line)
2026-03-12 00:29:19 +05:30
Your Name
2b0459f2d4 Move wappalyzer to JSON, add smart tech upgrading, add upstream sync script
Wappalyzer migration:
- Extract 1,882 header signatures from hardcoded Rust to data/wappalyzer.json
- JSON loaded via include_str! + OnceLock (same pattern as fingerprints)
- wappalyzer_db.rs reduced from 2,717 to 168 lines

Smart technology upgrading:
- Wappalyzer detections now feed back into main classification
- upgrade_kind_from_techs() promotes generic kinds to specific ones:
  Nginx + WordPress headers → WordPress, NodeJs + Next.js → NextJs, etc.
- Only upgrades when detection is more specific (CMS > Framework > Runtime)
- Covers 40+ frameworks/CMS: WordPress, Django, Laravel, Next.js, etc.

Upstream sync:
- scripts/sync_wappalyzer.py fetches latest data from github.com/dochne/wappalyzer
- Converts Wappalyzer format to our JSON format
- Preserves custom signatures not in upstream
- Run: python scripts/sync_wappalyzer.py && cargo build
2026-03-11 23:55:48 +05:30
Your Name
19ebca551f Move fingerprints to JSON database, add runtime VersionInfo, fix IIS false positive
Fingerprint database migration:
- Extract 663 fingerprints from 9,500-line Rust static array to data/fingerprints.json
- JSON loaded via include_str! + OnceLock (compile-time embedded, parsed once)
- New fingerprints can be added by editing JSON — no Rust code changes needed
- fingerprints.rs reduced from 9,500 to 422 lines (JSON loader + ServerKind parser)

Runtime process attribution:
- Add Windows PE VersionInfo reader (GetFileVersionInfoW API) to extract
  ProductName, FileDescription, CompanyName from exe files
- ListeningPort gains product_name, file_description, company_name fields
- display_name()/display_description() methods use VersionInfo for Unknown entries
- Detail popup shows Product and Company fields

IIS false positive fix:
- Add HttpSys ServerKind for Windows HTTP.sys kernel-mode HTTP server
- Remove "microsoft-httpapi" from IIS fingerprints (HTTP.sys != IIS)
- Remove default_ports from IIS entries (port alone is not evidence of IIS)
- Remove overly broad "was" cmdline match that could false-positive

New fingerprints: VS Code, Psmux, Chrome mDNS (port 5353)
2026-03-11 23:46:15 +05:30
Your Name
2e4c589cb9 Add servers tab with scoring-based service fingerprinting and TCP probing
- New Servers tab: enumerates all listening ports, probes TCP services, classifies with multi-signal scoring engine
- 636 fingerprints across 100+ ServerKind variants (databases, web servers, frameworks, dev tools, game servers, etc.)
- 1,883 Wappalyzer-style HTTP header signatures for technology detection (CDNs, CMS, WAFs, analytics, etc.)
- TCP probe pipeline: raw banner read → protocol detection (SSH/SMTP/FTP/MySQL/TLS) → Redis PING → HTTP GET fallback
- Scoring system: process name (40), exe path (30), cmdline (50), HTTP headers (25-35), banners (25-45), port (5)
- Port-only matches always rejected — requires at least one strong signal beyond port number
- Version extraction from banners, HTTP headers, JSON responses, and protocol greetings
- Background full scan every 30s, quick listener refresh every 5s, instant sync scan on startup
- Fixed probe bugs: unspecified bind address → localhost, PID 4 ephemeral-only skip
2026-03-11 18:12:48 +05:30
Your Name
4316462071 Add Networks tab, 10-method device discovery, streaming scanners, smart MAC vendor detection
- Networks tab: 10 network categories (VPN, Docker, WSL, Hyper-V, Virtual, Secondary, Bluetooth, Mesh VPN, Hotspot, Tunnel) with collapsible Bluetooth section
- Devices tab: upgraded from ARP-only to 10 parallel discovery methods (ARP, ARP Cache, ICMP Ping, TCP Connect, NetBIOS, mDNS, SSDP/UPnP, DNS PTR, LLMNR, NBT Broadcast) + 12 hostname resolution methods
- Streaming architecture: both scanners use pending buffer with 200ms fast-poll for instant UI updates as devices are discovered
- Smart MAC vendor detection: 3-tier lookup (IEEE OUI 39K entries → known local-admin prefixes for Docker/KVM/Xen/VPN → Private MAC label for randomized devices)
- Updated IEEE OUI database to March 2026
- Scan intervals: devices 15s, networks 30s
- Deep discovery modules: docker.rs (4 strategies), vpn.rs (7 methods), hyperv.rs, bluetooth.rs, meshvpn.rs, hotspot.rs, tunnel.rs, probes.rs (10 methods)
- Hostname resolution: hostnames.rs with NBNS, mDNS, SSDP+XML, HTTP banner, DNS, SNMP, Telnet, DNS via gateway
- Full mouse support on Networks tab
2026-03-11 09:21:30 +05:30
Your Name
2c357fc339 Add OUI vendor database, DNS server display, Wireshark-style packets, and fullscreen map
- Devices: Integrate IEEE OUI database (39K vendors) for accurate manufacturer names
- Topology: Show all system-configured DNS servers with active/inactive status
- Packets: Add TCP flags (SYN/ACK/FIN/RST/PSH), TTL, seq/ack numbers, window size,
  raw payload hex dump, protocol stats bar, and show control packets (SYN/FIN/RST)
- Dashboard: Add 'm' key to toggle world map to fullscreen view with connection dots
- Sniffer: Increase buffer from 200 to 5000 packets for better analysis
2026-03-10 03:38:22 +05:30
Your Name
deacc4d01c Add dashboard, alerts, bandwidth, firewall, geoip, scanner, devices, usage tabs and detail popups
Major feature additions:
- Dashboard with live summary strip, traffic graph, bottom panels
- Alert engine, bandwidth tracking, firewall manager, GeoIP lookup
- Network scanner, system monitor, threat detection, usage tracking
- Detail popup modal system for all tab types
- New UI tabs: alerts, dashboard, devices, firewall, usage
- Widget system for reusable UI components
2026-03-10 01:29:35 +05:30