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>
49 lines
973 B
JSON
49 lines
973 B
JSON
{
|
|
"luci-app-crowdsec-dashboard": {
|
|
"description": "Grant access to LuCI CrowdSec Dashboard",
|
|
"read": {
|
|
"ubus": {
|
|
"luci.crowdsec-dashboard": [
|
|
"decisions",
|
|
"alerts",
|
|
"metrics",
|
|
"bouncers",
|
|
"machines",
|
|
"hub",
|
|
"status",
|
|
"stats",
|
|
"seccubox_logs",
|
|
"waf_status",
|
|
"metrics_config",
|
|
"collections",
|
|
"firewall_bouncer_status",
|
|
"firewall_bouncer_config",
|
|
"nftables_stats",
|
|
"check_wizard_needed",
|
|
"wizard_state"
|
|
],
|
|
"file": [ "read", "stat" ]
|
|
},
|
|
"uci": [ "crowdsec", "crowdsec-dashboard" ]
|
|
},
|
|
"write": {
|
|
"ubus": {
|
|
"luci.crowdsec-dashboard": [
|
|
"ban",
|
|
"unban",
|
|
"collect_debug",
|
|
"configure_metrics",
|
|
"install_collection",
|
|
"remove_collection",
|
|
"update_hub",
|
|
"register_bouncer",
|
|
"delete_bouncer",
|
|
"control_firewall_bouncer",
|
|
"update_firewall_bouncer_config"
|
|
]
|
|
},
|
|
"uci": [ "crowdsec-dashboard" ]
|
|
}
|
|
}
|
|
}
|