- Add complete Project Hub & Workspace Interface implementation - New data models: Project, ModuleKit, Workspace - 3 fixture projects (cybermind.fr, cybermood.eu, secubox-c3) - 4 module kits (Security, Network, Automation, Media) - Workspace routes with project switching and kit installation - 4 workspace tabs: Overview, Module Kits, Devices, Composer - New navigation item: Workspace (7th section) - Remove all glowing effects from UI - Remove Command Center widget glow and backdrop blur - Remove device status indicator glow - Remove toggle button glow effects - Extend DataStore with 13 new methods for workspace management - Add 270+ lines of workspace-specific CSS with responsive layouts - Create workspace templates and result partials 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.8 KiB
3.8 KiB
SecuBox WebUI API Documentation
Base URL
Development: http://127.0.0.1:8100
HTML Endpoints (Browser UI)
Main Navigation
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Home page - Module catalog |
/appstore |
GET | AppStore marketplace |
/components |
GET | Component registry |
/profiles |
GET | Configuration profiles |
/templates |
GET | Configuration templates |
/settings |
GET | Settings & preferences |
Module Management
| Endpoint | Method | Description | Parameters |
|---|---|---|---|
/modules/grid |
GET | Module grid partial (HTMX) | theme, tag |
/modules/{module_id} |
GET | Module detail page | - |
AppStore
| Endpoint | Method | Description | Parameters |
|---|---|---|---|
/appstore |
GET | AppStore page | category, search, installed, theme |
/appstore/grid |
GET | AppStore grid partial (HTMX) | category, search, theme |
/appstore/{item_id} |
GET | App detail page | - |
/appstore/{item_id}/install |
POST | Install app (mock) | - |
Preset Execution
| Endpoint | Method | Description | Body |
|---|---|---|---|
/presets/{preset_id}/run |
POST | Run preset (simple) | - |
/presets/run |
POST | Run preset with context | preset_id (form), context_json (form) |
JSON API Endpoints
Modules
GET /api/modules
Returns list of all modules.
Response:
{
"modules": [
{
"id": "luci-app-auth-guardian",
"name": "Auth Guardian",
"category": "LuCI Application",
"version": "0.4.0",
"summary": "Comprehensive authentication and session management...",
"health": "stable",
"tags": ["auth", "guardian"],
"secure_contexts": ["ui-sandbox"],
"actions": ["Preview UI", "Run Diagnostics"]
}
]
}
Presets
GET /api/presets
Returns list of all presets.
Response:
{
"presets": [
{
"id": "core-snapshot",
"name": "Device Snapshot",
"description": "Capture full device state",
"module": "secubox-core",
"command_sequence": ["snapshot", "validate"],
"parameters": {},
"expected_outcome": "Complete device snapshot"
}
]
}
POST /api/presets/{preset_id}/run
Execute a preset with optional context.
Request Body:
{
"context": {
"mode": "dry-run",
"verbose": true
}
}
Response:
{
"preset": { ... },
"summary": "Preset 'Device Snapshot' completed for SecuBox Core",
"context": {
"module": "SecuBox Core",
"mode": "dry-run"
},
"commands": [
{
"command_id": "snapshot",
"name": "System Snapshot",
"log": "Snapshot completed successfully...",
"status": "ok"
}
],
"warnings": null
}
Query Parameters
Common Parameters
theme- Theme selection (secuboxorluci)tag- Filter by tagcategory- Filter by categorysearch- Search query stringinstalled- Boolean, show only installed itemsmodule_id- Filter by module IDtemplate_type- Filter templates by type
Theme Support
All HTML endpoints accept a ?theme= parameter:
?theme=secubox- SecuBox Light theme (default)?theme=luci- LuCI Dark theme
Static Assets
/static/css/- Stylesheets/static/js/- JavaScript files/static/images/- Images and icons
Interactive Features (HTMX)
Many endpoints return HTML partials for HTMX:
hx-get="/modules/grid?tag=security"- Load filtered moduleshx-post="/presets/run"- Run preset with form datahx-get="/appstore/grid?search=vpn"- Search apps
Development Tools
/docs- Auto-generated OpenAPI documentation (Swagger UI)/redoc- ReDoc API documentation/openapi.json- OpenAPI schema