secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard
CyberMind-FR ef914b0b9f feat(p2p): Add SecuBox P2P Hub packages and Services Registry
- Add secubox-p2p backend package:
  - UCI configuration for P2P settings, DNS federation, WireGuard mesh, HAProxy
  - RPCD handler for peer management, service discovery, mesh configuration
  - Init script and main P2P manager daemon

- Add luci-app-secubox-p2p frontend package:
  - Main hub view with master control, network matrix visualization
  - Peers management with discovery and manual add
  - Services view showing local and shared services
  - Mesh network configuration (DNS, WireGuard, HAProxy)
  - Settings for P2P and registry configuration

- Add Services Registry view to luci-app-secubox
- Add listProfiles/applyProfile to secubox-admin API
- Fix P2P ACL permissions
- Remove old hub.js from luci-app-secubox (moved to dedicated package)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:46:50 +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 feat(p2p): Add SecuBox P2P Hub packages and Services Registry 2026-01-30 10:46:50 +01:00
po/templates feat(structure): reorganize luci-app packages into package/secubox/ + appstore migration 2026-01-01 14:59:38 +01:00
root feat(p2p): Add SecuBox P2P Hub packages and Services Registry 2026-01-30 10:46:50 +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 feat(multi): CrowdSec LAPI port fix, Streamlit/HexoJS multi-instance 2026-01-27 06:37:19 +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