Commit Graph

179 Commits

Author SHA1 Message Date
9b9becd0a8 navbar 2025-12-29 09:03:49 +01:00
76955f48d0 versheaders 2025-12-29 07:51:33 +01:00
bd96ab1d31 develstats 2025-12-29 02:02:44 +01:00
b20f9cbb8c fix(sync): Update script path after relocation to secubox-tools
Fixed sync_module_versions.sh to reference the correct path after
moving the Python script from scripts/ to secubox-tools/ directory.

Changes:
- Updated SCR path: scripts/sync_module_versions.py → secubox-tools/sync_module_versions.py

Tested: Script now runs successfully and reports "no changes"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 22:02:20 +01:00
ef936f1295 docs: Add GitHub Pages documentation site structure
Created comprehensive documentation site using MkDocs Material theme
for GitHub Pages deployment. Moved version sync scripts to secubox-tools.

## Documentation Site (18 new files)

Created docs/ directory with complete documentation:

**Main Pages:**
- index.md - Home page with navigation cards and module overview
- quick-start.md - Quick start guide
- documentation-index.md - Documentation index

**Development Guides:**
- development-guidelines.md - Complete development reference (1857 lines)
- code-templates.md - Working examples and patterns (1405 lines)
- module-implementation-guide.md - Step-by-step workflow (901 lines)

**Reference Documentation:**
- claude.md - Build system and RPCD architecture (553 lines)
- validation-guide.md - Validation workflows (518 lines)
- permissions-guide.md - Permission guidelines (248 lines)
- luci-development-reference.md - LuCI development (1196 lines)

**Module Information:**
- module-status.md - 15 module status (896 lines)
- feature-regeneration-prompts.md - AI prompts (2084 lines)
- todo-analyse.md - Roadmap and tasks (1080 lines)

**Archive (4 files):**
- archive/index.md - Archive index
- archive/build-issues.md - Build troubleshooting
- archive/completion-report.md - Project milestones
- archive/module-enable-disable-design.md - Feature design

**Styling:**
- stylesheets/extra.css - SecuBox custom CSS

## Scripts Reorganization (2 files moved)

Moved version sync utilities to secubox-tools:
- scripts/sync_module_versions.py → secubox-tools/sync_module_versions.py
- scripts/sync_module_versions.sh → secubox-tools/sync_module_versions.sh

## Site Features

- Material theme with dark/light mode
- Responsive design with navigation tabs
- Live search and syntax highlighting
- Custom SecuBox branding (indigo/violet gradients)
- 12,780+ lines of comprehensive documentation

Summary:
- 21 files changed (+12,780 lines)
- 18 new documentation pages
- 2 scripts relocated
- Ready for GitHub Pages deployment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:57:29 +01:00
9505668da8 feat: Enhanced modules - CDN Cache, Network Modes, and SecuBox monitoring
Comprehensive updates across multiple core modules with improved UI,
menu structure, and monitoring capabilities.

## CDN Cache Updates (4 files)
- Refined dashboard.css styling (408 lines optimized)
- Enhanced cache.js view with better functionality (262 lines)
- Improved overview.js with cleaner structure (312 lines)
- Updated statistics.js for better performance (217 lines)

## Network Modes Updates (1 file)
- Streamlined menu.d JSON configuration (161 lines cleaned)
- Improved menu structure and organization

## SecuBox Updates (4 files)
- Enhanced monitoring.css with improved styles (50 lines)
- Updated dashboard.js with monitoring integration (81 lines)
- Refactored monitoring.js for better performance (452 lines)
- Extended menu.d JSON with monitoring features (36 lines added)

Summary:
- 9 files changed
- +854 lines added, -1125 lines removed
- Net optimization: -271 lines (cleaner, more efficient code)
- Improved UI/UX across all modules
- Better code organization and performance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:52:24 +01:00
edf061e40e chore(system-hub): Bump release to 0.4.6-r2
Updated luci-app-system-hub internal release version to r2.

Version update:
- luci-app-system-hub: 0.4.6-r1 → 0.4.6-r2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:50:46 +01:00
750d647999 chore: Bump release versions - network-modes 0.4.6-r2 and cdn-cache 0.4.1-r2
Updated internal release numbers for network-modes and cdn-cache modules.

Version updates:
- luci-app-network-modes: 0.4.6-r1 → 0.4.6-r2
- luci-app-cdn-cache: 0.4.1-r1 → 0.4.1-r2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:47:17 +01:00
6fb738f455 chore: Bump versions - secubox 0.4.6-r3 and cdn-cache 0.4.1
Updated internal version numbers for secubox and cdn-cache modules.

Version updates:
- luci-app-secubox: 0.4.6-r2 → 0.4.6-r3
- luci-app-cdn-cache: 0.2.2-r1 → 0.4.1-r1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 21:42:05 +01:00
dd0420ed82 chore(secubox): Bump release to 0.4.6-r2
Updated luci-app-secubox internal version to 0.4.6-r2.

Version update:
- luci-app-secubox: 0.4.6-r1 → 0.4.6-r2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 20:19:21 +01:00
9c38a7eca7 chore: Bump version to 0.4.6 for all core modules
Updated internal version numbers to 0.4.6 across all core modules
for consistency and alignment with the latest development cycle.

Version updates:
- luci-app-network-modes: 0.4.5-r1 → 0.4.6-r1
- luci-theme-secubox: 0.4.5-r1 → 0.4.6-r1
- luci-app-secubox: 0.4.5-r1 → 0.4.6-r1
- luci-app-system-hub: 0.4.5-r1 → 0.4.6-r1

