feat(portal): C3BOX async progressive rendering with public ACL

- Async progressive cache: instant render from localStorage, async RPC updates
- Public ACL: unauthenticated access for secubox-public/portal route
- Progressive DOM updates via updateText() helpers
- No blocking Promise.all - each fetch updates its section on completion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
CyberMind-FR 2026-02-11 10:07:22 +01:00
parent 11e444e0f7
commit 3ac0a31cea
3 changed files with 1107 additions and 467 deletions

View File

@ -68,7 +68,16 @@
"title": "SecuBox",
"order": 99,
"action": {
"type": "firstchild"
"type": "alias",
"path": "secubox-public/portal"
}
},
"secubox-public/portal": {
"title": "C3BOX Portal",
"order": 1,
"action": {
"type": "view",
"path": "secubox-portal/index"
}
},
"secubox-public/bugbounty": {

View File

@ -23,9 +23,34 @@
"get_health",
"get_components",
"list_services"
]
],
"system": ["board", "info"]
}
},
"write": {}
},
"unauthenticated": {
"description": "Public access for SecuBox Portal",
"read": {
"ubus": {
"luci.secubox": [
"modules",
"getModules",
"modules_by_category",
"get_theme",
"getStatus",
"getHealth",
"get_services"
],
"luci.system-hub": [
"status",
"get_system_info",
"get_health",
"get_components",
"list_services"
],
"system": ["board", "info"]
}
}
}
}