What's New
Cross-Platform Country Flags
Replaced emoji-based country flags with SVG flag icons (flag-icons library) for consistent rendering across all platforms — emoji flags don't display on Windows.
Update Notifications
The app now checks GitHub for new releases and shows an "Update available" indicator in the footer. Clicking it opens a modal with the release notes. Cached per session (1-hour TTL) to avoid excessive API calls.
Top Blocked Internal IPs
New Dashboard section showing blocked traffic from private IP addresses (inter-VLAN and outbound blocks), displayed separately from external threats for clearer network visibility.
Automatic WAN IP Detection
WAN IP is now automatically detected from firewall logs, persisted to the database, and refreshed periodically — survives container restarts without manual reconfiguration.
Filter Persistence
Action (allow/block/redirect) and direction (inbound/outbound/vlan) filter selections are now saved to localStorage and restored on reload.
Bug Fixes
- Improved text readability across the entire UI — Comprehensive contrast improvements shifting gray text to lighter shades for better readability in low-light environments (#12)
- Fixed Logs per Hour chart column misalignment — Bar heights now correctly correspond to their values (#11)
- Added per-rule syslog setup instructions to README — Users were missing firewall logs because per-rule syslog wasn't enabled; added prerequisite and step-by-step guide (#10)
- Fixed boolean threat fields (
is_whitelisted,is_tor) returning false negatives when value wasFalsevsNone - Improved database error logging with full tracebacks
- Private IP subnets now excluded from "Top Blocked IPs" external stats
UI Polish
- Threat category badges recolored from orange to purple for visual distinction
- Direction filter icons rendered as styled SVGs
- "vlan" label shown instead of "inter_vlan" for brevity
- Service column width optimized for abbreviated IANA names
- Version number displayed in health endpoint and UI footer