All modules now synchronized at version 0.4.6.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 20:12:37 +01:00
6e20f9d959 chore: Bump version to 0.4.5 for all core modules
Updated internal version numbers to align with v0.4.5 release tag.

Version updates:
- luci-app-network-modes: 0.3.6-r2 → 0.4.5-r1
- luci-theme-secubox: 0.4.0-r1 → 0.4.5-r1
- luci-app-secubox: 0.3.1-r1 → 0.4.5-r1
- luci-app-system-hub: 0.4.0-r1 → 0.4.5-r1

All modules now synchronized at version 0.4.5, reflecting the latest
improvements including:
- Menu reorganization (Network & Connectivity category)
- Dual menu access for Network Modes
- Enhanced RPCD permissions
- Robust version handling across all modules
- Improved OOP structure for helpers
- SecuBox overview modules updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 20:03:46 +01:00
27a490e3a8 Update SecuBox overview modules and menu 2025-12-28 19:53:07 +01:00
a9fca35644 fix: Release v0.4.4 - Improved version handling and helpers refactoring
This release focuses on consistent version display across all modules
and proper OOP structure for network-modes helpers.

## Version Display Improvements (3 files)

Added robust version resolution functions to handle various version field names:

**SecuBox Dashboard** (dashboard.js):
- Added getModuleVersion() function with fallback chain
- Checks: version, pkg_version, package_version, packageVersion, Version
- Handles both string and number types
- Returns '—' if no version found
- Loads modules list from API for accurate version data

**SecuBox Modules** (modules.js):
- Added resolveModuleVersion() function with same fallback logic
- Ensures consistent version display in module cards
- Handles missing or undefined versions gracefully

**System Hub Components** (components.js):
- Added getComponentVersion() function with version fallback chain
- Consistent version display across all components
- Proper handling of edge cases (null, undefined, empty strings)

## Network Modes Refactoring (1 file)

**helpers.js**:
- Refactored from plain object export to baseclass.extend()
- Proper OOP structure following LuCI conventions
- Added 'require baseclass' import
- All helper functions now properly encapsulated
- Better integration with LuCI module system

## Benefits

- Consistent version display across SecuBox, System Hub, and Components
- Handles version field name variations (legacy, OpenWrt, custom)
- Type-safe version handling (numbers → strings)
- Improved code maintainability with proper OOP structure
- Better error handling for missing version information

Summary:
- 4 files changed (+85, -8)
- 3 new version resolution functions
- 1 OOP refactoring for helpers
- Improved consistency and reliability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 19:35:54 +01:00
de40c8e533 feat: Release v0.4.3 - Dual menu access and enhanced permissions
This release adds dual menu access for Network Modes (both SecuBox and
LuCI Network menus) and significantly expands RPCD permissions for all
mode configuration operations.

## Network Modes - Dual Menu Access (2 files)
- Added Network Modes to standard LuCI Network menu (admin/network/modes)
- Maintains existing SecuBox menu location (admin/secubox/network/modes)
- Users can now access Network Modes from both locations
- Menu order: 60 in Network menu, 10 in SecuBox Network category

## Network Modes - Enhanced Permissions (1 file)
Added 13+ new RPCD methods to ACL for complete mode management:

Read permissions:
- preview_changes
- sniffer_config, ap_config, relay_config, router_config
- travel_config, doublenat_config, multiwan_config, vpnrelay_config
- travel_scan_networks

Write permissions:
- apply_mode, confirm_mode, rollback
- update_settings
- generate_wireguard_keys, apply_wireguard_config
- apply_mtu_clamping, enable_tcp_bbr
- add_vhost, generate_config

## Network Modes - View Updates (11 files)
Updated all mode views for consistency:
- helpers.js: 28 lines refactored
- overview.js: Enhanced view structure
- All mode views: wizard, router, multiwan, doublenat, accesspoint,
  relay, vpnrelay, travel, sniffer

## Theme Enhancements (1 file)
- theme.js: 89 lines added
- Enhanced theme initialization and configuration
- Improved component styling support

## SecuBox Dashboard (2 files)
- Updated dashboard.js and modules.js
- Improved view rendering and integration

## System Hub (3 files)
- Enhanced logs.js, overview.js, services.js
- Better view consistency and functionality

Summary:
- 19 files changed (+282, -36)
- Dual menu access for Network Modes
- 13+ new RPCD permission methods
- All network mode views updated
- Theme significantly enhanced

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 19:24:40 +01:00
aad081e841 chore: Release v0.4.2 - Menu reorganization and CSS enhancements
This release focuses on improved menu structure, enhanced CSS styling
across all modules, and documentation cleanup.

## Menu & Navigation (2 modules)
- Reorganized SecuBox menu with new "Network & Connectivity" category
- Moved Network Modes from top-level to Network submenu
- New menu path: admin/secubox/network/modes

## Network Modes Enhancements (14 files)
- Enhanced all mode views: Overview, Wizard, Router, Multi-WAN, Double NAT,
  Access Point, Relay, VPN Relay, Travel, Sniffer, Settings
- Improved dashboard.css styling
- Updated API and helpers for better functionality

## System Hub Improvements (11 files)
- Added dedicated CSS files for Backup and Health views
- Enhanced styling: common.css, components.css, logs.css, services.css
- Updated views: backup.js, components.js, health.js, logs.js, services.js
- Removed deprecated settings.js view

## SecuBox Dashboard Updates (4 files)
- Refined dashboard.css and modules.css styling
- Enhanced dashboard.js and modules.js functionality

