be3a367e18
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
| 8f38796b75 |
fix: Add ACL permissions for new catalog and version management RPC methods
Fix RPC -32002 "Access denied" errors by adding proper ACL permissions for all new catalog source and version management methods. ## Problem New RPC methods added in Phases 1-3 were accessible in the RPCD backend but lacked ACL (Access Control List) permissions, causing browser errors: ``` RPCError: RPC call to luci.secubox/get_catalog_sources failed with error -32002: Access denied RPCError: RPC call to luci.secubox/check_updates failed with error -32002: Access denied ``` ## Solution Updated `/usr/share/rpcd/acl.d/luci-app-secubox-admin.json` to grant permissions for all 7 new methods introduced in the multi-source AppStore. ### Read Permissions (added 5 methods) These methods only read data and don't modify system state: - `get_catalog_sources` - List configured catalog sources - `check_updates` - Check for available app updates - `get_app_versions` - Get version info for specific app - `get_changelog` - Retrieve app changelog - `get_widget_data` - Get widget metrics for dashboard ### Write Permissions (added 2 methods) These methods modify system configuration: - `set_catalog_source` - Set active catalog source (UCI write) - `sync_catalog` - Trigger catalog synchronization ### UCI Access (added 1 config) Added `secubox-appstore` to UCI read/write lists for source management. ## Files Changed **Modified**: - `luci-app-secubox-admin/root/usr/share/rpcd/acl.d/luci-app-secubox-admin.json` - Read permissions: 9 → 14 methods - Write permissions: 6 → 8 methods - UCI access: Added `secubox-appstore` - `luci-app-secubox-admin/Makefile` - PKG_RELEASE: 2 → 3 ## Deployment After updating the package: 1. `opkg install luci-app-secubox-admin_*.ipk` 2. ACL file automatically installed to `/usr/share/rpcd/acl.d/` 3. RPCD reloads ACLs automatically 4. Methods now accessible from LuCI frontend No manual RPCD restart required - ACL changes are picked up automatically. ## Verification Test with: ```bash ubus -S call luci.secubox get_catalog_sources ubus -S call luci.secubox check_updates ``` Should return data instead of "Access denied" error. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
|||
| e7c9411d79 |
feat: Release v0.8.2 - Admin Control Center, Documentation Mirror & Docker Automation
This release adds major new features for SecuBox management and deployment: ## New Features ### 1. LuCI Admin Control Center (luci-app-secubox-admin) - Unified admin dashboard for managing all SecuBox appstore plugins - **Control Panel**: Real-time stats, system health, alerts, quick actions - **Apps Manager**: Browse catalog, install/remove apps with search & filtering - **App Settings**: Per-app configuration, start/stop controls - **System Health**: Live monitoring (CPU, RAM, disk) with auto-refresh - **System Logs**: Centralized log viewer with download capability - Fully integrated with existing RPCD backend (luci.secubox) - Mobile-responsive design with polished UI components ### 2. Documentation Mirror in SecuBox Bonus - Integrated complete development documentation into luci-app-secubox-bonus - 64+ documentation files now available offline at /luci-static/secubox/docs/ - Beautiful landing page (index-main.html) with 4 sections: - Development guides & references - Live module demos - Tutorials & blog posts - Marketing campaign pages - Accessible locally on router without internet connection ### 3. Automated Docker Plugin Installation - Enhanced secubox-appstore CLI with full Docker automation - One-click installation from web UI now fully automated: - Auto-detects Docker runtime from catalog - Discovers and executes control scripts (*ctl install) - Pulls Docker images automatically - Creates directories and configures UCI - Enables init services - No manual CLI steps required for Docker apps - Works for all Docker apps: AdGuard Home, Mail-in-a-Box, Nextcloud, etc. ### 4. Mail-in-a-Box Plugin - New Docker-based email server plugin (secubox-app-mailinabox) - Complete package with: - UCI configuration (8 port mappings, feature flags) - Control script (mailinaboxctl) with install/check/update/status/logs - Procd init script with auto-restart - Catalog manifest (category: hosting, maturity: beta) - Network mode: host (required for mail server) - Persistent storage: mail, SSL, data, DNS volumes ## Improvements ### Build System - Updated local-build.sh to include luci-app-* packages from package/secubox/ - Now automatically discovers and builds luci-app-secubox-admin and similar packages - Fixed Makefile include paths for feed structure ### Package Releases - Incremented PKG_RELEASE for all 31 SecuBox packages - Ensures clean upgrade path from previous versions ### Catalog Updates - Mail-in-a-Box entry moved from "productivity" to "hosting" category - Status changed to "beta" reflecting community Docker image maturity - Storage requirement increased: 1024MB → 2048MB - Added port 25 accessibility note ## Files Changed ### New Packages (2) - package/secubox/luci-app-secubox-admin/ (12 files) - package/secubox/secubox-app-mailinabox/ (4 files) ### Enhanced Packages (1) - package/secubox/luci-app-secubox-bonus/ (65 new docs files) ### Modified Core (3) - package/secubox/secubox-core/root/usr/sbin/secubox-appstore - package/secubox/secubox-core/root/usr/share/secubox/catalog.json - secubox-tools/local-build.sh ### All Makefiles (31 packages) - Incremented PKG_RELEASE for clean upgrade path ## Technical Details **Admin Control Center Architecture:** - Frontend: 5 views (dashboard, apps, settings, health, logs) - API: Wrapper around luci.secubox RPCD methods - Components: Reusable UI library (cards, badges, alerts, loaders) - Styling: Common + admin-specific CSS with responsive design - Auto-refresh: Polling for live updates (5-30s intervals) **Docker Automation Flow:** ``` Web UI → RPCD → secubox-appstore CLI → opkg install → *ctl install → docker pull → directories → UCI config → init enable → ✓ Ready ``` **Access Points:** - Admin Control: http://router/cgi-bin/luci/admin/secubox/admin/ - Documentation: http://router/luci-static/secubox/index-main.html - Demos: http://router/luci-static/secubox/demo-*.html 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |