secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard
CyberMind-FR 9ce67f2da5 fix: Use correct UCI section types in SecuBox settings view (v0.6.0-r12)
- Changed form sections from type 'secubox' to match actual UCI config
- General/Dashboard/Module/Notification sections now use type 'core'
- Alert Thresholds section now uses type 'diagnostics'
- Security Settings section now uses type 'security'
- Advanced Settings section uses type 'core'
- Fixes "This section contains no values yet" errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 12:18:18 +01:00
..
.github/workflows feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
htdocs/luci-static/resources fix: Use correct UCI section types in SecuBox settings view (v0.6.0-r12) 2026-01-07 12:18:18 +01:00
po/templates feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
root/usr fix: Sanitize malformed JSON from cscli metrics (v0.6.0-r10) 2026-01-07 11:32:28 +01:00
.gitignore feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
LICENSE feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
Makefile fix: Use SecuBox cyber-checkbox class for collection checkboxes (v0.6.0-r8) 2026-01-07 09:17:25 +01:00
README.md feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00

🛡️ LuCI CrowdSec Dashboard

Version: 0.4.0
Last Updated: 2025-12-28
Status: Active

A modern, responsive, and dynamic dashboard for monitoring CrowdSec security on OpenWrt routers.

License OpenWrt CrowdSec

Dashboard Overview

Features

  • Real-time Overview - Monitor active bans, alerts, and bouncer status at a glance
  • Decision Management - View, search, filter, and manage IP bans directly from the interface
  • Alert History - Browse and analyze security alerts with detailed event information
  • Metrics Dashboard - Comprehensive view of CrowdSec engine metrics, parsers, and scenarios
  • Responsive Design - Works perfectly on desktop, tablet, and mobile devices
  • Auto-refresh - Data updates automatically every 30-60 seconds
  • Dark Theme - Industrial cybersecurity aesthetic optimized for low-light environments

📦 Installation

opkg update
opkg install luci-app-crowdsec-dashboard

Manual Installation

  1. Download the latest release from the Releases page

  2. Transfer to your OpenWrt device:

scp luci-app-crowdsec-dashboard_*.ipk root@router:/tmp/
  1. Install the package:
opkg install /tmp/luci-app-crowdsec-dashboard_*.ipk
  1. Restart uhttpd:
/etc/init.d/uhttpd restart
/etc/init.d/rpcd restart

Building from Source

  1. Clone into your OpenWrt build environment:
cd ~/openwrt/feeds/luci/applications/
git clone https://github.com/YOUR_USERNAME/luci-app-crowdsec-dashboard.git
  1. Update feeds and select the package:
cd ~/openwrt
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
# Navigate to LuCI → Applications → luci-app-crowdsec-dashboard
  1. Build:
make package/luci-app-crowdsec-dashboard/compile V=s

🔧 Requirements

  • OpenWrt 21.02 or later
  • CrowdSec Security Engine installed and running
  • CrowdSec Firewall Bouncer (recommended)
  • LuCI web interface
opkg install crowdsec crowdsec-firewall-bouncer

📱 Screenshots

Overview Dashboard

Real-time stats, top scenarios, and countries visualization.

Decisions Manager

Full-featured table with search, sort, bulk actions, and manual ban capability.

Alert History

Chronological view of all security events with filtering options.

Metrics View

Detailed engine metrics, bouncer status, and hub components.

🏗️ Architecture

luci-app-crowdsec-dashboard/
├── Makefile                          # OpenWrt build instructions
├── htdocs/
│   └── luci-static/resources/
│       ├── crowdsec-dashboard/
│       │   ├── api.js               # RPC API module
│       │   └── dashboard.css        # Cybersecurity theme styles
│       └── view/crowdsec-dashboard/
│           ├── overview.js          # Main dashboard view
│           ├── decisions.js         # Decisions management
│           ├── alerts.js            # Alerts history
│           └── metrics.js           # Metrics display
├── root/
│   ├── usr/libexec/rpcd/
│   │   └── crowdsec                 # RPCD backend (shell script)
│   └── usr/share/
│       ├── luci/menu.d/             # Menu configuration
│       └── rpcd/acl.d/              # ACL permissions
└── po/                              # Translations

🔌 API Endpoints

The dashboard uses ubus RPC calls through the crowdsec RPCD module:

Method Description
decisions Get all active decisions
alerts Get alert history with limit
metrics Get Prometheus metrics
bouncers List registered bouncers
machines List registered machines
hub Get hub status (collections, parsers, scenarios)
status Get service status
stats Get aggregated dashboard statistics
ban Add manual IP ban
unban Remove IP ban

🎨 Customization

Changing the Theme

Edit /htdocs/luci-static/resources/crowdsec-dashboard/dashboard.css:

:root {
    --cs-bg-primary: #0a0e14;
    --cs-accent-green: #00d4aa;
    /* ... modify colors as needed */
}

Adding New Metrics

  1. Add RPC method in /root/usr/libexec/rpcd/crowdsec
  2. Declare RPC call in /htdocs/luci-static/resources/crowdsec-dashboard/api.js
  3. Create UI component in the appropriate view file

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

🙏 Acknowledgments

  • CrowdSec - The open-source security engine
  • OpenWrt - The freedom to make your network your own
  • LuCI - OpenWrt Configuration Interface

📬 Contact

Gandalf - CyberMind.fr


Made with ❤️ for the OpenWrt and CrowdSec communities