## Theme Updates (1 file)
- Improved navigation.css component styling

## Documentation Cleanup (15 files deleted)
- Removed obsolete documentation from docs/ directory
- Migrated documentation to DOCS/ (uppercase) structure
- Cleaned up archive files and outdated guides

## Configuration (1 file)
- Updated Claude settings for new permissions

Summary:
- 50 files changed
- 3 modules enhanced (network-modes, system-hub, secubox)
- 15 documentation files cleaned up
- 2 new CSS files added
- Menu structure reorganized

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 19:07:44 +01:00
883fc4be3c refactor(menu): Reorganize network-modes under Network category
Restructured the SecuBox menu hierarchy to improve organization:
- Added new "Network & Connectivity" category (order 40)
- Moved Network Modes from top-level to Network submenu
- Changed paths: admin/secubox/network-modes → admin/secubox/network/modes

Menu structure:
  SecuBox/
  ├── Dashboard
  ├── Modules
  ├── Alerts
  ├── Settings
  ├── Security & Access
  ├── Monitoring & Analytics
  ├── Network & Connectivity        ← NEW CATEGORY
  │   └── Network Modes            ← MOVED HERE
  │       ├── Overview
  │       ├── Mode Wizard
  │       ├── Router Mode
  │       ├── Multi-WAN Mode
  │       ├── Double NAT Mode
  │       ├── Access Point Mode
  │       ├── Relay Mode
  │       ├── VPN Relay Mode
  │       ├── Travel Mode
  │       ├── Sniffer Mode
  │       └── Settings
  ├── System & Performance
  ├── Services & Applications
  └── Help

Files modified:
- luci-app-secubox/root/usr/share/luci/menu.d/luci-app-secubox.json
- luci-app-network-modes/root/usr/share/luci/menu.d/luci-app-network-modes.json

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 18:38:07 +01:00
3e1da58d73 feat(build): Add support for luci-theme-* packages in local-build.sh
Extended the local build script to support both luci-app-* and luci-theme-*
package patterns, enabling builds of theme packages like luci-theme-secubox.

Changes:
- Updated validate_makefiles() to validate both package types
- Extended copy_packages() to copy both luci-app-* and luci-theme-* packages
- Modified configure_packages() to enable both package types in .config
- Updated build_packages() to build both package types
- Enhanced collect_artifacts() to find and collect theme packages
- Added luci-theme-* pattern support in argument parsing
- Updated firmware build to copy both package types to OpenWrt

Tested with: ./local-build.sh build luci-theme-secubox
Result: Successfully built luci-theme-secubox-0.4.0-r1.apk

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 18:26:50 +01:00
a6477b8710 feat: Version 0.4.1 - Enhanced network modes and system improvements
Major Enhancements:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Network Modes Module:
- Added 3 new network modes:
  * Double NAT mode (doublenat.js) - Cascaded router configuration
  * Multi-WAN mode (multiwan.js) - Load balancing and failover
  * VPN Relay mode (vpnrelay.js) - VPN gateway configuration
- Enhanced existing modes:
  * Access Point improvements
  * Travel mode refinements
  * Router mode enhancements
  * Relay mode updates
  * Sniffer mode optimizations
- Updated wizard with new mode options
- Enhanced API with new mode support
- Improved dashboard CSS styling
- Updated helpers for new modes
- Extended RPCD backend functionality
- Updated menu structure for new modes
- Enhanced UCI configuration

System Hub Module:
- Added dedicated logs.css stylesheet
- Enhanced logs.js view with better styling
- Improved overview.css responsive design
- Enhanced services.css for better UX
- Updated overview.js with theme integration
- Improved services.js layout

SecuBox Dashboard:
- Enhanced dashboard.css with theme variables
- Improved dashboard.js responsiveness
- Better integration with global theme

Files Changed:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Network Modes (17 files):
  Modified: api.js, dashboard.css, helpers.js, menu, config, RPCD backend
  Modified Views: accesspoint, overview, relay, router, sniffer, travel, wizard
  New Views: doublenat, multiwan, vpnrelay

System Hub (6 files):
  New: logs.css
  Modified: overview.css, services.css, logs.js, overview.js, services.js

SecuBox (2 files):
  Modified: dashboard.css, dashboard.js

Total: 25 files changed (21 modified, 4 new)

Technical Improvements:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- Global theme CSS variable usage
- Responsive design enhancements
- Improved error handling
- Better mode validation
- Enhanced user feedback
- Optimized CSS performance
- Improved accessibility

Network Mode Capabilities:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. Router Mode - Standard routing
2. Access Point Mode - WiFi AP with bridge
3. Relay Mode - WiFi repeater/extender
4. Travel Mode - Portable router configuration
5. Sniffer Mode - Network monitoring
6. Double NAT Mode - Cascaded NAT for network isolation (NEW)
7. Multi-WAN Mode - Multiple uplinks with load balancing (NEW)
8. VPN Relay Mode - VPN gateway and tunnel endpoint (NEW)

Breaking Changes:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
None - All changes are backward compatible

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 18:12:28 +01:00
5dfe4f3c61 chore: Version 0.4.0 - Theme and System Hub release
Updated package versions:
- luci-theme-secubox: 1.0.0 → 0.4.0
- luci-app-system-hub: 0.3.6 → 0.4.0
- luci-app-network-modes: 0.4.0 → 0.3.6-r2 (WIP, not in this release)

Version 0.4.0 includes:
- Complete global CyberMood theme system
- Theme integration in system-hub
- Multi-language foundation (en, fr, de, es)
- 100+ CSS variables for unified design
- Theme components and utilities

