Fixes: - HAProxy: Prevent duplicate server names when both inline and separate server UCI sections exist for same backend - Streamlit: Force --server.headless=true in start script (required for server) - Dashboard: Optimize get_dashboard_data RPC call (6.56s → 0.09s) by using fast catalog counting instead of slow appstore list command - Exposure: Add themed dashboard with SecuBox styling - ACL: Add missing RPCD permissions for various LuCI apps Version bumps: - luci-app-exposure: 1.0.0-r3 - secubox-core: 0.10.0-r5 - secubox-app-haproxy: 1.0.0-r18 - secubox-app-streamlit: 1.0.0-r2 - Portal: v0.15.51 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
44 lines
863 B
JSON
44 lines
863 B
JSON
{
|
|
"luci-app-secubox-security-threats": {
|
|
"description": "Grant access to SecuBox Security Threats Dashboard",
|
|
"read": {
|
|
"ubus": {
|
|
"luci.secubox-security-threats": [
|
|
"status",
|
|
"get_active_threats",
|
|
"get_threat_history",
|
|
"get_stats_by_type",
|
|
"get_stats_by_host",
|
|
"get_blocked_ips",
|
|
"get_security_stats"
|
|
],
|
|
"luci.crowdsec-dashboard": [
|
|
"decisions",
|
|
"alerts",
|
|
"status"
|
|
],
|
|
"luci.netifyd-dashboard": [
|
|
"status",
|
|
"get_flows",
|
|
"get_devices"
|
|
]
|
|
},
|
|
"uci": ["secubox_security_threats", "netifyd", "crowdsec"]
|
|
},
|
|
"write": {
|
|
"ubus": {
|
|
"luci.secubox-security-threats": [
|
|
"block_threat",
|
|
"whitelist_host",
|
|
"remove_whitelist"
|
|
],
|
|
"luci.crowdsec-dashboard": [
|
|
"ban",
|
|
"unban"
|
|
]
|
|
},
|
|
"uci": ["secubox_security_threats"]
|
|
}
|
|
}
|
|
}
|