secubox-openwrt/docs/feature-regeneration-prompts.md
2026-01-04 19:50:25 +01:00

2085 lines
58 KiB
Markdown

# SecuBox Feature Regeneration Prompts
**Version:** 1.0.0
**Last Updated:** 2025-12-28
**Status:** Active
**Purpose:** Comprehensive prompts for Claude.ai to regenerate all SecuBox module features matching the live demo at secubox.cybermood.eu
---
## See Also
- **Implementation Workflow:** [MODULE-IMPLEMENTATION-GUIDE.md](module-implementation-guide.md)
- **Code Templates:** [CODE-TEMPLATES.md](code-templates.md)
- **Quick Commands:** [QUICK-START.md](quick-start.md)
- **Automation Guardrails:** [CODEX.md](codex.md)
---
## Table of Contents
1. [Design System Reference](#design-system-reference)
2. [Core Modules Prompts](#core-modules-prompts)
3. [Security & Monitoring Modules](#security-monitoring-modules)
4. [Network Intelligence Modules](#network-intelligence-modules)
5. [VPN & Access Control Modules](#vpn-access-control-modules)
6. [Bandwidth & Traffic Modules](#bandwidth-traffic-modules)
7. [Performance & Services Modules](#performance-services-modules)
---
## Design System Reference
### Color Palette & Variables
All modules MUST use CSS variables from `system-hub/common.css`:
**Dark Mode (Primary):**
```css
--sh-bg-primary: #0a0a0f; /* Deep black background */
--sh-bg-secondary: #12121a; /* Card backgrounds */
--sh-bg-tertiary: #1a1a24; /* Hover/active states */
--sh-primary: #6366f1; /* Indigo primary */
--sh-primary-end: #8b5cf6; /* Violet (gradients) */
--sh-success: #22c55e; /* Green */
--sh-danger: #ef4444; /* Red */
--sh-warning: #f59e0b; /* Orange */
--sh-text-primary: #fafafa; /* Main text */
--sh-text-secondary: #a0a0b0; /* Secondary text */
```
### Typography Standards
```css
/* Fonts */
Inter: Body text, labels, UI elements
JetBrains Mono: Numbers, IDs, code, metrics
/* Sizes */
--sh-title-xl: 28px; /* Page titles */
--sh-title-lg: 20px; /* Card titles */
--sh-value-xl: 40px; /* Large metrics */
--sh-value-lg: 32px; /* Stats overview */
```
### Component Patterns
1. **Page Header**: Icon + Title + Subtitle + Stats Grid
2. **Stats Badges**: Monospace values, 130px minimum width
3. **Cards**: 3px top border (gradient or solid color)
4. **Buttons**: Gradient backgrounds, shadow effects, smooth transitions
5. **Filter Tabs**: Gradient for active, icon + label pattern
---
## Core Modules Prompts
### 1. SecuBox Central Hub (luci-app-secubox)
**Module Purpose:** Main dashboard and central control panel
**Prompt for Claude.ai:**
```
Create a LuCI dashboard module for SecuBox Central Hub with these features:
DESIGN REQUIREMENTS:
- Dark theme with gradient backgrounds (#0a0a0f → #12121a)
- Page header with rocket icon 🚀 and title "SecuBox Control Center"
- Stats grid showing: Total Modules (badge), Active Services, System Health, Alerts Count
- Use CSS variables from --sh-* (never hardcode colors)
MAIN FEATURES:
1. Module Overview Grid
- Display all 15 installed SecuBox modules as cards
- Each card: Module icon, name, status badge (active/inactive), version
- Color-coded borders: green (running), orange (warning), red (stopped)
- "Configure" and "View Details" buttons per card
- Filter tabs: All | Security | Network | Services
2. System Health Dashboard
- Real-time metrics: CPU, RAM, Disk, Network
- Animated progress bars with gradient fills
- Threshold indicators (warn >80%, danger >90%)
- JetBrains Mono font for all numeric values
3. Quick Actions Panel
- Restart All Services button (gradient orange)
- Update Packages button (gradient blue)
- View System Logs button (gradient indigo)
- Export Config button (gradient green)
4. Alert Timeline
- Last 10 system events with timestamps
- Icon indicators for severity levels
- Expandable details per alert
- Auto-refresh every 30 seconds
TECHNICAL SPECS:
- File: luci-app-secubox/htdocs/luci-static/resources/view/secubox/dashboard.js
- RPCD backend: luci.secubox (methods: getModules, getHealth, getAlerts)
- CSS: luci-app-secubox/htdocs/luci-static/resources/secubox/dashboard.css
- Use L.resolveDefault() for all ubus calls
- Implement proper error handling with user-friendly messages
- Add loading states with skeleton screens
UI COMPONENTS TO USE:
- sh-page-header for main header
- sh-card with sh-card-success/warning/danger variants
- sh-stat-badge for metrics (130px minimum)
- sh-btn sh-btn-primary for action buttons
- sh-filter-tabs for category filtering
REFERENCE THE LIVE DEMO:
Match the look and feel of secubox.cybermood.eu demo
- Smooth animations on card hover
- Gradient text effects on titles
- Glow effects on active elements
- Responsive grid (min 280px cards)
```
### 2. System Hub (luci-app-system-hub)
**Module Purpose:** Unified system control center
**Prompt for Claude.ai:**
```
Create a comprehensive System Hub module for OpenWrt with these features:
DESIGN REQUIREMENTS:
- Use System Hub design system (common.css variables)
- Page title: "System Control Center" with ⚙️ icon
- Multi-tab interface: Overview | Services | Logs | Backup | Components | Diagnostics | Health | Remote | Settings
OVERVIEW TAB:
1. System Info Grid (4 columns, responsive)
- Hostname card with edit button
- Uptime card with formatted duration
- Load Average card (1m, 5m, 15m) in monospace
- Kernel Version card with copy icon
2. Resource Monitors (animated progress circles)
- CPU usage with color coding (<70% green, 70-90% orange, >90% red)
- Memory usage with used/total display
- Storage usage with filesystem breakdown
- Network throughput (RX/TX rates in real-time)
3. Quick Status Indicators
- Internet connectivity (ping test every 60s)
- DNS resolution status
- NTP sync status
- Firewall status with rule count
SERVICES TAB:
1. Service Cards Grid
- Each service: name, status badge, description, uptime
- Color-coded borders based on status
- Action buttons: Start/Stop/Restart/Enable/Disable
- Filter by: All | Running | Stopped | Enabled | Disabled
- Search bar for filtering services
2. Service Details Modal
- Full service info (PID, memory usage, CPU time)
- Recent logs (last 50 lines with syntax highlighting)
- Configuration file path with edit link
- Dependencies tree view
LOGS TAB:
1. System Logs Viewer
- Real-time log streaming (WebSocket or polling)
- Color-coded severity levels (error=red, warn=orange, info=blue)
- Filter by: severity, service, date range
- Search functionality with regex support
- Auto-scroll toggle
- Export logs button (download as .txt)
- Line numbers in monospace
- Compact header mode (saves vertical space)
2. Log Statistics
- Error count in last hour/day
- Most active services
- Alert frequency chart (sparkline)
BACKUP TAB:
1. Backup Management
- Create backup button (includes config + installed packages list)
- List existing backups with date, size, description
- Restore from backup with confirmation modal
- Download backup to local machine
- Upload backup from file
- Auto-backup schedule configuration
2. Backup Preview
- Show included files before creating
- Estimated size calculation
- Compression options (gz, xz)
COMPONENTS TAB:
1. Installed Packages Display
- Grid of all luci-app-* packages
- Each card: package name, version, size, status
- Category filtering (same as SecuBox modules)
- Dependency information
- Uninstall button with warning
DIAGNOSTICS TAB:
1. Network Diagnostics
- Ping tool with target input
- Traceroute with hop visualization
- DNS lookup with multiple nameservers
- Port scanner (common ports or custom range)
- Bandwidth test (speedtest-cli integration)
2. System Diagnostics
- Filesystem check status
- Memory leak detection
- Process list with resource usage
- Open file descriptors count
- Network connections table
HEALTH TAB:
1. System Health Report
- Overall health score (0-100) with gradient circle
- Critical issues list with fix suggestions
- Temperature sensors (if available)
- Fan speeds (if available)
- SMART disk status
- Battery status (for UPS-backed systems)
2. Health History
- 24h health score chart (line graph)
- Resource usage trends
- Alert frequency over time
REMOTE TAB:
1. Remote Access Management
- SSH status with port and allowed IPs
- Web UI access info (HTTP/HTTPS, port, external access)
- RustDesk remote desktop integration
- WireGuard VPN status (if installed)
- Dynamic DNS configuration
SETTINGS TAB:
1. System Hub Preferences
- Auto-refresh interval (10s/30s/60s/disabled)
- Dark/Light mode toggle
- Compact mode toggle
- Language selection
- Timezone configuration
- Dashboard layout customization
TECHNICAL IMPLEMENTATION:
- Files: system-hub/overview.js, services.js, logs.js, backup.js, components.js, diagnostics.js, health.js, remote.js, settings.js
- RPCD: luci.system-hub with methods for each feature
- API file: system-hub/api.js with clean method wrappers
- CSS: system-hub/dashboard.css + common.css
- Use theme.js for dark/light mode switching
- WebSocket support for real-time log streaming
- LocalStorage for user preferences
- Proper loading states and error handling
REFERENCE DEMO:
Match secubox.cybermood.eu/system-hub demo
- Smooth tab transitions
- Real-time data updates
- Responsive grid layouts
- Professional color coding
```
---
## Security & Monitoring Modules
### 3. CrowdSec Dashboard (luci-app-crowdsec-dashboard)
**Prompt for Claude.ai:**
```
Create a CrowdSec security monitoring dashboard for OpenWrt:
DESIGN:
- Title: "CrowdSec Security" with 🛡️ icon
- Dark theme with emphasis on threat indicators
- Stats badges: Active Decisions | Blocked IPs | Alerts | Bouncers
OVERVIEW TAB:
1. Threat Intelligence Summary
- Total decisions count (15M+ IPs blocked globally reference)
- Active local decisions with expiry countdown
- Decision types breakdown (ban, captcha, throttle) as pie chart
- Country distribution of threats (top 10 with flags)
2. Recent Alerts Timeline
- Alert cards with: timestamp, scenario, IP, country flag, severity
- Color-coded by risk level
- Expandable details showing full event data
- Filter by: time range, scenario type, severity
3. Real-time Activity Feed
- Last 100 events (scrollable, auto-updating)
- IP address in monospace with copy button
- Scenario name with icon
- Action taken (ban/log/captcha)
DECISIONS TAB:
1. Active Decisions Table
- Columns: IP, Reason, Duration, Expires In, Type, Origin, Actions
- Sortable by all columns
- Search and filter capabilities
- Manual decision add/remove buttons
- Bulk actions (delete selected)
- Export to CSV button
2. Decision Statistics
- Decisions over time (24h chart)
- Most blocked IPs
- Most triggered scenarios
- Average decision duration
ALERTS TAB:
1. Alert Management
- Alert cards grouped by scenario
- Timeline view with date headers
- Severity indicators (critical/high/medium/low)
- Related decisions linking
- Mark as resolved functionality
BOUNCERS TAB:
1. Bouncer Status
- Connected bouncers list
- Each bouncer: name, type, version, last pull, status
- Add new bouncer with API key generation
- Delete bouncer with confirmation
- Bouncer metrics (decisions applied, queries made)
METRICS TAB:
1. Performance Metrics
- CrowdSec service health
- Decision pull frequency
- API response times
- Memory and CPU usage
- LAPI/CAPI status indicators
SETTINGS TAB:
1. CrowdSec Configuration
- Enable/disable service
- Acquisition configuration (log paths)
- Scenario management (enable/disable specific scenarios)
- Collection management (install/remove)
- Console enrollment status
TECHNICAL:
- RPCD: luci.crowdsec-dashboard
- Methods: getStats, getDecisions, getAlerts, getBouncers, getMetrics
- Commands: cscli decisions list/add/delete, cscli alerts list, cscli bouncers list
- Parse JSON output from cscli commands
- Handle API communication with CrowdSec daemon
VISUAL ENHANCEMENTS:
- Gradient borders for threat level cards (green→orange→red)
- Animated pulse on new alerts
- Country flags for IP geolocation
- Sparkline charts for metrics
- Loading skeletons during data fetch
```
### 4. Netdata Dashboard (luci-app-netdata-dashboard)
**Prompt for Claude.ai:**
```
Create a Netdata system monitoring dashboard with 1000+ metrics:
DESIGN:
- Title: "System Monitoring" with 📊 icon
- Emphasis on real-time charts and metrics
- Stats badges: Alerts | Services | Charts | Collectors
DASHBOARD TAB:
1. Overview Metrics Grid
- System load (1m, 5m, 15m) as gauge charts
- CPU usage per core (multi-core visualization)
- RAM usage with breakdown (used/cached/buffers/free)
- Disk I/O rates (read/write MB/s)
- Network throughput (all interfaces combined)
2. Quick Charts
- CPU temperature chart (if available)
- Swap usage chart
- Processes count chart (running/sleeping/zombie)
- Context switches and interrupts chart
3. Embedded Netdata
- Full Netdata web UI embedded in iframe
- Responsive sizing
- Theme matching (dark mode)
SYSTEM TAB:
1. System Metrics Deep Dive
- CPU frequency and governor
- CPU idle time percentage
- Per-core usage bars
- System interrupts per second
- Context switches rate
- Kernel internal metrics
2. Memory Details
- Memory allocation chart
- Page faults rate
- Committed memory ratio
- Huge pages usage
- Slab memory breakdown
PROCESSES TAB:
1. Process Monitoring
- Top processes by CPU (live updating table)
- Top processes by RAM
- Process count by state
- Thread count total
- Process spawn rate
2. Process Details
- Per-process CPU time
- Per-process memory maps
- Open files per process
- Process tree visualization
REALTIME TAB:
1. Live Monitoring
- Real-time CPU chart (1s granularity)
- Real-time network I/O
- Real-time disk I/O
- Real-time memory changes
- Auto-refreshing every second
NETWORK TAB:
1. Network Metrics
- Interface statistics (all interfaces)
- Packet rates (packets/s in/out)
- Error and drop counters
- TCP/UDP connection states
- Netfilter statistics
- DNS query statistics (if available)
SETTINGS TAB:
1. Netdata Configuration
- Enable/disable Netdata service
- Configure retention period
- Enable/disable specific collectors
- Alert configuration
- Streaming configuration (central Netdata)
TECHNICAL:
- RPCD: luci.netdata-dashboard
- Netdata API integration (http://localhost:19999/api/v1/)
- Methods: /info, /charts, /data, /alarms
- Real-time data fetching with polling
- Chart.js or native Netdata charts
- WebSocket support for live updates
CHARTS TO INCLUDE:
- Line charts for time-series data
- Bar charts for comparisons
- Gauge charts for current values
- Area charts for stacked metrics
- Sparklines for compact overviews
```
---
## Network Intelligence Modules
### 5. Netifyd Dashboard (luci-app-netifyd-dashboard)
**Prompt for Claude.ai:**
```
Create a Deep Packet Inspection dashboard using Netifyd (300+ app detection):
DESIGN:
- Title: "Network Intelligence" with 🔍 icon
- Focus on application and protocol visibility
- Stats badges: Active Flows | Applications | Devices | Protocols
OVERVIEW TAB:
1. Network Activity Summary
- Total flows count (current + historical)
- Unique applications detected today
- Active devices count
- Protocol distribution (TCP/UDP/ICMP pie chart)
2. Top Applications Chart
- Bar chart of top 10 applications by bandwidth
- Icons for recognized apps (Netflix, YouTube, Spotify, etc.)
- Percentage of total traffic
- Click to filter flows by application
3. Top Devices
- Device cards with: hostname, MAC, IP, current app
- Bandwidth usage per device (RX/TX)
- Device type icon (phone, laptop, TV, IoT)
APPLICATIONS TAB:
1. Application Discovery
- Grid of detected applications
- Each card: app icon, name, category, protocol, active flows
- Color-coded categories:
* Streaming (red): Netflix, YouTube, Twitch
* Social (blue): Facebook, Instagram, TikTok
* Messaging (green): WhatsApp, Telegram, Signal
* VoIP (purple): Zoom, Teams, Discord
* Gaming (orange): Steam, PlayStation, Xbox
- Real-time bandwidth per app (sparklines)
2. Application Details
- Click app to see: active connections, total bandwidth, protocols used
- Flow timeline for selected app
- Device breakdown (which devices use this app)
DEVICES TAB:
1. Device Inventory
- Table: IP, MAC, Hostname, Vendor, Active Apps, Bandwidth
- Sortable and searchable
- Device grouping by subnet
- Manual device naming/tagging
2. Device Profile
- Per-device view: all flows, app usage history
- Bandwidth trends (24h chart)
- Risk assessment (unknown protocols, suspicious apps)
- Block/allow rules management
FLOWS TAB:
1. Active Flows Monitor
- Real-time table of network flows
- Columns: Source, Destination, App, Protocol, Bandwidth, Duration
- Auto-scrolling with pause button
- Color-coded by risk level
- Flow details on click (full 5-tuple + DPI data)
2. Flow Statistics
- Flows by protocol (pie chart)
- Top talkers (source IPs)
- Top destinations (external IPs)
- Port distribution
TOP TALKERS TAB:
1. Bandwidth Leaders
- Ranked list of IP addresses by total traffic
- Direction indicators (upload/download)
- Time range selector (1h/24h/7d/30d)
- Export to CSV
RISKS TAB:
1. Risk Assessment
- Suspicious flows detection
- Unknown protocols list
- Connections to blacklisted IPs
- Unusual port usage
- Potential malware C2 traffic
- Risk score per device (0-100)
CATEGORY BANDWIDTH TAB:
1. Traffic by Category
- Stacked area chart showing categories over time
- Categories: Streaming, Social, Gaming, Business, Other
- Percentage breakdown
- Peak usage times
DNS QUERIES TAB:
1. DNS Analytics
- Recent DNS queries table
- Most queried domains
- Failed queries count
- DNS leak detection
- Blocked queries (if using DNS filtering)
SETTINGS TAB:
1. Netifyd Configuration
- Enable/disable DPI
- Select interfaces to monitor
- Application detection sensitivity
- Flow export configuration
- Privacy settings (data retention)
TECHNICAL:
- RPCD: luci.netifyd-dashboard
- Netifyd API: Unix socket /var/run/netifyd/netifyd.sock
- JSON flow export parsing
- Application database from Netify signatures
- Real-time flow updates (WebSocket or SSE)
VISUAL FEATURES:
- Application icons from FontAwesome or custom SVG set
- Animated flow counters (counting up effect)
- Color-coded bandwidth bars
- Interactive charts (click to filter)
- Tooltips with detailed info
```
### 6. Network Modes (luci-app-network-modes)
**Prompt for Claude.ai:**
```
Create a Network Mode Configuration wizard with 5 topology options:
DESIGN:
- Title: "Network Configuration" with 🌐 icon
- Wizard-style interface with step progression
- Large mode cards with illustrations
OVERVIEW TAB:
1. Current Mode Display
- Large card showing active mode with icon
- Mode description
- Current network config summary (WAN/LAN IPs, DHCP status)
- "Change Mode" button (gradient)
2. Mode Comparison Table
- All 5 modes in columns
- Rows: Use case, WAN ports, LAN ports, WiFi role, DHCP server, NAT
- Highlight current mode
WIZARD TAB:
1. Mode Selection Screen
- 5 mode cards in grid:
* Router Mode 🏠 - Default home/office setup
* Bridge Mode 🌉 - Transparent layer-2 forwarding
* Access Point Mode 📡 - WiFi only, wired uplink
* Repeater/Extender Mode 🔁 - WiFi to WiFi repeating
* Travel Router Mode ✈️ - Portable WiFi from hotel ethernet
- Each card: title, description, pros/cons, diagram
- "Select" button per card
2. Configuration Screen (per mode)
- Mode-specific settings:
* Router: WAN type (DHCP/PPPoE/Static), LAN subnet, DHCP range
* Bridge: Bridge members, STP enable, VLAN config
* AP: Uplink interface, SSID, security, channel
* Repeater: Source SSID scan, credentials, rebroadcast SSID
* Travel Router: Client WiFi scan, WAN MAC clone option
3. Preview Screen
- Show configuration changes before applying
- Network diagram with new topology
- List of services that will be reconfigured
- Estimated downtime warning
- "Apply" and "Back" buttons
4. Apply Screen
- Progress indicator during application
- Step-by-step status:
* Stopping services...
* Updating network config...
* Restarting interfaces...
* Starting services...
- Rollback timer (60 seconds to confirm)
- Confirmation screen after success
ROUTER MODE TAB:
1. Router Settings
- WAN interface config (DHCP client, static, PPPoE, 3G/4G)
- LAN interface config (IP, netmask, DHCP server)
- Port mapping (which physical ports are WAN vs LAN)
- NAT and firewall rules
- DNS forwarder configuration
ACCESS POINT TAB:
1. AP Settings
- Uplink interface selection (ethernet or WiFi)
- Disable NAT and DHCP server
- Bridge LAN and Uplink
- WiFi configuration (SSID, security, channel, power)
- Fast roaming (802.11r) settings
RELAY TAB:
1. Relay/Repeater Settings
- Site survey (scan for WiFi networks)
- Connect to upstream WiFi (credentials)
- Rebroadcast SSID (same or different)
- WiFi to WiFi bridge config
- Signal strength indicators
SNIFFER MODE TAB:
1. Packet Capture Configuration
- Monitor mode on WiFi
- Promiscuous mode on ethernet
- Capture filters (BPF syntax)
- Output format (pcap, pcapng)
- Capture rotation and storage
- Integration with tcpdump/wireshark
SETTINGS TAB:
1. Advanced Network Settings
- VLAN configuration
- Link aggregation (bonding)
- QoS settings
- IPv6 configuration
- Custom routing rules
TECHNICAL:
- RPCD: luci.network-modes
- Methods: get_current_mode, get_available_modes, set_mode, validate_config
- UCI config manipulation (/etc/config/network, wireless, firewall, dhcp)
- Interface state monitoring (network.interface events)
- Rollback mechanism (uci revert + timer)
VALIDATION:
- IP address format validation
- Subnet overlap detection
- DHCP range within subnet check
- WiFi channel availability check
- Physical port assignment conflicts
```
---
## VPN & Access Control Modules
### 7. WireGuard Dashboard (luci-app-wireguard-dashboard)
**Prompt for Claude.ai:**
```
Create a WireGuard VPN management dashboard with QR code generation:
DESIGN:
- Title: "WireGuard VPN" with 🔐 icon
- Modern VPN dashboard aesthetic
- Stats badges: Active Peers | Data Transferred | Uptime | Endpoints
OVERVIEW TAB:
1. VPN Status
- Interface status (up/down) with toggle
- Public key display (monospace, copy button)
- Listen port
- IP address (VPN subnet)
- Endpoint (if client mode)
2. Peer Statistics
- Active peers count
- Total data RX/TX (all peers combined)
- Latest handshake timestamp
- Connection quality indicators
3. Quick Actions
- Start/Stop VPN button
- Generate New Keypair button
- Download Config button
- Add Peer button (quick modal)
PEERS TAB:
1. Peer Management
- Peer cards grid:
* Each card: name, public key (truncated), allowed IPs, endpoint, status
* Color-coded border (green=active, orange=stale, red=disconnected)
* Last handshake time (e.g., "2 minutes ago")
* Data transfer counters (RX/TX)
* Edit and Delete buttons
2. Add Peer Dialog
- Generate keypair automatically OR paste existing public key
- Assign VPN IP address (auto-suggest next available)
- Define allowed IPs (0.0.0.0/0 for full tunnel, specific subnets for split)
- Optional: persistent keepalive interval
- Optional: pre-shared key (PSK) for post-quantum security
- Generate config file and QR code instantly
QR CODES TAB:
1. Mobile Client Setup
- Select peer from dropdown
- Generate WireGuard client config
- Display as QR code (for WireGuard mobile app scanning)
- Also show config text (copyable)
- Download .conf file button
- Include DNS servers in config
2. QR Code Options
- Custom DNS servers
- Include all routes vs split tunnel
- MTU configuration
- Persistent keepalive setting
TRAFFIC TAB:
1. Traffic Analytics
- Real-time bandwidth chart (per peer)
- Historical traffic graph (24h, 7d, 30d)
- Top bandwidth users
- Traffic by protocol (if DPI available)
CONFIG TAB:
1. Interface Configuration
- Private key (hidden by default, show button)
- Public key (derived, read-only)
- Listen port (51820 default)
- IP addresses (comma-separated for multi-subnet)
- MTU size
- Table (routing table number)
2. Advanced Settings
- Pre-up/Post-up scripts
- Pre-down/Post-down scripts
- Firewall zone assignment
- NAT masquerading toggle
SETTINGS TAB:
1. Global VPN Settings
- Auto-start on boot toggle
- Keep-alive interval (global default)
- DNS leak protection
- IPv6 support toggle
- Logging level
2. Endpoint Configuration (for client mode)
- Server endpoint hostname/IP
- Server public key
- Allowed IPs (what routes through VPN)
- Persistent keepalive for NAT traversal
TECHNICAL:
- RPCD: luci.wireguard-dashboard
- Methods: status, get_interfaces, get_peers, add_peer, remove_peer, generate_keys, generate_config, generate_qr
- Commands: wg show, wg set, wg genkey, wg pubkey, wg genpsk
- QR code generation: qrencode command or JavaScript library (qrcodejs)
- Config file template generation
- Real-time peer status updates
UI ENHANCEMENTS:
- Animated connection status indicators
- Gradient border for active peers
- Copy-to-clipboard for keys and configs
- Modal dialogs for add/edit peer
- Confirmation dialogs for destructive actions
- Toast notifications for success/error
```
### 8. Client Guardian (luci-app-client-guardian)
**Prompt for Claude.ai:**
```
Create a Network Access Control (NAC) and Captive Portal system:
DESIGN:
- Title: "Access Control" with 👥 icon
- Focus on device management and access policies
- Stats badges: Total Devices | Allowed | Blocked | Guest
OVERVIEW TAB:
1. Network Summary
- Total devices seen (ever)
- Currently connected devices
- Allowed devices count
- Blocked devices count
- Guest devices (captive portal)
2. Recent Activity
- Last 20 connection events
- Each event: timestamp, MAC, IP, hostname, action (allow/block/captive)
- Color-coded by action type
3. Quick Actions
- Block All Unknown button (lockdown mode)
- Allow All button (open mode)
- Clear Guest Sessions button
CLIENTS TAB:
1. Device Table
- Columns: MAC, IP, Hostname, Vendor, Zone, Status, Actions
- Sortable by all columns
- Search/filter bar
- Bulk selection for actions
2. Device Details Modal
- Full device info: MAC, IP, Hostname, Vendor (from MAC prefix)
- Connection history (first seen, last seen, total connections)
- Current zone assignment (LAN, Guest, Blocked)
- Assigned policies
- Edit button (change hostname, zone, policies)
ZONES TAB:
1. Zone Management
- Predefined zones:
* Trusted (full access)
* LAN (standard access)
* Guest (restricted access, captive portal)
* IoT (isolated, limited access)
* Quarantine (blocked)
2. Zone Configuration
- Per-zone settings:
* Allowed services (HTTP, HTTPS, DNS, etc.)
* Bandwidth limits
* Time restrictions
* Inter-zone communication rules
* Firewall rules
CAPTIVE PORTAL TAB:
1. Captive Portal Configuration
- Enable/disable portal
- Splash page customization:
* Custom logo upload
* Welcome message (HTML editor)
* Terms of Service text
* Redirect URL after acceptance
2. Portal Themes
- Predefined themes (Business, Hotel, Cafe, School)
- Color scheme customization
- Preview button
3. Portal Settings
- Session duration (1h, 4h, 24h, unlimited)
- Require email before access
- Require SMS verification
- Require social login (Facebook, Google)
- Auto-allow known devices
PORTAL DESIGN TAB:
1. Splash Page Editor
- WYSIWYG HTML editor
- Template variables (e.g., {{client_mac}}, {{client_ip}})
- Background image upload
- CSS styling panel
- Live preview
LOGS TAB:
1. Access Logs
- Connection attempts log
- Allowed/blocked decisions
- Captive portal authentications
- Filter by: time range, MAC, IP, zone, action
ALERTS TAB:
1. Security Alerts
- MAC spoofing detection
- Excessive connection attempts
- Unknown devices connecting
- Devices changing zones
- Alert rules configuration
PARENTAL CONTROLS TAB:
1. Content Filtering
- Website category blocking (adult, social, gaming, etc.)
- Time-based access controls (school hours, bedtime)
- Per-device or per-user policies
- SafeSearch enforcement
- YouTube restricted mode
2. Device Groups
- Group devices (e.g., "Kids Devices")
- Apply policies to groups
- Schedule-based rules (weekday vs weekend)
SETTINGS TAB:
1. Client Guardian Settings
- Default zone for new devices
- MAC-IP binding enforcement
- ARP cache timeout
- DHCP integration (assign zone based on IP range)
- Logging level and retention
TECHNICAL:
- RPCD: luci.client-guardian
- Methods: list_clients, update_client, get_zones, configure_portal, get_logs
- Integration with:
* nftables/iptables for access control
* dnsmasq for DNS and DHCP
* nginx/uhttpd for captive portal
* ipset for efficient device grouping
- Database for device tracking (SQLite or UCI)
CAPTIVE PORTAL IMPLEMENTATION:
- Intercept HTTP traffic for unauthenticated clients
- Redirect to splash page
- After acceptance, add to allowed ipset
- Session management with cookies or tokens
```
### 9. Auth Guardian (luci-app-auth-guardian)
**Prompt for Claude.ai:**
```
Create an authentication and session management system with OAuth2 and vouchers:
DESIGN:
- Title: "Authentication" with 🔑 icon
- Professional authentication dashboard
- Stats badges: Active Sessions | OAuth Providers | Vouchers | Bypass Rules
OVERVIEW TAB:
1. Authentication Status
- Total registered users
- Active sessions count
- OAuth providers configured
- Voucher redemptions today
2. Recent Authentications
- Last 20 auth events
- Each: timestamp, username/email, method (OAuth/voucher/bypass), IP, status
- Color-coded by status (success=green, fail=red)
SESSIONS TAB:
1. Active Sessions Table
- Columns: User, Session ID, Started, Last Activity, IP, Device, Actions
- Session details on click
- Revoke session button (with confirmation)
- Force logout all sessions button
2. Session Management
- Session timeout configuration
- Concurrent session limit per user
- Idle timeout
- Remember me duration
VOUCHERS TAB:
1. Voucher Management
- Create new voucher button
- Voucher table: Code, Duration, Remaining Uses, Created, Expires, Status
- Voucher types:
* Single-use (one time only)
* Multi-use (X redemptions)
* Time-limited (expires after duration)
* Bandwidth-limited (X GB quota)
2. Create Voucher Dialog
- Generate random code OR custom code
- Voucher duration (1h, 4h, 24h, 7d, 30d, unlimited)
- Usage limit (1, 10, 100, unlimited)
- Bandwidth quota (optional)
- Notes/description field
- Print voucher button (printable page with code)
3. Bulk Voucher Generation
- Generate X vouchers at once
- Export as CSV
- Print sheet (multiple vouchers per page)
OAUTH TAB:
1. OAuth Provider Configuration
- Supported providers:
* Google OAuth
* GitHub OAuth
* Facebook Login
* Microsoft Azure AD
* Custom OAuth2 provider
2. Provider Setup
- Client ID input
- Client Secret input (masked)
- Redirect URI (auto-generated)
- Scopes configuration
- Enable/disable per provider
- Test button (initiates OAuth flow)
3. User Mapping
- Map OAuth attributes to local user fields
- Auto-create user on first OAuth login
- Group assignment based on OAuth claims
SPLASH PAGE TAB:
1. Login Page Customization
- Custom logo upload
- Welcome text editor
- Enabled auth methods (OAuth buttons, voucher input, bypass link)
- Background image or gradient
- Color scheme
- Preview button
BYPASS RULES TAB:
1. Bypass Configuration
- Whitelist MAC addresses (no auth required)
- Whitelist IP ranges
- Whitelist hostnames (regex patterns)
- Time-based bypass (e.g., office hours, all devices allowed)
2. Bypass List
- Table: MAC/IP, Description, Added, Expires
- Add/remove bypass rules
- Temporary bypass (expires after X hours)
LOGS TAB:
1. Authentication Logs
- All auth attempts (success and failure)
- Filter by: date range, username, method, IP
- Export to CSV
- Visualizations:
* Auth attempts over time (line chart)
* Auth methods breakdown (pie chart)
* Failed attempts by IP (bar chart)
SETTINGS TAB:
1. Auth Guardian Settings
- Require authentication (global toggle)
- Default session duration
- Password policy (if local users)
- Two-factor authentication (TOTP)
- Login attempt limits (brute force protection)
- Session storage (memory vs database)
TECHNICAL:
- RPCD: luci.auth-guardian
- Methods: status, list_providers, list_vouchers, create_voucher, delete_voucher, validate_voucher, list_sessions, revoke_session
- OAuth implementation:
* Authorization code flow
* JWT token validation
* Provider-specific API calls
- Voucher system:
* Random code generation (alphanumeric, 8-16 chars)
* Expiry tracking (cron job or daemon)
* Redemption logging
- Session management:
* Cookie-based or token-based
* Redis or in-memory storage for sessions
* Session cleanup task
INTEGRATION:
- Works with Client Guardian for captive portal
- Firewall integration for post-auth access
- RADIUS support (optional, for enterprise)
```
---
## Bandwidth & Traffic Modules
### 10. Bandwidth Manager (luci-app-bandwidth-manager)
**Prompt for Claude.ai:**
```
Create a comprehensive QoS and bandwidth management system:
DESIGN:
- Title: "Bandwidth Manager" with 📶 icon
- Focus on traffic shaping and quotas
- Stats badges: Active Rules | Total Bandwidth | Clients Tracked | Quotas
OVERVIEW TAB:
1. Bandwidth Summary
- Total available bandwidth (WAN uplink/downlink)
- Current usage (real-time gauge)
- Peak usage (today's maximum)
- Average usage (24h)
2. Top Bandwidth Users
- Table: IP/Hostname, Download, Upload, Total, Percentage
- Real-time updates
- Click to apply quick rule
3. Traffic Classification
- By protocol: HTTP, HTTPS, DNS, P2P, Streaming, Gaming
- By priority: High, Medium, Low, Bulk
- Pie chart visualization
RULES TAB:
1. QoS Rules Table
- Columns: Name, Source, Destination, Service, Priority, Rate Limit, Status
- Sortable and filterable
- Enable/disable toggle per rule
- Edit/Delete actions
2. Add Rule Dialog
- Rule type: Bandwidth Limit, Priority, Guarantee
- Match criteria:
* Source IP/MAC/Subnet
* Destination IP/Subnet
* Port/Service (HTTP, HTTPS, SSH, etc.)
* Protocol (TCP, UDP, ICMP)
* Application (DPI-based, if available)
- Action:
* Set download limit (kbps/mbps)
* Set upload limit
* Set priority (1-7, or class names)
* Guarantee minimum bandwidth
- Schedule (always, time-based, day-of-week)
QUOTAS TAB:
1. Bandwidth Quotas
- Per-device quotas
- Per-user quotas
- Family quotas (group of devices)
- Time-based quotas (daily, weekly, monthly)
2. Quota Configuration
- Set quota amount (GB)
- Set quota period (day/week/month)
- Action on quota exceeded:
* Block all traffic
* Throttle to X kbps
* Send notification only
- Quota reset schedule
- Rollover unused quota (optional)
3. Quota Usage Dashboard
- Cards per device/user showing:
* Quota limit
* Used amount
* Remaining
* Progress bar with color coding
* Reset date
- Warning threshold (notify at 80%, 90%)
USAGE TAB:
1. Historical Usage
- Charts:
* Daily usage (last 30 days) as bar chart
* Hourly usage (last 24h) as line chart
* Weekly usage (last 12 weeks) as area chart
- Filter by device, service, direction (up/down)
- Export to CSV
2. Usage Statistics
- Total transferred this month
- Average daily usage
- Peak hour (when usage is highest)
- Trending applications
MEDIA TAB:
1. Media Traffic Detection
- Streaming services: Netflix, YouTube, Disney+, Twitch, etc.
- VoIP: Zoom, Teams, Discord, WhatsApp calls
- Gaming: Steam, PlayStation, Xbox Live
- Social Media: Facebook, Instagram, TikTok
2. Media-Specific Rules
- Quick templates:
* Prioritize VoIP over streaming
* Throttle streaming during work hours
* Limit gaming bandwidth
- Per-service bandwidth allocation
- Quality-based throttling (4K vs 720p detection)
CLASSES TAB:
1. Traffic Classes (HTB/CAKE)
- Predefined classes:
* Realtime (VoIP, gaming): highest priority
* Interactive (web browsing, SSH): high priority
* Bulk (downloads, updates): low priority
* Default: medium priority
2. Class Configuration
- Per-class bandwidth allocation (percentage or absolute)
- Borrowing (allow class to use unused bandwidth from others)
- Ceiling (maximum bandwidth a class can use)
- Quantum (packet size for fair queuing)
CLIENTS TAB:
1. Per-Client Management
- Client list with current bandwidth usage
- Quick actions:
* Set bandwidth limit for client
* Apply quota to client
* Block client temporarily
* Assign to traffic class
SCHEDULES TAB:
1. Schedule Management
- Create time-based rules
- Examples:
* Business hours (9am-5pm Mon-Fri): prioritize business apps
* Evening (6pm-11pm): allow streaming
* Late night (11pm-6am): throttle everything
- Calendar view of schedules
- Conflict detection
SETTINGS TAB:
1. Global Settings
- WAN bandwidth limits (uplink/downlink in Mbps)
- QoS algorithm: CAKE, HTB, SFQ, FQ_CODEL
- Enable/disable QoS globally
- Default traffic class
- Bandwidth test (measure actual WAN speed)
2. Advanced Settings
- DSCP marking
- ECN (Explicit Congestion Notification)
- Overhead calculation (for PPPoE, etc.)
- Per-packet overhead bytes
- Link layer adaptation
TECHNICAL:
- RPCD: luci.bandwidth-manager
- Methods: getStats, getRules, addRule, deleteRule, getQuotas, setQuota, getUsage
- QoS implementation:
* tc (traffic control) commands for HTB
* cake qdisc for modern QoS
* iptables conntrack for usage accounting
* nftables meters for rate limiting
- Database:
* SQLite or UCI for rules and quotas
* RRD for historical bandwidth data
* iptables counters for real-time stats
VISUAL ENHANCEMENTS:
- Bandwidth gauge charts (animated)
- Sparklines for trending
- Color-coded quota bars
- Responsive rule cards
```
### 11. Traffic Shaper (luci-app-traffic-shaper)
**Prompt for Claude.ai:**
```
Create an advanced traffic shaping module with anti-bufferbloat (CAKE):
DESIGN:
- Title: "Traffic Shaper" with 🚀 icon
- Technical/advanced focus
- Stats badges: Active Queues | Avg Latency | Packet Loss | Throughput
OVERVIEW TAB:
1. Shaper Status
- QoS enabled status toggle
- Active algorithm (CAKE, HTB, FQ_CODEL)
- Shaped interfaces (WAN, LAN)
- Current latency (ping to 1.1.1.1)
2. Performance Metrics
- Round-trip time (RTT) under load
- Buffer size (current vs optimal)
- Packet drop rate
- Throughput (actual vs configured)
3. Bufferbloat Test
- Run DSLReports speed test button
- Display results: download, upload, latency, grade
- Historical test results chart
CLASSES TAB:
1. Traffic Classes (HTB hierarchy)
- Root class (total bandwidth)
- Child classes with priority:
* Expedited Forwarding (EF): VoIP, gaming
* Assured Forwarding (AF): business apps
* Best Effort (BE): web, email
* Background (bulk downloads)
2. Class Configuration
- Rate (guaranteed bandwidth)
- Ceil (maximum bandwidth)
- Priority (1-7)
- Quantum (packet size)
- Burst (allow temporary overage)
RULES TAB:
1. Classification Rules
- Match criteria:
* DSCP/TOS field
* Port numbers
* IP addresses
* Protocol
* DPI signature
- Action: assign to traffic class
- Rule priority (1-999)
2. Rule Templates
- Predefined rules:
* VoIP optimization (SIP, RTP ports)
* Gaming optimization (known game servers)
* Streaming deprioritization
* P2P throttling
- One-click apply
STATS TAB:
1. Queue Statistics
- Per-class metrics:
* Packets sent
* Bytes sent
* Drops (overload indicator)
* Overlimits (ceiling hits)
* Requeues
- Real-time and historical charts
2. Interface Statistics
- Per-interface counters
- Queue depth graphs
- Latency measurements (ICMP ping or timestamping)
PRESETS TAB:
1. QoS Presets
- Gaming preset (lowest latency, prioritize gaming ports)
- Streaming preset (balance, allow bandwidth for streaming)
- Business preset (prioritize VoIP, remote desktop)
- Balanced preset (general home use)
- Manual preset (custom configuration)
2. Preset Configuration
- Select preset from dropdown
- Auto-configure all parameters
- Show what will change (diff preview)
- Apply button
CAKE CONFIGURATION TAB:
1. CAKE Settings
- Bandwidth (uplink/downlink in Mbps)
- Overhead:
* None
* ADSL (with interleaving)
* VDSL2
* Ethernet
* PPPoE
- Link layer adaptation:
* Ethernet
* ATM
* PTM
- Flows:
* Triple-isolate (src IP, dst IP, port)
* Dual-srchost
* Dual-dsthost
* Per-host
- Diffserv:
* Diffserv4 (4 tins)
* Diffserv3 (3 tins)
* Besteffort (single queue)
- ECN: enable/disable
- ACK filter: enable/disable (for slow uplinks)
TECHNICAL:
- RPCD: luci.traffic-shaper
- Commands:
* tc qdisc add/del/replace
* tc class add/del/change
* tc filter add/del
* cake qdisc configuration
- Real-time monitoring:
* tc -s qdisc show
* tc -s class show
* Parse output for statistics
- Latency testing:
* ping command with timestamps
* Integration with fping or hping3
VISUAL ENHANCEMENTS:
- Real-time latency graph (live updating)
- Packet drop rate sparklines
- Class hierarchy tree view
- Color-coded classes by priority
```
### 12. Media Flow (luci-app-media-flow)
**Prompt for Claude.ai:**
```
Create a media streaming and VoIP traffic detection dashboard:
DESIGN:
- Title: "Media Monitor" with 🎬 icon
- Focus on streaming services and video calls
- Stats badges: Active Streams | VoIP Calls | Bandwidth Used | Services
DASHBOARD TAB:
1. Active Media Streams
- Cards for each active stream:
* Service logo (Netflix, YouTube, etc.)
* Client device (IP, hostname)
* Stream quality estimate (4K, 1080p, 720p, SD)
* Current bitrate (Mbps)
* Duration
- Color-coded by service type (streaming=red, VoIP=green)
2. Service Breakdown
- Pie chart: bandwidth by service
- Services:
* Netflix, Amazon Prime, Disney+, Hulu, HBO Max
* YouTube, Twitch, Vimeo
* Spotify, Apple Music, Pandora
* Zoom, Teams, Meet, Webex
* WhatsApp, Telegram, FaceTime
SERVICES TAB:
1. Streaming Services Grid
- Each service as card:
* Icon/logo
* Total bandwidth used today
* Active sessions
* Peak quality detected
* Average session duration
- Click card for details
2. Service History
- Per-service usage over time
- Quality distribution (how often 4K vs HD vs SD)
- Peak viewing hours
CLIENTS TAB:
1. Device Media Usage
- Table: Device, Service, Quality, Bitrate, Duration
- Group by device
- Show total media consumption per device
- Identify heavy streaming users
HISTORY TAB:
1. Historical Media Activity
- Timeline view of all media sessions
- Filter by: date range, service, device, quality
- Export to CSV
- Charts:
* Daily streaming hours
* Service popularity trends
* Quality vs bandwidth correlation
ALERTS TAB:
1. Media Alerts
- Excessive streaming alerts
- Quality degradation alerts (4K dropped to 720p)
- VoIP quality issues (packet loss, jitter)
- New service detection
- Unusual patterns (e.g., streaming at 3am)
2. Alert Configuration
- Set thresholds for alerts
- Notification methods (web UI, email, webhook)
- Per-device alert rules
TECHNICAL:
- RPCD: luci.media-flow
- DPI integration:
* Netifyd for application detection
* nDPI library for deep inspection
* Signature matching for streaming protocols
- Quality estimation:
* Bitrate analysis (e.g., >15 Mbps = 4K, 5-15 Mbps = 1080p)
* DASH/HLS manifest parsing (if accessible)
- VoIP detection:
* RTP/RTCP ports and patterns
* SIP signaling detection
* WebRTC detection
STREAMING PROTOCOLS:
- HLS (HTTP Live Streaming)
- DASH (Dynamic Adaptive Streaming)
- RTMP (Real-Time Messaging Protocol)
- RTP (for VoIP)
- WebRTC (for video calls)
```
---
## Performance & Services Modules
### 13. CDN Cache (luci-app-cdn-cache)
**Prompt for Claude.ai:**
```
Create a CDN caching proxy dashboard with bandwidth savings analytics:
DESIGN:
- Title: "CDN Cache" with 💨 icon
- Focus on performance and savings
- Stats badges: Cache Hit Rate | Bandwidth Saved | Cached Objects | Storage Used
OVERVIEW TAB:
1. Cache Performance
- Hit rate percentage (big gauge chart)
- Requests today: total, hits, misses
- Bandwidth saved estimate (GB and percentage)
- Storage usage (used/total)
2. Top Cached Content
- Table: URL/domain, Hits, Size, Last Access
- Content types breakdown (images, videos, scripts, docs)
- Pie chart: cached vs non-cacheable traffic
CACHE TAB:
1. Cached Objects Browser
- List of cached objects:
* URL
* Content-Type
* Size
* Expiry
* Hit count
* Actions (view, purge)
- Search and filter
- Bulk purge by pattern
2. Cache Statistics
- Total objects
- Average object size
- Largest objects
- Most hit objects
- Expiring soon count
POLICIES TAB:
1. Caching Policies
- Domains to cache (whitelist)
- Domains to never cache (blacklist)
- Content types to cache (image/*, video/*, text/css, etc.)
- Max object size (MB)
- Cache duration (TTL) by content type
2. Cache Rules
- Rule editor:
* Match URL pattern (regex)
* Cache duration override
* Cache or bypass decision
* Priority (1-100)
STATISTICS TAB:
1. Performance Metrics
- Response time comparison: cache hit vs miss
- Bandwidth charts: cached vs origin
- Request rate over time
- Cache efficiency trends (24h, 7d, 30d)
2. Savings Calculator
- Original bandwidth used (without cache)
- Bandwidth saved (GB)
- Cost savings estimate ($ per GB from ISP)
- Response time improvement (ms)
MAINTENANCE TAB:
1. Cache Maintenance
- Purge all button (with confirmation)
- Purge by pattern (e.g., *.youtube.com/*)
- Purge expired objects
- Optimize database (rebuild indexes)
- Prewarm cache (prefetch popular URLs)
2. Storage Management
- Storage usage breakdown
- LRU eviction settings (least recently used)
- Max cache size configuration
- Storage location (disk, RAM, or hybrid)
SETTINGS TAB:
1. CDN Cache Configuration
- Enable/disable cache
- Upstream DNS servers
- Proxy port (transparent or explicit)
- SSL certificate handling (bump or pass-through)
- Logging level
2. Advanced Settings
- Negative caching (cache 404s, etc.)
- Range request handling
- Vary header support
- ETag validation
- Stale-while-revalidate
TECHNICAL:
- RPCD: luci.cdn-cache
- Caching software:
* Squid proxy
* Nginx caching proxy
* Varnish
* OpenWrt's own uhttpd with caching module
- Methods: getStats, getCacheObjects, purge, setPolicies
- Storage backend: filesystem or database
- Monitoring: access logs parsing for hit/miss
VISUAL ENHANCEMENTS:
- Animated gauge for hit rate
- Sparklines for trending metrics
- Color-coded savings (green = high savings)
- Before/after comparison charts
```
### 14. VHost Manager (luci-app-vhost-manager)
**Prompt for Claude.ai:**
```
Create a virtual host and reverse proxy manager with auto SSL:
DESIGN:
- Title: "Virtual Hosts" with 🌍 icon
- Focus on web hosting and proxying
- Stats badges: Active VHosts | SSL Certs | Total Requests | Uptime
OVERVIEW TAB:
1. VHost Summary
- Total virtual hosts configured
- Active (enabled) vs inactive
- SSL-enabled hosts count
- Certificate expiry warnings
2. Quick Actions
- Add VHost button
- Request SSL Certificate button
- View Access Logs button
VHOSTS TAB:
1. Virtual Hosts List
- Cards for each vhost:
* Domain name
* Type (reverse proxy, static site, redirect)
* Backend (if proxy)
* Status (enabled/disabled)
* SSL status (valid, expiring, none)
* Actions (edit, disable, delete, view logs)
2. Add/Edit VHost Dialog
- Domain name input (auto-validate DNS)
- VHost type:
* Reverse Proxy (proxy to backend server)
* Static Site (serve from directory)
* Redirect (301/302 to another URL)
- Backend configuration (for proxy):
* Backend URL (http://192.168.1.10:8080)
* Protocol (HTTP, HTTPS, WebSocket)
* Load balancing (if multiple backends)
- SSL configuration:
* Auto (Let's Encrypt via ACME)
* Manual (upload cert + key)
* None (HTTP only)
- Advanced:
* Custom headers
* Access control (allow/deny IPs)
* Request rewriting
INTERNAL TAB:
1. Internal Services
- Predefined proxies for common services:
* LuCI itself
* Netdata
* CrowdSec dashboard
* RustDesk
* Custom apps
- One-click enable proxy for internal service
CERTIFICATES TAB:
1. SSL Certificate Management
- List of certificates:
* Domain
* Issuer (Let's Encrypt, self-signed, CA)
* Valid From - Valid To
* Days until expiry
* Actions (renew, revoke, download, delete)
2. ACME Configuration
- ACME provider (Let's Encrypt production/staging, ZeroSSL, BuyPass)
- Email for notifications
- Challenge type:
* HTTP-01 (port 80 validation)
* DNS-01 (TXT record validation)
* TLS-ALPN-01 (port 443 validation)
- Auto-renewal toggle (renew when <30 days remaining)
3. Request Certificate
- Domain input (supports wildcards with DNS-01)
- Validation method selector
- Issue button (shows progress)
SSL TAB:
1. SSL/TLS Settings
- Global SSL settings:
* Minimum TLS version (1.0, 1.1, 1.2, 1.3)
* Cipher suites
* HSTS (HTTP Strict Transport Security)
* OCSP stapling
- Per-vhost overrides
REDIRECTS TAB:
1. Redirect Rules
- Simple redirects:
* From domain/path
* To URL
* Type (301 permanent, 302 temporary, 307 temporary preserve method)
- Wildcard redirects
- Regex-based redirects
LOGS TAB:
1. Access Logs
- Combined access log for all vhosts
- Filter by vhost, IP, status code, date
- Columns: Timestamp, IP, Method, Path, Status, Bytes, Referrer, User-Agent
- Real-time log streaming
- Export to CSV
2. Error Logs
- Proxy errors (backend unreachable, timeout)
- SSL errors (cert invalid, expired)
- Configuration errors
TECHNICAL:
- RPCD: luci.vhost-manager
- Reverse proxy software:
* Nginx
* HAProxy
* Caddy (for auto SSL)
* Apache
- ACME client:
* acme.sh script
* Certbot
* Caddy built-in ACME
- Methods: getVHosts, addVHost, deleteVHost, requestCertificate, getLogs
INTEGRATION:
- DNS validation via API (Cloudflare, etc.)
- Dynamic DNS updates
- Firewall port opening (80, 443)
- Let's Encrypt rate limit handling
```
### 15. KSM Manager (luci-app-ksm-manager)
**Prompt for Claude.ai:**
```
Create a cryptographic key and secrets management dashboard with HSM support:
DESIGN:
- Title: "Key Management" with 🔐 icon
- Security-focused, professional aesthetic
- Stats badges: Total Keys | Active Keys | Certificates | Secrets
OVERVIEW TAB:
1. Key Management Status
- Total keys managed
- Key types breakdown (RSA, ECDSA, ED25519)
- Expiring keys (next 30 days)
- HSM status (if connected)
2. Recent Activity
- Last key operations: generated, used, rotated, revoked
- Audit log (last 20 entries)
KEYS TAB:
1. Cryptographic Keys List
- Table: Key ID, Type, Size, Usage, Created, Expires, Status
- Key types:
* Signing keys (for code, documents)
* Encryption keys (for data at rest)
* Authentication keys (SSH, TLS client)
- Actions: view, export public, rotate, revoke, delete
2. Generate Key Dialog
- Algorithm selection:
* RSA (2048, 3072, 4096 bit)
* ECDSA (P-256, P-384, P-521)
* ED25519
- Usage flags:
* Digital signature
* Key encipherment
* Data encipherment
- Storage:
* Software (filesystem)
* HSM (if available)
* TPM (if available)
- Passphrase protection (optional)
HSM TAB:
1. Hardware Security Module
- HSM connection status
- HSM info: vendor, model, firmware version
- Available key slots
- HSM operations:
* Initialize HSM
* Generate key on HSM
* Import key to HSM
* Backup HSM
CERTIFICATES TAB:
1. X.509 Certificate Management
- List: Subject, Issuer, Valid From/To, Serial, Fingerprint
- Certificate chain view
- Actions: view details, export (PEM/DER), revoke
2. Certificate Request (CSR)
- Generate CSR for signing by CA
- Fields: CN, O, OU, C, ST, L, Email
- Key usage extensions
- Export CSR for submission to CA
3. Self-Signed Certificates
- Quick generate self-signed cert
- Validity period selection
- Subject alternative names (SANs)
SECRETS TAB:
1. Secret Storage (Vault)
- Key-value secret store
- Secrets list: Name, Type, Created, Last Accessed
- Secret types:
* Password
* API key
* Token
* Connection string
- Encrypted at rest
- Access control (which users/apps can access)
2. Add Secret Dialog
- Secret name (path-based: db/prod/password)
- Secret value (masked input)
- TTL (time-to-live, auto-expire)
- Version control (keep old versions)
SSH TAB:
1. SSH Key Management
- SSH key pairs list
- Generate SSH key (RSA, ED25519, ECDSA)
- Import existing key
- Export public key (for authorized_keys)
- Authorized keys management (who can SSH in)
AUDIT TAB:
1. Audit Log
- All key operations logged:
* Generated, imported, exported, used, rotated, revoked, deleted
- Timestamp, user, operation, key ID, result
- Filter by: date range, operation type, key ID, user
- Export audit log
SETTINGS TAB:
1. KSM Configuration
- Key storage location
- Default key algorithm and size
- Auto-rotation policy (rotate keys every X days)
- Backup location and schedule
- HSM connection settings (if supported)
TECHNICAL:
- RPCD: luci.ksm-manager
- Key storage:
* OpenSSL for key operations
* GnuPG for PGP keys
* SSH-keygen for SSH keys
* HSM integration via PKCS#11
- Secret encryption:
* Encrypt secrets with master key
* Master key derived from passphrase or stored in HSM
- Methods: listKeys, generateKey, exportKey, importKey, listSecrets, addSecret, getSecret
SECURITY:
- All secrets encrypted at rest
- Audit logging of all operations
- Access control (role-based)
- Secure key deletion (overwrite before delete)
```
---
## Common UI Patterns Across All Modules
### Global Design Consistency
**All modules MUST include:**
1. **Page Header Pattern**
```javascript
E('div', { 'class': 'sh-page-header' }, [
E('div', {}, [
E('h2', { 'class': 'sh-page-title' }, [
E('span', { 'class': 'sh-page-title-icon' }, '[ICON]'),
'[MODULE TITLE]'
]),
E('p', { 'class': 'sh-page-subtitle' }, '[DESCRIPTION]')
]),
E('div', { 'class': 'sh-stats-grid' }, [
// 4 stat badges minimum
])
])
```
2. **Stats Badges** (130px minimum, monospace values)
```javascript
E('div', { 'class': 'sh-stat-badge' }, [
E('div', { 'class': 'sh-stat-value' }, '[VALUE]'),
E('div', { 'class': 'sh-stat-label' }, '[LABEL]')
])
```
3. **Filter Tabs** (for categorization)
```javascript
E('div', { 'class': 'sh-filter-tabs' }, [
E('div', { 'class': 'sh-filter-tab active', 'data-filter': 'all' }, [
E('span', { 'class': 'sh-tab-icon' }, '[ICON]'),
E('span', { 'class': 'sh-tab-label' }, '[LABEL]')
])
])
```
4. **Cards with Color Borders**
```javascript
E('div', { 'class': 'sh-card sh-card-success' }, [
E('div', { 'class': 'sh-card-header' }, [
E('h3', { 'class': 'sh-card-title' }, '[TITLE]')
]),
E('div', { 'class': 'sh-card-body' }, [
// Content
])
])
```
5. **Gradient Buttons**
```javascript
E('button', { 'class': 'sh-btn sh-btn-primary' }, '[ACTION]')
```
6. **Loading States**
- Skeleton screens while fetching data
- Spinner for button actions
- Progress bars for long operations
7. **Error Handling**
- User-friendly error messages
- Retry buttons
- Fallback content
8. **Responsive Design**
- Mobile-first approach
- Cards stack on mobile
- Stats grid adapts (130px minimum)
- Tables become scrollable or card-based
---
## How to Use These Prompts
### Step 1: Select Module
Choose the module you want to regenerate/implement from the list above.
### Step 2: Copy Full Prompt
Copy the entire prompt for that module (from "Create a..." to "VISUAL ENHANCEMENTS:").
### Step 3: Provide to Claude.ai
Paste the prompt into Claude.ai (claude.ai conversation) with additional context:
```
I need you to implement [MODULE NAME] for OpenWrt LuCI.
IMPORTANT CONSTRAINTS:
- OpenWrt uses LuCI framework (not React/Vue)
- JavaScript uses L.view pattern (not ES6 modules)
- Backend is RPCD (shell scripts) communicating via ubus
- CSS must use variables from common.css
- All code must be production-ready
- Follow the design system exactly
Here's the complete specification:
[PASTE PROMPT HERE]
Please provide:
1. Complete JavaScript view file
2. RPCD backend script
3. Any required CSS
4. ACL configuration
5. Menu configuration JSON
Make sure all code matches the live demo at secubox.cybermood.eu
```
### Step 4: Iterate
If needed, provide screenshots from the live demo or request refinements to match the exact look and feel.
---
## Additional Resources
- **Live Demo:** https://secubox.cybermood.eu
- **Design System:** DEVELOPMENT-GUIDELINES.md
- **Quick Start:** QUICK-START.md
- **Build Guide:** CLAUDE.md
---
**Document Version:** 1.0.0
**Last Updated:** 2025-12-27
**Maintainer:** CyberMind.fr