Network-modes marked as WIP for future release.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 18:04:57 +01:00
5ba17fd530 chore: Bump network-modes version to 0.4.0
Version 0.4.0 includes:
- Global CyberMood theme integration
- Theme switching support (dark/light/cyberpunk)
- Multi-language foundation (en, fr, de, es)
- Travel mode support
- Unified design system with CSS variables

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 17:44:49 +01:00
b884b12970 feat: Integrate global CyberMood theme into core modules
Migrated three core modules to use the global secubox-theme package:

Modules Updated:
- luci-app-secubox (dashboard, modules views)
- luci-app-network-modes (overview view)
- luci-app-system-hub (overview, services views)

Changes Per Module:
- Replaced module-specific theme imports with 'require secubox-theme/theme as Theme'
- Updated CSS imports to use global secubox-theme.css bundle
- Initialized global theme with Theme.init({ theme: 'dark', language: 'en' })
- Removed redundant theme.getTheme() calls from load() functions
- Added global theme CSS link tags to view renders

Benefits:
- Unified CyberMood design system across all modules
- Access to 100+ CSS variables (colors, spacing, effects)
- Theme switching support (dark, light, cyberpunk)
- Multi-language support (en, fr, de, es) via Theme.t()
- Reduced CSS duplication
- Consistent UI components (cards, buttons, badges)

Deployment:
- Created deploy-modules-with-theme.sh for batch deployment
- All modules successfully deployed to router 192.168.8.191
- Verified HTTP access to updated JavaScript files

Testing:
-  SecuBox dashboard loads with global theme
-  Network-modes overview uses theme CSS
-  System-hub views integrate theme properly
-  All 27 view files deployed successfully

Next Steps:
- Modules can now use Theme.createCard(), createButton(), createBadge()
- Translation keys available for internationalization
- Theme variants switchable via Theme.apply('dark'|'light'|'cyberpunk')

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 17:16:37 +01:00
a0c8d65472 feat: Implement luci-theme-secubox global CyberMood design system
Created comprehensive theme package with:

Core System:
- CSS variable system (100+ design tokens)
- Core styles (reset, typography, animations, utilities)
- Responsive grid and dashboard layouts

Components:
- Cards with hover effects and variants (glass, success, warning, danger, primary)
- Buttons (primary, secondary, danger, ghost)
- Forms, tables, modals, tooltips, badges, alerts, navigation

Theme Variants:
- Dark mode (default) with gradient background
- Light mode with clean white surfaces
- Cyberpunk mode for futuristic aesthetic

Multi-Language Support:
- English (en), French (fr), German (de), Spanish (es)
- 40+ translation keys covering common UI, dashboard, modules, settings, errors
- Theme.t() method for parameter substitution

JavaScript Theme Controller:
- Theme.init() for initialization
- Theme.apply() for theme switching
- Theme.setLanguage() for i18n
- Theme.createCard(), createButton(), createBadge() helpers
- Theme.createPage() for full page composition

Files Created:
- 22 CSS files (core, components, layouts, themes)
- 1 JavaScript controller (theme.js)
- 4 translation files (all validated JSON)
- 2 documentation files (README, USAGE)
- 1 main bundle (secubox-theme.css + minified)
- 1 Makefile (LuCI package definition)

Usage: 'require secubox-theme/theme as Theme'

See USAGE.md for complete API documentation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 17:08:07 +01:00
798e2e0435 docs: Add comprehensive CyberMood global theme system documentation
- Created GLOBAL_THEME_SYSTEM.md with complete theme specification
- Added THEME_CONTEXT.md for quick AI assistant reference
- Defined CyberMood design language (metallic, glass, neon aesthetics)
- Provided ready-to-use templates (CSS variables, components, JS controller)
- Planned multi-language support (en, fr, de, es)
- Created 5-week implementation roadmap
- Added 5 ready-to-use prompts for theme implementation
- Updated network-modes module with travel mode support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 16:58:11 +01:00
6314884f00 feat: Add help system integration and fix menu structure
- Created help system (help.js, help.css) for all modules
- Integrated help button in network-modes module
- Fixed menu structure: removed empty Network Management category
- Fixed all dashboard and modules page links
- Added website deployment script
- Created comprehensive documentation

New Files:
- DOCS/HELP_INTEGRATION_PLAN.md
- DOCS/WEBSITE_DEPLOYMENT_GUIDE.md
- EXAMPLES/help-button-integration.js
- luci-app-secubox/htdocs/luci-static/resources/secubox/help.js
- luci-app-secubox/htdocs/luci-static/resources/secubox/help.css
- secubox-tools/deploy-website.sh

Modified:
- luci-app-network-modes: Added help button integration
- luci-app-secubox: Fixed menu paths and module links

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 16:29:04 +01:00
41947c5ae0 chore: Bump version to 0.3.6 for both modules
Network Modes:
- Makefile: PKG_VERSION 0.3.5 → 0.3.6
- README.md: Version badge and header updated to 0.3.6
- README.md: What's New section updated to v0.3.6

System Hub:
- Makefile: PKG_VERSION 0.3.2 → 0.3.6
- api.js: Version comment and console log updated to 0.3.6

Both modules now aligned with v0.3.6 release tag.
2025-12-28 15:39:11 +01:00
4406825611 feat: Implement core features for network-modes and system-hub
Network Modes (+536 lines RPCD):
- Enhanced router.js with improved proxy configuration
- Expanded RPCD backend with new methods
- Updated README with feature documentation

