secubox-openwrt/package/secubox/luci-app-crowdsec-dashboard/root/usr/share/rpcd/acl.d/luci-app-crowdsec-dashboard.json
CyberMind-FR 4078b4d7a4 feat: Add LAPI auto-repair and SecuBox theming to CrowdSec Dashboard (v0.6.0-r27)
- 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>
2026-01-08 14:11:16 +01:00

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" ]
}
}
}