secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard
CyberMind-FR ad2e89fd47 feat: CrowdSec Setup Wizard - Complete First-Time Installation (v0.6.0)
Major Features:
- Add comprehensive 6-step setup wizard for CrowdSec initial configuration
- Automated hub update, collection installation, and bouncer configuration
- Complete turnkey solution requiring zero manual configuration

Wizard Flow:
1. Welcome & Prerequisites - Check CrowdSec and LAPI status
2. Update CrowdSec Hub - Fetch latest security collections
3. Install Collections - Pre-selected security packs (ssh-bf, http-cve, linux)
4. Configure Firewall Bouncer - Auto-register with API key generation
5. Enable & Start Services - Start bouncer and verify nftables
6. Verification & Summary - Show completion status with statistics

UI Components:
- Visual stepper with active/complete/pending states
- Real-time progress indicators and status badges
- Auto-advancement after successful operations
- Professional dark-themed styling with animations
- Fully responsive design (mobile/tablet/desktop)

New Files:
- htdocs/luci-static/resources/view/crowdsec-dashboard/wizard.js (815 lines)
- htdocs/luci-static/resources/crowdsec-dashboard/wizard.css (578 lines)

Backend Enhancements:
- Add check_wizard_needed() RPC method for first-time setup detection
- Add wizard_state() RPC method for wizard initialization
- Update API module with wizard method declarations
- Add wizard menu item (order: 5, appears first in CrowdSec section)
- Update ACL permissions for wizard RPC methods

User Experience:
- < 2 minute complete CrowdSec setup from fresh install
- Clear visual feedback at each step
- Error handling with retry capability
- Final verification shows all systems operational

Version: 0.6.0-1

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-07 08:39:41 +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: CrowdSec Setup Wizard - Complete First-Time Installation (v0.6.0) 2026-01-07 08:39:41 +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 feat: CrowdSec Setup Wizard - Complete First-Time Installation (v0.6.0) 2026-01-07 08:39:41 +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: CrowdSec Setup Wizard - Complete First-Time Installation (v0.6.0) 2026-01-07 08:39:41 +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