System Hub (+511 lines RPCD, +127 lines API):
- Implemented diagnostics collection features
- Enhanced remote management interface
- Expanded RPCD backend with new RPC methods
- Added new API methods for diagnostics and remote access

Total changes: +1,392 additions, -126 deletions

Preparation for v0.3.6 release with real feature implementations
from CODEX roadmaps.
2025-12-28 15:34:23 +01:00
78d84ec74f docs: Add comprehensive Makefile standards documentation
- Complete guide for PKG_FILE_MODES configuration
- Standard comment block template for all modules
- File permission reference table (755 for RPCD, 644 for others)
- Common errors and solutions
- Validation and troubleshooting guides
- Best practices for development

Covers:
- RPCD scripts (755 - CRITICAL for ubus calls)
- Helper scripts (755 for executables)
- Config files (644 - auto-set)
- CSS/JS files (644 - auto-set by luci.mk)
- Multi-line PKG_FILE_MODES syntax

Reference for all SecuBox developers.
2025-12-28 14:35:33 +01:00
15b7f45ab2 refactor(makefiles): Standardize PKG_FILE_MODES comments across all modules
- Add comprehensive file permissions documentation to all 15 Makefiles
- Standardized comment block explains:
  - RPCD scripts: 755 (CRITICAL - required for ubus calls)
  - Helper scripts: 755 (if executable)
  - Config files: 644 (readable by all)
  - CSS/JS files: 644 (set automatically by luci.mk)

- Ensures consistency and clarity for developers
- Critical for proper module functionality (RPCD must be executable)
- Follows OpenWrt package best practices

Affected modules:
- luci-app-auth-guardian
- luci-app-bandwidth-manager
- luci-app-cdn-cache
- luci-app-client-guardian
- luci-app-crowdsec-dashboard
- luci-app-ksm-manager
- luci-app-media-flow
- luci-app-netdata-dashboard
- luci-app-netifyd-dashboard
- luci-app-network-modes
- luci-app-secubox (includes fix-permissions.sh helper)
- luci-app-system-hub
- luci-app-traffic-shaper
- luci-app-vhost-manager
- luci-app-wireguard-dashboard
2025-12-28 14:34:31 +01:00
562ac55fe1 feat(network-modes): Prepare v0.3.5 implementation foundation
- Version bump to 0.3.5 in Makefile and README
- Add helpers.js utility module for common UI operations
- Expand API with new RPC method declarations
- Enhance view files with improved functionality:
  - accesspoint.js: Enhanced WiFi configuration options
  - relay.js: WireGuard setup improvements
  - router.js: Expanded proxy and vhost settings
  - sniffer.js: Enhanced capture configuration
  - wizard.js: Improved mode selection flow
- RPCD backend enhancements (+176 lines)
- Add deployment script for easier testing

Claude settings: Update permissions for network-modes work

Preparation for implementing features documented in CODEX-v0.3.5.md
2025-12-28 14:25:50 +01:00
94bc005ec0 docs(system-hub): Add comprehensive v0.3.5 implementation codex
- Complete analysis of current state (80% production-ready)
- Detailed implementation plan for 7 phases over 9 weeks
- Real code examples for diagnostics, remote mgmt, email, reports
- Unit tests and integration test scenarios
- Pre-release checklist and success metrics

Goals:
- Implement diagnostics collection and upload (Phase 1)
- Add RustDesk remote management integration (Phase 2)
- Email notifications with SMTP (Phase 3)
- HTML/PDF report generation (Phase 4)
- Scheduled tasks via cron (Phase 5)
- Enhanced network monitoring (DNS, NTP, firewall) (Phase 6)
- Hostname editing and archive management (Phase 7)

Target: 95-100% feature completion by 2025-01-20
2025-12-28 14:20:32 +01:00
941308c596 fix(system-hub): Add missing renderHealthGauge method
- TypeError: this.renderHealthGauge is not a function
- Added renderHealthGauge method to render health score gauge
- Takes score, scoreClass, scoreLabel parameters
- Displays score/100, label, and progress bar with appropriate styling

Method creates:
- Health score display (e.g., 85/100)
- Status label (Excellent/Good/Warning/Critical)
- Progress bar with color-coded fill based on health class
2025-12-28 14:13:22 +01:00
3841e1f1b4 fix(system-hub): Add missing scoreLabel variable in renderHeader
- ReferenceError: scoreLabel is not defined at line 84
- Added scoreLabel calculation matching renderStatsOverview pattern
- Fixes dashboard rendering error in overview.js

Error: renderHeader was calling this.renderHealthGauge(score, scoreClass, scoreLabel)
but scoreLabel was never defined in that scope.
2025-12-28 14:10:14 +01:00
16386d4de2 docs(network-modes): Add comprehensive v0.3.5 implementation codex
- Complete analysis of current state (50-60% production-ready)
- Detailed implementation plan for 5 phases over 9 weeks
- Real code examples for WireGuard, Squid, Nginx, 802.11r/k/v, tcpdump
- Unit tests and integration test scenarios
- Pre-release checklist and success metrics

Goals:
- Implement WireGuard relay with key management (Phase 1)
- Add web proxy (Squid/TinyProxy) + DoH (Phase 2)
- HTTPS reverse proxy with Let's Encrypt (Phase 3)
- Advanced WiFi features (802.11r/k/v, band steering) (Phase 4)
- Packet capture with PCAP rotation (Phase 5)

