- Add repair_lapi() RPCD method to auto-fix LAPI configuration issues: - Creates /srv/crowdsec/data directory if missing - Fixes data_dir and db_path in config.yaml - Re-registers localhost machine if needed - Restarts CrowdSec and verifies LAPI is working - Fix register_bouncer() to handle existing bouncers: - Deletes existing bouncer before re-registering - Gets fresh API key on re-registration - Fix update_firewall_bouncer_config() UCI path: - Changed from crowdsec.bouncer.$key to crowdsec.@bouncer[0].$key - Added api_key to allowed parameters - Rewrite metrics.js with SecuBox cyber-card theming: - Use Theme.init() for proper theme initialization - Replace cs-* classes with cyber-* classes - Add CSS variable fallbacks for light/dark theme support - Fix hub data parsing for proper component counts - Add theme require to wizard.js Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
50 lines
993 B
JSON
50 lines
993 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",
|
|
"repair_lapi"
|
|
]
|
|
},
|
|
"uci": [ "crowdsec-dashboard" ]
|
|
}
|
|
}
|
|
}
|