docs: Add comprehensive documentation with screenshot structure
Creates docs/ directory with secubox-deb style documentation: - README.md: Project overview and quick links - SCREENSHOTS.md: Module screenshot gallery (pending captures) - UI-GUIDE.md: CRT P31 theme design guide - MODULES.md: Complete package catalog (75+ modules) - API.md: RPCD/ubus API reference Screenshot directory structure: - docs/screenshots/router/ for OpenWrt router captures - docs/wiki/ for multilingual documentation Documentation follows secubox-deb format with: - Organized module categories - Status indicators (✅ Captured / ⏳ Pending) - Theme color palette reference - API method tables Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
5294d26375
commit
0a3aba569c
264
docs/API.md
Normal file
264
docs/API.md
Normal file
@ -0,0 +1,264 @@
|
|||||||
|
# SecuBox API Reference
|
||||||
|
|
||||||
|
RPCD/ubus API documentation for SecuBox OpenWrt modules.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
SecuBox modules expose APIs via OpenWrt's RPCD (Remote Procedure Call Daemon) system. These APIs are accessible via:
|
||||||
|
|
||||||
|
- **ubus** - Direct CLI access
|
||||||
|
- **HTTP** - LuCI JSON-RPC endpoint
|
||||||
|
- **JavaScript** - LuCI rpc.declare()
|
||||||
|
|
||||||
|
## Authentication
|
||||||
|
|
||||||
|
Most APIs require LuCI authentication. The `luci-app-secubox-*` ACL files define read/write permissions.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check available methods
|
||||||
|
ubus list | grep luci.secubox
|
||||||
|
|
||||||
|
# List methods for a service
|
||||||
|
ubus -v list luci.secubox-mesh
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core APIs
|
||||||
|
|
||||||
|
### luci.secubox-mesh
|
||||||
|
|
||||||
|
Mesh network management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | Get mesh daemon status |
|
||||||
|
| `peers` | - | List connected peers |
|
||||||
|
| `topology` | - | Get mesh topology graph |
|
||||||
|
| `nodes` | - | List all known nodes |
|
||||||
|
| `node_info` | `did` | Get node details |
|
||||||
|
| `node_rotate` | - | Rotate node identity |
|
||||||
|
| `telemetry` | - | Get system telemetry |
|
||||||
|
| `ping` | `target` | Ping a mesh peer |
|
||||||
|
| `get_config` | - | Get mesh configuration |
|
||||||
|
| `set_config` | `key`, `value` | Update configuration |
|
||||||
|
| `restart` | - | Restart mesh daemon |
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Get mesh status
|
||||||
|
ubus call luci.secubox-mesh status
|
||||||
|
|
||||||
|
# Response:
|
||||||
|
{
|
||||||
|
"running": true,
|
||||||
|
"node_did": "did:plc:abc123...",
|
||||||
|
"role": "peer",
|
||||||
|
"mesh_state": "connected",
|
||||||
|
"peer_count": 3,
|
||||||
|
"uptime": 86400
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### luci.secubox
|
||||||
|
|
||||||
|
Core SecuBox management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | System status overview |
|
||||||
|
| `version` | - | Version information |
|
||||||
|
| `apps_list` | - | Installed apps catalog |
|
||||||
|
| `apps_install` | `name` | Install an app |
|
||||||
|
| `apps_remove` | `name` | Remove an app |
|
||||||
|
| `first_run` | - | First run wizard status |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Security APIs
|
||||||
|
|
||||||
|
### luci.crowdsec-dashboard
|
||||||
|
|
||||||
|
CrowdSec IDS/IPS integration.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | CrowdSec service status |
|
||||||
|
| `get_overview` | - | Cached stats overview |
|
||||||
|
| `refresh_overview_cache` | - | Force cache refresh |
|
||||||
|
| `get_alerts` | `limit` | Recent alerts |
|
||||||
|
| `get_decisions` | - | Active ban decisions |
|
||||||
|
| `get_bouncers` | - | Registered bouncers |
|
||||||
|
| `ban_ip` | `ip`, `duration` | Manually ban an IP |
|
||||||
|
| `unban_ip` | `ip` | Remove ban decision |
|
||||||
|
|
||||||
|
### luci.mitmproxy
|
||||||
|
|
||||||
|
WAF/TLS proxy management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | Proxy status |
|
||||||
|
| `get_requests` | `limit` | Recent requests |
|
||||||
|
| `get_threats` | - | Detected threats |
|
||||||
|
| `get_stats` | - | Traffic statistics |
|
||||||
|
| `clear_cache` | - | Clear request cache |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Network APIs
|
||||||
|
|
||||||
|
### luci.haproxy
|
||||||
|
|
||||||
|
Load balancer management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | HAProxy status |
|
||||||
|
| `get_vhosts` | - | List virtual hosts |
|
||||||
|
| `vhost_add` | `domain`, `backend` | Add vhost |
|
||||||
|
| `vhost_remove` | `domain` | Remove vhost |
|
||||||
|
| `get_backends` | - | List backends |
|
||||||
|
| `get_stats` | - | Connection stats |
|
||||||
|
| `reload` | - | Reload configuration |
|
||||||
|
|
||||||
|
### luci.wireguard-dashboard
|
||||||
|
|
||||||
|
WireGuard VPN management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | WireGuard status |
|
||||||
|
| `get_interfaces` | - | List WG interfaces |
|
||||||
|
| `get_peers` | `interface` | List peers |
|
||||||
|
| `add_peer` | `interface`, `pubkey`, `endpoint` | Add peer |
|
||||||
|
| `remove_peer` | `interface`, `pubkey` | Remove peer |
|
||||||
|
| `generate_keys` | - | Generate keypair |
|
||||||
|
| `get_qr` | `interface`, `peer` | Get QR code config |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Monitoring APIs
|
||||||
|
|
||||||
|
### luci.netdata-dashboard
|
||||||
|
|
||||||
|
System monitoring integration.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | Netdata status |
|
||||||
|
| `get_metrics` | `chart` | Get chart data |
|
||||||
|
| `get_alarms` | - | Active alarms |
|
||||||
|
|
||||||
|
### luci.metrics-dashboard
|
||||||
|
|
||||||
|
Quick metrics overview.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `get_cached_status` | - | Cached system metrics |
|
||||||
|
| `refresh_cache` | - | Force cache update |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Publishing APIs
|
||||||
|
|
||||||
|
### luci.metablogizer
|
||||||
|
|
||||||
|
Static site generator.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | Service status |
|
||||||
|
| `list_sites` | - | List all sites |
|
||||||
|
| `get_site` | `name` | Get site details |
|
||||||
|
| `create_site` | `name`, `domain`, `template` | Create site |
|
||||||
|
| `delete_site` | `name` | Delete site |
|
||||||
|
| `publish` | `name` | Publish to HAProxy |
|
||||||
|
| `upload` | `name`, `file`, `content` | Upload file |
|
||||||
|
|
||||||
|
### luci.streamlit-forge
|
||||||
|
|
||||||
|
Streamlit app management.
|
||||||
|
|
||||||
|
| Method | Params | Description |
|
||||||
|
|--------|--------|-------------|
|
||||||
|
| `status` | - | Forge status |
|
||||||
|
| `list_apps` | - | List all apps |
|
||||||
|
| `create_app` | `name`, `template` | Create app |
|
||||||
|
| `start_app` | `name` | Start app |
|
||||||
|
| `stop_app` | `name` | Stop app |
|
||||||
|
| `delete_app` | `name` | Delete app |
|
||||||
|
| `expose` | `name`, `domain` | Expose via HAProxy |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## JavaScript Usage
|
||||||
|
|
||||||
|
In LuCI views:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
'use strict';
|
||||||
|
'require rpc';
|
||||||
|
|
||||||
|
var callMeshStatus = rpc.declare({
|
||||||
|
object: 'luci.secubox-mesh',
|
||||||
|
method: 'status',
|
||||||
|
expect: {} // Return full response
|
||||||
|
});
|
||||||
|
|
||||||
|
return view.extend({
|
||||||
|
load: function() {
|
||||||
|
return callMeshStatus();
|
||||||
|
},
|
||||||
|
render: function(data) {
|
||||||
|
// data contains the mesh status
|
||||||
|
return E('div', {}, [
|
||||||
|
E('span', {}, 'Peer count: ' + data.peer_count)
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Error Codes
|
||||||
|
|
||||||
|
| Code | Description |
|
||||||
|
|------|-------------|
|
||||||
|
| `-32002` | Access denied (check ACL) |
|
||||||
|
| `-32600` | Invalid request |
|
||||||
|
| `-32601` | Method not found |
|
||||||
|
| `-32602` | Invalid params |
|
||||||
|
| `-32700` | Parse error |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ACL Configuration
|
||||||
|
|
||||||
|
ACL files: `/usr/share/rpcd/acl.d/luci-app-*.json`
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"luci-app-example": {
|
||||||
|
"description": "Example module",
|
||||||
|
"read": {
|
||||||
|
"ubus": {
|
||||||
|
"luci.example": ["status", "list"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"write": {
|
||||||
|
"ubus": {
|
||||||
|
"luci.example": ["create", "delete"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*SecuBox API Reference v1.0*
|
||||||
168
docs/MODULES.md
Normal file
168
docs/MODULES.md
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
# SecuBox Module Catalog
|
||||||
|
|
||||||
|
Complete list of SecuBox packages for OpenWrt 24.10.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Core Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `secubox-core` | 1.0.0 | Core utilities, scripts, and shared libraries |
|
||||||
|
| `secubox-mesh` | 1.0.0 | Mesh daemon with topology management and gate election |
|
||||||
|
| `secubox-identity` | 0.1.0 | DID:plc generation, key rotation, trust scoring |
|
||||||
|
| `secubox-mirrornet` | 0.1.0 | Mesh orchestration and gossip protocol |
|
||||||
|
| `secubox-p2p` | 0.6.0 | P2P decentralized network with blockchain sync |
|
||||||
|
| `secubox-p2p-intel` | 0.1.0 | IoC signed gossip, threat intelligence sharing |
|
||||||
|
|
||||||
|
## Security Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-crowdsec-dashboard` | 0.8.0 | CrowdSec IDS/IPS dashboard |
|
||||||
|
| `luci-app-mitmproxy` | 0.5.0 | WAF/TLS inspection proxy |
|
||||||
|
| `luci-app-secubox-security-threats` | 1.0.0 | Security threat analysis |
|
||||||
|
| `secubox-threat-analyst` | 1.0.0 | AI-powered threat correlation |
|
||||||
|
| `secubox-dns-guard` | 1.0.0 | DNS anomaly detection |
|
||||||
|
| `secubox-vortex-firewall` | 1.0.0 | Threat intel firewall |
|
||||||
|
| `luci-app-auth-guardian` | 0.4.0 | Authentication monitoring |
|
||||||
|
| `luci-app-client-guardian` | 0.4.0 | Client access control |
|
||||||
|
| `luci-app-mac-guardian` | 0.5.0 | MAC address management |
|
||||||
|
| `luci-app-zkp` | 1.0.0 | Zero-knowledge proof verification |
|
||||||
|
|
||||||
|
## Network Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-network-modes` | 0.5.0 | Network mode configuration |
|
||||||
|
| `luci-app-bandwidth-manager` | 0.5.0 | Bandwidth monitoring and limits |
|
||||||
|
| `luci-app-traffic-shaper` | 0.4.0 | QoS traffic shaping |
|
||||||
|
| `luci-app-haproxy` | 1.0.0 | HAProxy load balancer |
|
||||||
|
| `luci-app-vhost-manager` | 0.5.0 | Virtual host management |
|
||||||
|
| `luci-app-cdn-cache` | 0.5.0 | CDN caching proxy |
|
||||||
|
| `luci-app-network-tweaks` | 1.0.0 | Advanced network settings |
|
||||||
|
| `luci-app-routes-status` | 1.0.0 | Route status monitoring |
|
||||||
|
|
||||||
|
## Monitoring Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-netdata-dashboard` | 0.5.0 | Netdata system monitoring |
|
||||||
|
| `luci-app-secubox-netifyd` | 1.2.1 | Deep packet inspection |
|
||||||
|
| `luci-app-dpi-dual` | 1.0.0 | Dual-stream DPI analysis |
|
||||||
|
| `luci-app-device-intel` | 1.0.0 | Device fingerprinting |
|
||||||
|
| `luci-app-media-flow` | 0.6.4 | Media traffic analysis |
|
||||||
|
| `luci-app-watchdog` | 1.0.0 | Service health monitoring |
|
||||||
|
| `luci-app-metrics-dashboard` | 1.0.0 | System metrics dashboard |
|
||||||
|
|
||||||
|
## VPN & Mesh Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-wireguard-dashboard` | 0.7.0 | WireGuard VPN management |
|
||||||
|
| `luci-app-secubox-mesh` | 1.0.0 | Mesh network dashboard |
|
||||||
|
| `luci-app-secubox-p2p` | 0.1.0 | P2P network interface |
|
||||||
|
| `luci-app-secubox-mirror` | 0.1.0 | MirrorNet dashboard |
|
||||||
|
| `luci-app-master-link` | 1.0.0 | Node onboarding and linking |
|
||||||
|
|
||||||
|
## DNS Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-dns-master` | 1.0.0 | DNS server management |
|
||||||
|
| `luci-app-dnsguard` | 1.1.0 | DNS filtering and blocking |
|
||||||
|
| `luci-app-vortex-dns` | 1.0.0 | Vortex DNS firewall |
|
||||||
|
| `luci-app-meshname-dns` | 1.0.0 | Mesh DNS resolution |
|
||||||
|
| `luci-app-dns-provider` | 1.0.0 | External DNS provider API |
|
||||||
|
|
||||||
|
## Privacy Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-tor-shield` | 1.0.0 | Tor network integration |
|
||||||
|
| `luci-app-exposure` | 1.0.0 | Service exposure management |
|
||||||
|
| `luci-app-interceptor` | 1.0.0 | Traffic interception control |
|
||||||
|
|
||||||
|
## Publishing Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-metablogizer` | 1.1.0 | Static site generator |
|
||||||
|
| `luci-app-droplet` | 1.0.0 | Quick web publishing |
|
||||||
|
| `luci-app-streamlit-forge` | 1.0.0 | Streamlit app builder |
|
||||||
|
| `luci-app-metacatalog` | 1.0.0 | Content catalog |
|
||||||
|
| `luci-app-streamlit` | 1.0.0 | Streamlit dashboard |
|
||||||
|
| `luci-app-hexojs` | 1.0.0 | Hexo blog manager |
|
||||||
|
|
||||||
|
## App Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-jellyfin` | 1.0.0 | Jellyfin media server |
|
||||||
|
| `luci-app-lyrion` | 1.0.0 | Lyrion music server |
|
||||||
|
| `luci-app-gitea` | 1.0.0 | Gitea git server |
|
||||||
|
| `luci-app-nextcloud` | 1.0.0 | Nextcloud storage |
|
||||||
|
| `luci-app-peertube` | 1.1.0 | PeerTube video |
|
||||||
|
| `luci-app-photoprism` | 0.1.0 | PhotoPrism gallery |
|
||||||
|
| `luci-app-gotosocial` | 0.1.0 | GoToSocial federation |
|
||||||
|
| `luci-app-jitsi` | 1.0.0 | Jitsi video conferencing |
|
||||||
|
|
||||||
|
## System Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-secubox` | 0.7.1 | Main SecuBox settings |
|
||||||
|
| `luci-app-secubox-admin` | 1.0.0 | Admin dashboard |
|
||||||
|
| `luci-app-config-vault` | 1.0.0 | Configuration backup |
|
||||||
|
| `luci-app-smtp-relay` | 1.0.0 | SMTP relay settings |
|
||||||
|
| `luci-app-reporter` | 1.0.0 | Report generator |
|
||||||
|
| `luci-app-rtty-remote` | 0.1.0 | Remote terminal access |
|
||||||
|
| `luci-app-backup` | 1.0.0 | System backup |
|
||||||
|
| `luci-app-cloner` | 1.0.0 | Device cloning |
|
||||||
|
| `luci-app-system-hub` | 0.5.2 | System overview |
|
||||||
|
|
||||||
|
## AI Packages
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-app-ai-gateway` | 1.0.0 | AI provider routing |
|
||||||
|
| `luci-app-ai-insights` | 1.0.0 | AI-powered insights |
|
||||||
|
| `luci-app-localai` | 0.1.0 | LocalAI integration |
|
||||||
|
| `luci-app-ollama` | 0.1.0 | Ollama LLM server |
|
||||||
|
| `secubox-ai-gateway` | 1.0.0 | AI data sovereignty |
|
||||||
|
| `secubox-cve-triage` | 1.0.0 | AI CVE analysis |
|
||||||
|
| `secubox-network-anomaly` | 1.0.0 | AI network detection |
|
||||||
|
|
||||||
|
## Theme Package
|
||||||
|
|
||||||
|
| Package | Version | Description |
|
||||||
|
|---------|---------|-------------|
|
||||||
|
| `luci-theme-secubox` | 1.0.0 | CRT P31 phosphor green theme |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Via opkg
|
||||||
|
|
||||||
|
```bash
|
||||||
|
opkg update
|
||||||
|
opkg install luci-app-secubox-mesh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Via SecuBox App Store
|
||||||
|
|
||||||
|
Navigate to **SecuBox → Apps** in LuCI and install from the catalog.
|
||||||
|
|
||||||
|
### Via local feed
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Add local feed
|
||||||
|
echo "src/gz secubox file:///www/secubox-feed" >> /etc/opkg/customfeeds.conf
|
||||||
|
opkg update
|
||||||
|
opkg install <package-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Total packages: 75+ | Last updated: 2026-03-26*
|
||||||
125
docs/README.md
Normal file
125
docs/README.md
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
# SecuBox OpenWrt Documentation
|
||||||
|
|
||||||
|
Welcome to the SecuBox OpenWrt documentation. This directory contains comprehensive documentation for the SecuBox mesh network appliance running on OpenWrt 24.10.
|
||||||
|
|
||||||
|
## Quick Links
|
||||||
|
|
||||||
|
| Document | Description |
|
||||||
|
|----------|-------------|
|
||||||
|
| [SCREENSHOTS.md](SCREENSHOTS.md) | Module screenshot gallery (CRT P31 theme) |
|
||||||
|
| [UI-GUIDE.md](UI-GUIDE.md) | UI/UX design guide and theme documentation |
|
||||||
|
| [MODULES.md](MODULES.md) | Complete module catalog with descriptions |
|
||||||
|
| [API.md](API.md) | RPCD/ubus API reference |
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
**SecuBox** is a privacy-focused mesh network appliance built on OpenWrt. It provides:
|
||||||
|
|
||||||
|
- 🛡️ **Security**: CrowdSec IDS/IPS, WAF with mitmproxy, network isolation
|
||||||
|
- 🌐 **Mesh Networking**: WireGuard VPN, P2P gossip protocol, automatic peer discovery
|
||||||
|
- 🤖 **AI Integration**: Local AI with LocalAI/Ollama, sovereign data classification
|
||||||
|
- 📡 **Privacy**: Tor integration, anonymous service exposure, ZKP verification
|
||||||
|
- 🎨 **Modern UI**: LuCI-based dashboard with CRT P31 phosphor green terminal theme
|
||||||
|
|
||||||
|
## Screenshots Directory
|
||||||
|
|
||||||
|
Screenshots are organized by platform:
|
||||||
|
|
||||||
|
```
|
||||||
|
docs/
|
||||||
|
├── screenshots/
|
||||||
|
│ └── router/ # MochaBin/ARM64 router screenshots
|
||||||
|
└── wiki/ # Multilingual documentation
|
||||||
|
```
|
||||||
|
|
||||||
|
## Theme: CRT P31 Phosphor Green
|
||||||
|
|
||||||
|
The SecuBox UI uses a retro CRT terminal aesthetic:
|
||||||
|
|
||||||
|
- **Primary Color**: `#33ff66` (phosphor peak green)
|
||||||
|
- **Background**: `#050803` (deep tube black)
|
||||||
|
- **Font**: Monospace (Courier Prime, IBM Plex Mono)
|
||||||
|
- **Effects**:
|
||||||
|
- Scanline overlay
|
||||||
|
- Phosphor glow on text
|
||||||
|
- Terminal boot sequence animation
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Module Categories
|
||||||
|
|
||||||
|
### Core
|
||||||
|
- `secubox-core` - Base configuration and utilities
|
||||||
|
- `secubox-mesh` - Mesh daemon with topology management
|
||||||
|
- `secubox-identity` - DID generation and trust scoring
|
||||||
|
- `secubox-p2p` - P2P gossip protocol
|
||||||
|
|
||||||
|
### Security (12 modules)
|
||||||
|
- CrowdSec Dashboard, WAF Filters, MITM Proxy
|
||||||
|
- DNS Guard, Vortex DNS Firewall
|
||||||
|
- Auth/Client/MAC Guardian, ZKP verification
|
||||||
|
|
||||||
|
### Network (8 modules)
|
||||||
|
- Network Modes, Bandwidth Manager, Traffic Shaper
|
||||||
|
- HAProxy, Virtual Hosts, CDN Cache
|
||||||
|
|
||||||
|
### Monitoring (6 modules)
|
||||||
|
- Netdata integration, DPI (netifyd)
|
||||||
|
- Device Intel, Media Flow, Watchdog, LAN Flows
|
||||||
|
|
||||||
|
### Publishing (4 modules)
|
||||||
|
- Metablogizer, Droplet, Streamlit Forge, Metacatalog
|
||||||
|
|
||||||
|
### AI (4 modules)
|
||||||
|
- AI Gateway (data sovereignty), AI Insights
|
||||||
|
- LocalAI, Ollama integration
|
||||||
|
|
||||||
|
## API Reference
|
||||||
|
|
||||||
|
All LuCI modules expose RPCD/ubus APIs:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# List available methods
|
||||||
|
ubus list | grep luci.secubox
|
||||||
|
|
||||||
|
# Call a method
|
||||||
|
ubus call luci.secubox-mesh status
|
||||||
|
|
||||||
|
# Example: Get mesh topology
|
||||||
|
ubus call luci.secubox-mesh topology
|
||||||
|
```
|
||||||
|
|
||||||
|
See [API.md](API.md) for complete method documentation.
|
||||||
|
|
||||||
|
## Development
|
||||||
|
|
||||||
|
### Quick Deploy (without rebuild)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Deploy JS views
|
||||||
|
scp htdocs/luci-static/resources/view/secubox/*.js root@192.168.255.1:/www/luci-static/resources/view/secubox/
|
||||||
|
|
||||||
|
# Deploy RPCD handler
|
||||||
|
scp root/usr/libexec/rpcd/<handler> root@192.168.255.1:/usr/libexec/rpcd/
|
||||||
|
ssh root@192.168.255.1 '/etc/init.d/rpcd restart'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build Package
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Sync to local feed
|
||||||
|
rsync -av --delete package/secubox/<pkg>/ secubox-tools/local-feed/<pkg>/
|
||||||
|
|
||||||
|
# Build
|
||||||
|
./secubox-tools/local-build.sh build <pkg>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Support
|
||||||
|
|
||||||
|
- **Repository**: [github.com/gkerma/secubox-openwrt](https://github.com/gkerma/secubox-openwrt)
|
||||||
|
- **Wiki**: [github.com/gkerma/secubox-openwrt/wiki](https://github.com/gkerma/secubox-openwrt/wiki)
|
||||||
|
- **Issues**: [github.com/gkerma/secubox-openwrt/issues](https://github.com/gkerma/secubox-openwrt/issues)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*SecuBox v1.0.0 | CyberMind — 2026*
|
||||||
159
docs/SCREENSHOTS.md
Normal file
159
docs/SCREENSHOTS.md
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
# SecuBox Module Screenshots - OpenWrt Router
|
||||||
|
|
||||||
|
*Generated: 2026-03-26*
|
||||||
|
|
||||||
|
**Host:** https://192.168.255.1 (C3BOX)
|
||||||
|
**Theme:** CRT P31 Phosphor Green Terminal
|
||||||
|
**Platform:** OpenWrt 24.10 / MochaBin ARM64
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Module Gallery
|
||||||
|
|
||||||
|
### Dashboard
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🏠 **System Hub** |  | ⏳ Pending |
|
||||||
|
| 📊 **Metrics Dashboard** |  | ⏳ Pending |
|
||||||
|
| 🎯 **Portal** |  | ⏳ Pending |
|
||||||
|
| 📋 **Dev Status** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🛡️ **CrowdSec Dashboard** |  | ⏳ Pending |
|
||||||
|
| 🔥 **WAF Filters** |  | ⏳ Pending |
|
||||||
|
| 🔍 **MITM Proxy** |  | ⏳ Pending |
|
||||||
|
| 🚨 **Security Threats** |  | ⏳ Pending |
|
||||||
|
| 🔒 **Threat Analyst** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Network
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🌐 **Network Modes** |  | ⏳ Pending |
|
||||||
|
| 📈 **Bandwidth Manager** |  | ⏳ Pending |
|
||||||
|
| 📊 **Traffic Shaper** |  | ⏳ Pending |
|
||||||
|
| ⚡ **HAProxy** |  | ⏳ Pending |
|
||||||
|
| 🏗️ **Virtual Hosts** |  | ⏳ Pending |
|
||||||
|
| 🚀 **CDN Cache** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Monitoring
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 📊 **Netdata** |  | ⏳ Pending |
|
||||||
|
| 🔬 **DPI (netifyd)** |  | ⏳ Pending |
|
||||||
|
| 📱 **Device Intel** |  | ⏳ Pending |
|
||||||
|
| 🎬 **Media Flow** |  | ⏳ Pending |
|
||||||
|
| 👁️ **Watchdog** |  | ⏳ Pending |
|
||||||
|
| 📡 **LAN Flows** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### VPN & Mesh
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🔐 **WireGuard** |  | ⏳ Pending |
|
||||||
|
| 🌐 **Mesh Network** |  | ⏳ Pending |
|
||||||
|
| 🤝 **P2P Network** |  | ⏳ Pending |
|
||||||
|
| 🪞 **Mirror** |  | ⏳ Pending |
|
||||||
|
| 🔗 **Master Link** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### DNS
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🌍 **DNS Master** |  | ⏳ Pending |
|
||||||
|
| 🛡️ **DNS Guard** |  | ⏳ Pending |
|
||||||
|
| 🔥 **Vortex DNS** |  | ⏳ Pending |
|
||||||
|
| 📡 **Meshname DNS** |  | ⏳ Pending |
|
||||||
|
| 🔑 **DNS Provider** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Privacy
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🧅 **Tor Shield** |  | ⏳ Pending |
|
||||||
|
| 🌐 **Exposure** |  | ⏳ Pending |
|
||||||
|
| 🔐 **ZKP** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Access Control
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🔐 **Auth Guardian** |  | ⏳ Pending |
|
||||||
|
| 👥 **Client Guardian** |  | ⏳ Pending |
|
||||||
|
| 🖥️ **MAC Guardian** |  | ⏳ Pending |
|
||||||
|
| 👤 **User Management** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Publishing
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 📝 **Metablogizer** |  | ⏳ Pending |
|
||||||
|
| 💧 **Droplet** |  | ⏳ Pending |
|
||||||
|
| 🎨 **Streamlit Forge** |  | ⏳ Pending |
|
||||||
|
| 📚 **Metacatalog** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### Apps & Services
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 📦 **App Store** |  | ⏳ Pending |
|
||||||
|
| 🎥 **Jellyfin** |  | ⏳ Pending |
|
||||||
|
| 🎵 **Lyrion** |  | ⏳ Pending |
|
||||||
|
| 💻 **Gitea** |  | ⏳ Pending |
|
||||||
|
| ☁️ **Nextcloud** |  | ⏳ Pending |
|
||||||
|
| 📺 **PeerTube** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### System
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| ⚙️ **SecuBox Settings** |  | ⏳ Pending |
|
||||||
|
| 💾 **Config Vault** |  | ⏳ Pending |
|
||||||
|
| 📧 **SMTP Relay** |  | ⏳ Pending |
|
||||||
|
| 📊 **Reporter** |  | ⏳ Pending |
|
||||||
|
| 🖥️ **RTTY Remote** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
### AI Features
|
||||||
|
|
||||||
|
| Module | Screenshot | Status |
|
||||||
|
|--------|------------|--------|
|
||||||
|
| 🤖 **AI Gateway** |  | ⏳ Pending |
|
||||||
|
| 💡 **AI Insights** |  | ⏳ Pending |
|
||||||
|
| 🧠 **LocalAI** |  | ⏳ Pending |
|
||||||
|
| 🦙 **Ollama** |  | ⏳ Pending |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Capturing Screenshots
|
||||||
|
|
||||||
|
To capture screenshots for this documentation:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# From development machine with browser access
|
||||||
|
cd docs/screenshots/router/
|
||||||
|
|
||||||
|
# Use browser screenshot tool or:
|
||||||
|
# - Firefox: Ctrl+Shift+S (area select)
|
||||||
|
# - Chrome: DevTools → Capture screenshot
|
||||||
|
# - CLI: chromium --headless --screenshot=hub.png https://192.168.255.1/cgi-bin/luci/admin/secubox/hub
|
||||||
|
|
||||||
|
# Recommended dimensions: 1280x800 or 1920x1080
|
||||||
|
# Format: PNG with transparency disabled
|
||||||
|
```
|
||||||
|
|
||||||
|
## Theme Information
|
||||||
|
|
||||||
|
All screenshots should use the **CRT P31 Phosphor Green** theme:
|
||||||
|
- Primary: `#33ff66` (phosphor peak)
|
||||||
|
- Background: `#050803` (tube black)
|
||||||
|
- Font: Monospace (Courier Prime, IBM Plex Mono)
|
||||||
|
- Effects: Scanlines overlay, phosphor glow
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Total modules: 50+ | Screenshots pending: All*
|
||||||
182
docs/UI-GUIDE.md
Normal file
182
docs/UI-GUIDE.md
Normal file
@ -0,0 +1,182 @@
|
|||||||
|
# SecuBox UI Design Guide
|
||||||
|
|
||||||
|
## CRT P31 Phosphor Green Theme
|
||||||
|
|
||||||
|
The SecuBox OpenWrt interface uses a retro CRT terminal aesthetic inspired by the P31 phosphor used in classic green-screen monitors.
|
||||||
|
|
||||||
|
### Color Palette
|
||||||
|
|
||||||
|
| Variable | Hex | Usage |
|
||||||
|
|----------|-----|-------|
|
||||||
|
| `--p31-peak` | `#33ff66` | Maximum brightness - headers, active elements |
|
||||||
|
| `--p31-hot` | `#66ffaa` | High brightness - hover states |
|
||||||
|
| `--p31-mid` | `#22cc44` | Medium brightness - body text |
|
||||||
|
| `--p31-dim` | `#0f8822` | Low brightness - secondary text, borders |
|
||||||
|
| `--p31-ghost` | `#052210` | Ghosting/afterglow - subtle backgrounds |
|
||||||
|
| `--p31-decay` | `#ffb347` | Phosphor decay amber - warnings |
|
||||||
|
| `--tube-black` | `#050803` | Deep CRT black - main background |
|
||||||
|
| `--tube-deep` | `#080d05` | Card backgrounds |
|
||||||
|
| `--tube-bezel` | `#0d1208` | Panel borders |
|
||||||
|
|
||||||
|
### Typography
|
||||||
|
|
||||||
|
```css
|
||||||
|
font-family: 'Courier Prime', 'IBM Plex Mono', 'Fira Code',
|
||||||
|
'Courier New', 'Lucida Console', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.5;
|
||||||
|
letter-spacing: 0.02em;
|
||||||
|
```
|
||||||
|
|
||||||
|
### Glow Effects
|
||||||
|
|
||||||
|
```css
|
||||||
|
/* Text glow */
|
||||||
|
--bloom-text: 0 0 2px var(--p31-peak),
|
||||||
|
0 0 6px var(--p31-peak),
|
||||||
|
0 0 14px rgba(51,255,102,0.5);
|
||||||
|
|
||||||
|
/* Box glow */
|
||||||
|
--bloom-box: 0 0 8px rgba(51,255,102,0.3),
|
||||||
|
inset 0 0 4px rgba(51,255,102,0.1);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Theme Files
|
||||||
|
|
||||||
|
```
|
||||||
|
luci-theme-secubox/
|
||||||
|
├── htdocs/luci-static/secubox/
|
||||||
|
│ ├── cascade.css # Main theme CSS
|
||||||
|
│ ├── mobile.css # Mobile responsive styles
|
||||||
|
│ ├── crt-engine.js # Scanline & boot animation
|
||||||
|
│ └── crt-components.js # Reusable UI components
|
||||||
|
├── htdocs/luci-static/resources/secubox-theme/
|
||||||
|
│ └── themes/
|
||||||
|
│ ├── crt-p31.css # P31 variant
|
||||||
|
│ ├── dark.css # Dark variant
|
||||||
|
│ ├── cyberpunk.css # Cyberpunk variant
|
||||||
|
│ └── ...
|
||||||
|
└── ucode/luci/template/themes/secubox/
|
||||||
|
├── header.ut # Header template
|
||||||
|
└── footer.ut # Footer template
|
||||||
|
```
|
||||||
|
|
||||||
|
## CRT Engine Features
|
||||||
|
|
||||||
|
### Scanlines Overlay
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Automatically applied via crt-engine.js
|
||||||
|
// Creates CSS pseudo-element with horizontal lines
|
||||||
|
```
|
||||||
|
|
||||||
|
### Boot Sequence Animation
|
||||||
|
|
||||||
|
On first visit, displays a terminal-style boot sequence:
|
||||||
|
|
||||||
|
```
|
||||||
|
[SECUBOX] Initializing mesh daemon...
|
||||||
|
[SECUBOX] Loading P31 phosphor display...
|
||||||
|
[SECUBOX] System ready.
|
||||||
|
```
|
||||||
|
|
||||||
|
### Phosphor Glow
|
||||||
|
|
||||||
|
Text and interactive elements have subtle green glow effects that intensify on hover/focus.
|
||||||
|
|
||||||
|
## KISS Theme Integration
|
||||||
|
|
||||||
|
SecuBox modules use a shared KISS (Keep It Simple & Styled) theme helper:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// In LuCI views
|
||||||
|
'require secubox-theme/kiss';
|
||||||
|
|
||||||
|
// Render header chip
|
||||||
|
E('div', { 'class': 'sh-page-header' }, [
|
||||||
|
renderHeaderChip('🛡️', 'Security Status', 'Active', 'success')
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Stats card
|
||||||
|
E('div', { 'class': 'sh-stat-card' }, [
|
||||||
|
E('div', { 'class': 'sh-stat-value' }, '42'),
|
||||||
|
E('div', { 'class': 'sh-stat-label' }, 'Active Threats')
|
||||||
|
]);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Component Classes
|
||||||
|
|
||||||
|
### Cards
|
||||||
|
|
||||||
|
```html
|
||||||
|
<div class="sh-card">
|
||||||
|
<div class="sh-card-header">Title</div>
|
||||||
|
<div class="sh-card-body">Content</div>
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Status Badges
|
||||||
|
|
||||||
|
```html
|
||||||
|
<span class="sh-badge sh-badge-success">Running</span>
|
||||||
|
<span class="sh-badge sh-badge-warning">Warning</span>
|
||||||
|
<span class="sh-badge sh-badge-danger">Stopped</span>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Progress Bars
|
||||||
|
|
||||||
|
```html
|
||||||
|
<div class="sh-progress">
|
||||||
|
<div class="sh-progress-bar" style="width: 75%"></div>
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Tables
|
||||||
|
|
||||||
|
```html
|
||||||
|
<table class="sh-table">
|
||||||
|
<thead>
|
||||||
|
<tr><th>Column</th></tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr><td>Data</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Responsive Design
|
||||||
|
|
||||||
|
The theme includes mobile-optimized styles via `mobile.css`:
|
||||||
|
|
||||||
|
- Collapsible navigation menu
|
||||||
|
- Stacked card layouts
|
||||||
|
- Touch-friendly button sizes
|
||||||
|
- Readable font sizes on small screens
|
||||||
|
|
||||||
|
## Theme Switching
|
||||||
|
|
||||||
|
Users can switch themes via UCI or the Settings page:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Set theme via UCI
|
||||||
|
uci set luci.main.mediaurlbase='/luci-static/secubox'
|
||||||
|
uci commit luci
|
||||||
|
|
||||||
|
# Or use the themes section
|
||||||
|
uci set luci.themes.SecuBox='/luci-static/secubox'
|
||||||
|
```
|
||||||
|
|
||||||
|
## Dark Mode
|
||||||
|
|
||||||
|
The CRT P31 theme is inherently dark. The `data-darkmode` attribute is ignored as the phosphor green aesthetic requires a dark background for proper contrast.
|
||||||
|
|
||||||
|
## Accessibility
|
||||||
|
|
||||||
|
- High contrast phosphor green on black
|
||||||
|
- Keyboard navigation support
|
||||||
|
- Focus indicators with glow effects
|
||||||
|
- Screen reader compatible semantic HTML
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*SecuBox UI Guide v1.0 | CRT P31 Phosphor Theme*
|
||||||
Loading…
Reference in New Issue
Block a user