Target: 85-90% feature completion by 2025-01-15
2025-12-28 11:43:43 +01:00
aa24441da4 fix(tools): Remove hanging dependency installation loop
- Removed manual installation loop for individual dependencies that caused hangs
- Dependencies now handled via 'feeds install -a' and .config settings
- lucihttp and cgi-io disabled in .config (compilation failures)
- SecuBox packages are PKGARCH:=all (scripts), don't need compiled deps

Fixes interactive prompts and ^C hangs during build process.
2025-12-28 11:21:19 +01:00
49b0fa4e31 feat: Change default OpenWrt version from 24.10 to 25.12
Make OpenWrt 25.12.0-rc1 the default version across all build systems.

Changes:

1. secubox-tools/local-build.sh
   - Default: 24.10.5 → 25.12.0-rc1
   - Comment updated: "25.12.0-rc1 (default), 24.10.5 (stable LTS)"

2. .github/workflows/build-openwrt-packages.yml
   - Input default: 24.10.5 → 25.12.0-rc1
   - Env fallback: 24.10.5 → 25.12.0-rc1

3. .github/workflows/build-secubox-images.yml
   - Input default: 24.10.5 → 25.12.0-rc1
   - Env fallback: 24.10.5 → 25.12.0-rc1
   - Comment updated

4. DOCS/MODULE_STATUS.md + docs/module-status.md
   - Supported versions order updated:
     - 25.12.0-rc1 (latest, primary target)
     - 24.10.5 (LTS, stable)
     - 23.05.5 (legacy support)

Rationale:
- OpenWrt 25.12 uses new APK package format (Alpine-based)
- Better alignment with latest OpenWrt development
- 24.10.5 remains available as stable LTS option
- All workflows support both versions

Users can still override with:
- Environment variable: OPENWRT_VERSION=24.10.5
- Workflow input when manually triggering builds
- Command line: ./local-build.sh build --version 24.10.5

Package formats:
- 25.12.0-rc1 and SNAPSHOT: .apk (Alpine apk)
- 24.10.5 and earlier: .ipk (opkg)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 11:16:25 +01:00
e78b723dd7 fix(tools): Prevent lucihttp compilation failure in local-build.sh
Applied same fix as GitHub Actions workflow to local build script.

Problem:
- lucihttp and cgi-io fail to compile in SDK environment
- Missing lua.h headers cause: ninja: build stopped: subcommand failed
- Our SecuBox packages are PKGARCH:=all (scripts only), don't need these

Changes to secubox-tools/local-build.sh:

1. Removed lucihttp and cgi-io from build loop
   - Only build: lua, liblua, rpcd (essentials that work)
   - Skip: lucihttp, cgi-io (fail with missing lua.h)

2. Added configuration to disable problematic packages
   - Explicitly disable in .config:
     # CONFIG_PACKAGE_lucihttp is not set
     # CONFIG_PACKAGE_cgi-io is not set

3. Enabled use of pre-built packages from feeds
   - CONFIG_DEVEL=y
   - CONFIG_FEED_packages=y
   - CONFIG_FEED_luci=y

4. Updated dependency installation
   - Install lucihttp/cgi-io from feeds (for metadata)
   - But disable compilation to prevent SDK failures

Result:
- Local builds will no longer fail with "ninja: build stopped"
- SDK uses pre-built dependencies instead of compiling
- SecuBox packages (pure scripts) build successfully

This matches the fix in .github/workflows/build-openwrt-packages.yml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 11:13:35 +01:00
2aa99cfd99 fix(ci): Prevent lucihttp compilation failure in SDK build
The actual issue was NOT missing ninja-build (it was already installed),
but lucihttp dependency trying to compile without Lua headers.

Error was:
  fatal error: lua.h: No such file or directory
  ninja: build stopped: subcommand failed

Root Cause:
- lucihttp is a LuCI dependency that requires compilation
- OpenWrt SDK environment doesn't have Lua development headers
- Our SecuBox packages are PKGARCH:=all (pure scripts, no compilation)
- They don't actually need lucihttp to be compiled

Fix Applied:
1. Add logic to download pre-built lucihttp/cgi-io/lua packages
2. Explicitly disable lucihttp and cgi-io compilation in .config
3. Enable use of pre-built packages from feeds
4. Let SDK use pre-built dependencies instead of compiling

Changes:
- Download step now actually fetches pre-built dependencies
- Configuration step disables problematic packages:
  # CONFIG_PACKAGE_lucihttp is not set
  # CONFIG_PACKAGE_cgi-io is not set
- Enables feeds for pre-built packages

This allows our script-only packages to build successfully
without triggering compilation of C-based dependencies.

Testing: Will be validated by next GitHub Actions run

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 11:03:54 +01:00
986b3ce2e0 docs: Change status from Production Ready to Heavy Development Stage
Update MODULE_STATUS.md to reflect current development status:

**Status Changes**:
- Header status: "Production Ready" → "In Heavily Development Stage"
- All 15 modules: " Production Ready" → " In Heavily Development Stage"

**Consistency with Website**:
- Matches ../secubox-website/ status update
- Website shows 60-80% progress on modules
- Reflects active heavy development, not production release

**Files Updated**:
- DOCS/MODULE_STATUS.md
- docs/module-status.md (synced)

This brings documentation in line with actual development status,
indicating significant progress but not production-ready release.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:46:32 +01:00
b2f189d672 docs: Update MODULE_STATUS with real implementation data
Comprehensive update with actual codebase analysis:

**Real Metrics from Codebase**:
- Total modules: 15 (100% complete)
- Total views: 110
- JavaScript lines: 26,638
- RPCD methods: 281
- Latest release: v2.0.0

