Removes mandatory UCI config dependencies from dashboard modules to allow LuCI menus to display even when backend services are not installed. This fixes 'Permission denied' errors when accessing dashboards for services that haven't been installed yet (crowdsec, netdata, netifyd, etc.). Changes: - Remove uci dependency: crowdsec-dashboard, netdata-dashboard - Remove uci dependency: netifyd-dashboard, wireguard-dashboard - Remove uci dependency: client-guardian, media-flow - Remove uci dependency: network-modes, traffic-shaper Dashboards will now gracefully handle missing backend services and can guide users to install required packages. Related: SecuBox menu organization (v0.1.2-alpha) |
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| htdocs/luci-static/resources | ||
| root/usr | ||
| Makefile | ||
| README.md | ||
LuCI Netifyd Dashboard
Network Intelligence dashboard with Deep Packet Inspection for OpenWrt. Visualize applications, protocols, and devices on your network in real-time.
Features
🔍 Deep Packet Inspection
- Real-time application detection (Netflix, YouTube, Zoom, etc.)
- Protocol identification (HTTP, HTTPS, DNS, QUIC, etc.)
- Traffic categorization (Web, Streaming, Gaming, VoIP)
🔄 Network Flows
- Live connection tracking
- Source/destination visualization
- Per-flow bandwidth statistics
- Protocol breakdown (TCP/UDP/ICMP)
📱 Application Intelligence
- Traffic by application
- Category distribution
- Historical usage data
- Top bandwidth consumers
💻 Device Discovery
- Automatic device detection
- Vendor identification (MAC OUI lookup)
- Hostname resolution via DHCP
- Network interface mapping
🎨 Modern Interface
- Purple/blue cyberpunk theme
- Animated charts and donut graphs
- Responsive grid layout
- Real-time data updates
Screenshots
Overview Dashboard
Network Flows
Applications
Devices
Installation
Prerequisites
- OpenWrt 21.02 or later
- Netifyd package installed
- LuCI web interface
# Install netifyd
opkg update
opkg install netifyd
# Enable and start
/etc/init.d/netifyd enable
/etc/init.d/netifyd start
From Source
# Clone into OpenWrt build environment
cd ~/openwrt/feeds/luci/applications/
git clone https://github.com/gkerma/luci-app-netifyd-dashboard.git
# Update feeds and install
cd ~/openwrt
./scripts/feeds update -a
./scripts/feeds install -a
# Enable in menuconfig
make menuconfig
# Navigate to: LuCI > Applications > luci-app-netifyd-dashboard
# Build package
make package/luci-app-netifyd-dashboard/compile V=s
Manual Installation
# Transfer package to router
scp luci-app-netifyd-dashboard_1.0.0-1_all.ipk root@192.168.1.1:/tmp/
# Install on router
ssh root@192.168.1.1
opkg install /tmp/luci-app-netifyd-dashboard_1.0.0-1_all.ipk
# Restart services
/etc/init.d/rpcd restart
Usage
After installation, access the dashboard at:
Status → Netifyd Dashboard
The dashboard has four tabs:
- Overview: Quick stats, protocol distribution, top applications
- Flows: Real-time connection table with DPI info
- Applications: Detected applications with traffic breakdown
- Devices: Network device discovery and identification
Architecture
┌─────────────────────────────────────────────────────────┐
│ LuCI JavaScript │
│ (overview.js, flows.js, applications.js) │
└───────────────────────────┬─────────────────────────────┘
│ ubus RPC
▼
┌─────────────────────────────────────────────────────────┐
│ RPCD Backend │
│ /usr/libexec/rpcd/netifyd-dashboard │
└───────────────────────────┬─────────────────────────────┘
│ reads
▼
┌─────────────────────────────────────────────────────────┐
│ Netifyd Agent │
│ Deep Packet Inspection Engine │
│ /var/run/netifyd/status.json │
└───────────────────────────┬─────────────────────────────┘
│ inspects
▼
┌─────────────────────────────────────────────────────────┐
│ Network Traffic │
│ (br-lan, eth0, wlan0, etc.) │
└─────────────────────────────────────────────────────────┘
API Endpoints
| Method | Description |
|---|---|
status |
Netifyd daemon status, version, uptime |
stats |
Quick overview stats (flows, devices, bandwidth) |
flows |
Active network connections with DPI data |
applications |
Detected applications and traffic |
protocols |
Protocol distribution (TCP/UDP/ICMP) |
devices |
Discovered network devices |
What is Netifyd?
Netifyd is a deep packet inspection daemon that identifies applications and protocols on your network. It's the open-source engine behind Netify network intelligence.
Key capabilities:
- Layer 7 application identification
- 300+ protocol signatures
- 1000+ application signatures
- Machine learning classification
- Low CPU/memory footprint
Requirements
- OpenWrt 21.02+
- netifyd (DPI engine)
- LuCI (luci-base)
- rpcd with luci module
Dependencies
luci-baseluci-lib-jsoncrpcdrpcd-mod-lucinetifyd
Configuration
Netifyd configuration is in /etc/netifyd.conf. Key options:
# Interfaces to monitor
[capture]
interface = br-lan
interface = eth0.2
# Enable flow tracking
[flow]
enable = yes
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Credits
- Powered by Netifyd DPI engine
- Built for OpenWrt
- Developed by Gandalf @ CyberMind.fr
Related Projects
- Netifyd - DPI engine
- luci-app-nlbwmon - Bandwidth monitor
- luci-app-statistics - collectd statistics
Made with 💜 for the OpenWrt community




