Commit Graph

13 Commits

Author SHA1 Message Date
b6747c197e feat(security): Add instant ban feature and user management
- Add enhanced instant ban for critical threats (SQL injection, CVE exploits, RCE)
  - CrowdSec trigger scenario for single-hit bans on severity=critical
  - Instant ban daemon (10s polling) for rapid response
  - UCI options: instant_ban_enabled, instant_ban_duration (48h default)
  - WAF addon updated to route critical threats to instant-ban.log

- Add centralized user management (secubox-core-users, luci-app-secubox-users)
  - CLI tool: secubox-users add/del/passwd/list/sync/status
  - LuCI dashboard under System > SecuBox Users
  - Unified user provisioning across Nextcloud, PeerTube, Matrix, Jabber, Email

- Add Matrix/Conduit integration (secubox-app-matrix, luci-app-matrix)
  - LXC-based Conduit homeserver deployment
  - Full RPCD handler with user/room management
  - HAProxy integration for federation

- Add provision-users.sh script for bulk user creation
- Update secubox-feed with new IPKs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-19 20:17:28 +01:00
8332572737 chore: Add __pycache__ to gitignore
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-09 16:49:30 +01:00
b64f9a0a1d feat(appstore): Implement KISS Evolution - feeds, profiles, skills, feedback
Add four major features to enhance SecuBox AppStore:

1. Feed Source Management:
   - Feed types: published, unpublished, development
   - Share tokens for private feed access
   - CLI: secubox feed list/add/share/import
   - LuCI: Feed type badges and share URLs in catalog-sources

2. Profile Export/Import:
   - Export configurations with feed sources embedded
   - Import from URL or file with merge/replace modes
   - CLI: secubox profile export/import/share
   - LuCI: New profiles.js view with export/import dialogs

3. Skill System:
   - Capability discovery from module catalogs
   - Quality indicators based on provider count
   - CLI: secubox skill list/providers/install/check
   - LuCI: New skills.js view with provider browser

4. Feedback Loop:
   - Issue reporting and resolution tracking
   - Search existing resolutions
   - CLI: secubox feedback report/resolve/search/list
   - LuCI: New feedback.js view for knowledge base

Technical changes:
- RPCD backend with 17 new API methods
- POSIX shell compatibility fixes (ESC via printf, tr A-Z a-z)
- LuCI menu entries for new views

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:46:27 +01:00
f3b6fb71da fix(bonus): Strip libc dependency from local feed packages
- Update local-build.sh to remove libc from Packages index
- Prevents opkg architecture mismatch errors on install
- Regenerate secubox-feed with 74 packages
- Update RPCD scripts for lyrion, mailinabox, metablogizer, nextcloud

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:46:26 +01:00
58b4fbf10d synch 2026-01-17 06:59:37 +01:00
3666be8284 chore: exclude luci-app-secubox-bonus/root/www from git
Large package feed files exceed GitHub's 100MB limit.
These are build artifacts that should be generated locally.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:03:44 +01:00
290eed2ba1 feat: Rebuild local feed with 25 SDK-built packages
- Rebuilt all luci-app-* and secubox-app-* packages for aarch64-cortex-a72
- Updated local-build.sh with FORCE=1 to bypass rsync prereq check
- Removed packages that failed SDK build (require full buildroot)
- Updated Packages index and apps-local.json manifest

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 09:10:43 +01:00
ff799a8016 chore: Add build configuration and update settings
- Add OpenWrt .config for mvebu/cortexa72 target
- Update .gitignore
- Update Claude settings
- Minor portal.js update

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 18:32:17 +01:00
e13a3f5b84 hello 2026-01-04 19:50:25 +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
e716dde652 docs: verify luci-app-secubox hub implementation is complete
Verified that luci-app-secubox (SecuBox Central Hub) is already fully
implemented with all required functionality:

Implemented Features:
✓ RPCD backend with 12 complete methods
  - status: Hub status and system metrics
  - modules/get_modules: Auto-detection of all SecuBox modules
  - get_system_health: CPU, RAM, Disk, Network metrics
  - get_alerts: Aggregated alerts from all modules
  - quick_action: Administrative shortcuts (restart, cache, backup)
  - get_dashboard_data: Optimized bulk data retrieval
  - Module control: start/stop/restart operations
  - Health checks and diagnostics

✓ Automatic module detection
  - Scans /usr/libexec/rpcd/ for SecuBox backends
  - Supports 14 modules: auth-guardian, bandwidth-manager, cdn-cache,
    client-guardian, crowdsec-dashboard, ksm-manager, media-flow,
    netdata-dashboard, netifyd-dashboard, network-modes, system-hub,
    traffic-shaper, vhost-manager, wireguard-dashboard

✓ System health monitoring
  - Real-time CPU usage and load averages
  - Memory utilization (total/used/available)
  - Disk space monitoring
  - Network traffic statistics (RX/TX)

✓ Dashboard UI
  - Visual gauges with color-coded status (green/orange/red)
  - Module grid with status indicators
  - Aggregated alerts section
  - Quick action buttons

✓ Complete API client (api.js)
  - All RPC method declarations
  - Utility functions (formatUptime, formatBytes)

Validation Results:
✓ RPCD script naming: luci.secubox (correct)
✓ Menu paths match view files
✓ All views have menu entries
✓ RPCD script executable
✓ JSON syntax valid (menu.d, acl.d)
✓ ubus naming convention followed (luci.* prefix)

No changes needed - module is production-ready.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-25 09:58:20 +01:00
804b93a4ff fix: create tmp directories to prevent opkg lock file errors
During firmware image creation, opkg tries to create a lock file in the
staging root filesystem's /tmp directory, but this directory doesn't
always exist, causing the build to fail at the final packaging stage.

Error:
  opkg_conf_load: Could not create lock file
  .../root.orig-mvebu//tmp/opkg.lock: No such file or directory
  ERROR: target/linux failed to build

Solution:
- Create tmp directories in all staging root filesystems before build
- Apply fix in both parallel and single-threaded build paths
- Use wildcard patterns to catch all target architectures

Changes:
- local-build.sh: Create tmp dirs before and during retry
- build-secubox-images.yml: Create tmp dirs in workflow
- .gitignore: Ignore build artifacts (openwrt/, local-feed/, .vscode/)

This ensures the build can complete the final image packaging step
successfully, generating the firmware images.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 18:03:13 +01:00
b9339af0de chore: add .gitignore for build artifacts
Ignore SDK, cache, and build directories created by local-build.sh tool.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-24 12:26:19 +01:00