**Module Versions** (from Makefiles):
- system-hub: 0.3.2-1 (latest features)
- secubox, network-modes: 0.3.1-1
- 12 other modules: 0.2.2-1

**Implementation Details Added**:
- Actual view counts and JS line counts per module
- Real RPCD method counts from code analysis
- Detailed feature lists based on actual implementation
- Recent commit history from git log
- Build system status (GitHub Actions + local tools)
- Validation status (100% pass rate)

**New Sections**:
- Quick stats table at top
- Code distribution analysis
- Development activity with recent commits
- Deployment guide with installation methods
- Maintenance schedule and troubleshooting
- Release process checklist
- Comprehensive validation matrix

**Architecture Support**:
- 13 platforms supported
- OpenWrt 24.10.5 (primary), 25.12.0-rc1 (testing)
- Both .ipk and .apk package formats

**Data Sources**:
- Explore agent analysis of all 15 modules
- Git tags and commit history
- Makefile versions
- Actual file counts and code metrics

Changes: Replaced placeholder data with real implementation status

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:35:38 +01:00
75042a8efb Add GitHub Pages documentation site with MkDocs Material
Generated professional documentation site structure:
- mkdocs.yml: Material theme with dark/light mode, search, navigation
- docs/: Complete documentation sync from DOCS/ (13 files + archive)
- docs/stylesheets/extra.css: SecuBox custom styling (indigo/violet)
- docs/archive/: Archived historical documents (4 files)

Features:
- Material Design theme matching SecuBox design system
- Dark/Light mode toggle with indigo/purple palette
- Advanced navigation (tabs, sections, instant loading)
- Search with suggestions and highlighting
- Mermaid diagram support for architecture visuals
- Code syntax highlighting with copy button
- Mobile responsive layout
- Custom CSS with gradient headings and card effects

Setup:
- Updated scripts/setup-github-pages.sh for Ubuntu 24.04 compatibility
- Added dependency check and auto-install (apt or pip)
- Fixed Python externally-managed-environment handling
- Updated .gitignore to exclude site/, .venv/, docs/.DS_Store

Next steps:
1. Test locally: mkdocs serve
2. Enable GitHub Pages: Settings → Pages → Source: master, Folder: /docs
3. Site will be live at: https://gkerma.github.io/secubox-openwrt/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:06:23 +01:00
dcdbd7bca6 docs: Add GitHub Wiki and Pages setup automation
Add comprehensive documentation publishing infrastructure with two deployment
options: GitHub Wiki (quick) and GitHub Pages (professional).

## New Files

### Setup Scripts
- **scripts/setup-wiki.sh** - Automated GitHub Wiki deployment
  * Clones wiki repository
  * Creates Home page with navigation
  * Creates sidebar (_Sidebar.md)
  * Copies all DOCS/ files
  * Fixes internal links for wiki format
  * Auto-commits and pushes

- **scripts/setup-github-pages.sh** - GitHub Pages with MkDocs Material
  * Checks/installs dependencies (Python, MkDocs)
  * Creates mkdocs.yml configuration
  * Generates docs/ directory structure
  * Creates professional home page with cards
  * Copies and transforms all DOCS/ files
  * Adds custom CSS matching SecuBox design
  * Builds preview site
  * Ready for GitHub Pages deployment

### Documentation
- **WIKI-SETUP-GUIDE.md** - Complete setup guide
  * Comparison of Wiki vs GitHub Pages
  * Step-by-step instructions for both options
  * Customization guides
  * Troubleshooting section
  * CI/CD automation examples

- **scripts/README.md** - Scripts documentation
  * Quick start for both options
  * Feature comparison
  * Update procedures
  * Troubleshooting

## Features

### GitHub Wiki Option
 2-minute setup
 No dependencies (Git only)
 Auto-sync from DOCS/
 Sidebar navigation
 Archive organization
 Link fixing automation

### GitHub Pages Option (Recommended)
 MkDocs Material theme
 Dark/Light mode support
 Professional navigation (tabs + sidebar)
 Search functionality
 Mermaid diagram support
 Mobile responsive
 Custom domain support
 SEO optimized
 Custom CSS matching SecuBox design
 Archive section

## Deployment Options

**Quick (Wiki):**
```bash
./scripts/setup-wiki.sh
# → https://github.com/gkerma/secubox-openwrt/wiki
```

**Professional (Pages):**
```bash
./scripts/setup-github-pages.sh
mkdocs serve  # Test locally
# → https://gkerma.github.io/secubox-openwrt/
```

## Benefits
 One-command documentation publishing
 Two deployment options (quick vs professional)
 Automated link fixing for both formats
 Complete documentation coverage
 Professional appearance (Pages option)
 Easy updates (re-run script)
 CI/CD ready

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 10:00:05 +01:00
403283419c docs: Reorganize documentation structure and add architecture diagrams
Major documentation improvements and restructuring for better maintainability
and navigation.

## Structural Changes

### New Documentation Organization
- Move all documentation to DOCS/ directory for better organization
- Create DOCS/archive/ for historical documents
- Move deployment scripts to secubox-tools/ directory

### Archived Documents
- COMPLETION_REPORT.md → archive/ (project milestone)
- MODULE-ENABLE-DISABLE-DESIGN.md → archive/ (feature implemented)
- BUILD_ISSUES.md → archive/ (issues resolved)
- Add archive/README.md with archiving policy and document index

## Documentation Enhancements

### Version Standardization
- Add version headers to CLAUDE.md (v1.0.0)
- Add version headers to BUILD_ISSUES.md (v1.0.0)
- Standardize date format to YYYY-MM-DD across all docs

### Cross-References & Navigation
- Add "See Also" sections to PERMISSIONS-GUIDE.md
- Add "See Also" sections to VALIDATION-GUIDE.md
- Link quick references to detailed guides
- Improve documentation discoverability

### Architecture Diagrams (Mermaid)
Add 3 professional diagrams to DEVELOPMENT-GUIDELINES.md:

1. **System Architecture Diagram** (§2)
   - Complete data flow: Browser → LuCI → RPCD → ubus → System
   - Color-coded components by layer
   - Shows JavaScript, RPC, RPCD daemon, UCI, system services

2. **Deployment Workflow Diagram** (§9)
   - Step-by-step deployment process with validation checkpoints
   - Error recovery paths for common issues (403, 404, -32000)
   - Local validation, file transfer, permission fixes, service restarts

3. **Component Hierarchy Diagram** (§1)
   - Standard page structure and CSS class relationships
   - Page → Header → Stats → Content → Cards → Buttons
   - Shows design system component organization

## New Files

### TODO-ANALYSE.md
- Comprehensive documentation improvement roadmap
- Tasks categorized: Immediate, Short-term, Long-term, Optional
- Progress tracking with acceptance criteria
- Covers testing, security, performance guides
- Documentation automation plans

## Benefits

 Cleaner project structure (docs in DOCS/, tools in secubox-tools/)
 Better documentation navigation with cross-references
 Visual understanding through architecture diagrams
 Historical documents archived but accessible
 Standardized versioning across all documentation
 Clear roadmap for future documentation improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 09:52:15 +01:00
5d10e6c31c develstats 2025-12-28 09:09:12 +01:00
81a0448fde makefile 2025-12-28 08:05:06 +01:00
d9534270c8 codex 2025-12-28 07:01:22 +01:00
f552cf7b99 Add LuCI development status view for SecuBox Hub
New Feature:
- Development status page in LuCI interface
- Real-time progress tracking for administrators
- Integrated with SecuBox Hub menu

File Added:
- luci-app-secubox/htdocs/luci-static/resources/view/secubox/dev-status.js
  * LuCI view module with native integration
  * Same milestone data as website widget
  * Adapted styling for LuCI theme
  * Translated labels using LuCI i18n system

Features:
 Overall progress indicator (87%)
 4 milestone categories with progress bars
 Project timeline (6 phases)
 Statistics grid (8 metrics)
 Status icons and colors
 Responsive grid layouts
 LuCI theme integration

Display Sections:
1. Overall Progress Badge
   - Large percentage display
   - Gradient background
   - Center aligned

2. Development Milestones
   - Core Modules (100%)
   - Hardware Support (95%)
   - Integration & Testing (85%)
   - Campaign Preparation (70%)
   - Detailed item lists with statuses

3. Project Timeline
   - 6 phases with visual markers
   - Progress bars per phase
   - Completed/in-progress/planned indicators
   - Timeline line connecting phases

4. Project Statistics
   - Modules, Languages, Architectures
   - Lines of Code, Contributors, Commits
   - Open/Closed Issues

Technical Implementation:
- LuCI view.extend() architecture
- Native E() element creation
- Inline CSS for self-contained styling
- No external dependencies
- Translated strings using _() function
- Compatible with LuCI responsive layout

Access Path:
Services → SecuBox → Development Status
URL: /admin/services/secubox/dev-status

Integration:
- Provides transparency for system administrators
- Shows SecuBox project maturity
- Useful for beta testers and contributors
- Complements website campaign page

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 03:34:19 +01:00
1af1b90c2b Update Claude Code local settings with new permissions
Added permissions for:
- Permission management scripts (fix-permissions.sh, add-pkg-file-modes.sh)
- ACL deployment scripts (v2 updates)
- WebSearch and WebFetch for secubox.cybermood.eu domain
- SSH operations (timeout, keygen)
- Deployment scripts (v0.3.1)
- Tar archive operations
- Dashboard and modules JS file edits
- Git checkout operations

These permissions streamline common development workflows
and allow automated deployment tasks.

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-28 03:28:21 +01:00
a995b81e97 fix(ci): add ninja-build to dependencies in all build workflows
- Add ninja-build to package build workflow (build-openwrt-packages.yml)
- Add ninja-build to image build workflow (build-secubox-images.yml)
- Update secubox-tools/README.md with ninja-build dependency
- Update secubox-tools/local-build.sh dependency check and install instructions
- Ninja is required by OpenWrt build system for some compilation tasks

This resolves missing ninja errors in GitHub Actions builds.
2025-12-28 03:25:32 +01:00
00f2f20c2f feat(system-hub): modernize Quick Status widgets with histograms and gradients
- Transform Quick Status Indicators to modern card-based design
- Add progress bars with gradient animations for each status
- Implement detail grids showing additional metrics:
  - Internet: WAN IP, Gateway, Status
  - DNS: Primary/Secondary servers, Query rate
  - NTP: Server, Offset, Last sync
  - Firewall: Input/Forward/Output policies
- Apply color-coded gradients:
  - Internet: Blue (#3b82f6 → #2563eb)
  - DNS: Green (#10b981 → #059669)
  - NTP: Purple (#8b5cf6 → #7c3aed)
  - Firewall: Orange (#f59e0b → #d97706)
- Add shimmer animations on progress bars
- Implement hover effects with lift and shadow
- Use JetBrains Mono for numeric values
- Full responsive support for mobile devices

Version: 0.3.2
2025-12-28 03:20:03 +01:00