secubox-openwrt/DEPLOY_UPDATES.md
CyberMind-FR adfeed60e2 docs: Add automated deployment script and documentation
Add comprehensive deployment automation for SecuBox AppStore updates:

- deploy-to-router.sh: Automated build and deploy script
  - Rebuilds packages
  - Copies to router
  - Installs with --force-reinstall
  - Restarts RPCD
  - Verifies installation
  - Tests RPC methods

- DEPLOY_UPDATES.md: Complete deployment documentation
  - Quick deploy instructions
  - Verification steps
  - Troubleshooting guide
  - Package version tracking

Usage:
  ./deploy-to-router.sh

Or with custom router IP:
  ROUTER_IP=192.168.1.1 ./deploy-to-router.sh
2026-01-04 14:42:34 +01:00

135 lines
3.4 KiB
Markdown

# Deploy SecuBox AppStore Updates
## Quick Deploy (All Packages)
```bash
# 1. Rebuild all affected packages
cd /home/reepost/CyberMindStudio/_files/secubox-openwrt
./secubox-tools/local-build.sh secubox-core luci-app-secubox-admin
# 2. Copy packages to router
scp bin/packages/x86_64/secubox/secubox-core_*.ipk \
bin/packages/x86_64/secubox/luci-app-secubox-admin_*.ipk \
root@192.168.8.191:/tmp/
# 3. Install on router
ssh root@192.168.8.191 << 'ENDSSH'
# Install packages (force-reinstall to update)
opkg install --force-reinstall /tmp/secubox-core_*.ipk
opkg install --force-reinstall /tmp/luci-app-secubox-admin_*.ipk
# Restart RPCD to reload ACLs
/etc/init.d/rpcd restart
# Verify ACL file is in place
ls -l /usr/share/rpcd/acl.d/luci-app-secubox-admin.json
echo "Installation complete!"
ENDSSH
# 4. Clear browser cache and reload
# - Press Ctrl+Shift+R in browser
# - Or clear cache manually in browser settings
```
## Verify Installation
On the router:
```bash
# Check installed versions
opkg list-installed | grep secubox
# Verify ACL file contents
cat /usr/share/rpcd/acl.d/luci-app-secubox-admin.json
# Test RPC methods directly
ubus -S call luci.secubox get_catalog_sources
ubus -S call luci.secubox check_updates
```
## What Was Fixed
### ACL Permissions Added
**Read permissions** (5 new methods):
- `get_catalog_sources`
- `check_updates`
- `get_app_versions`
- `get_changelog`
- `get_widget_data`
**Write permissions** (2 new methods):
- `set_catalog_source`
- `sync_catalog`
**UCI access**:
- `secubox-appstore` config
### Package Versions
- `secubox-core`: 0.8.0-6
- `luci-app-secubox-admin`: 1.0.0-4
### Recent Fixes
**v1.0.0-4** (Latest):
- Fixed WidgetRenderer undefined options TypeError
- Added defensive check: `options = options || {};`
**v1.0.0-3**:
- Added ACL permissions for new RPC methods
- Added UCI access to `secubox-appstore` config
## Troubleshooting
### Still Getting "Access Denied"?
1. **Verify ACL file was installed**:
```bash
ssh root@192.168.8.191 "cat /usr/share/rpcd/acl.d/luci-app-secubox-admin.json | grep get_catalog_sources"
```
Should show the method name in the file.
2. **Check RPCD is running**:
```bash
ssh root@192.168.8.191 "ps | grep rpcd"
```
3. **Restart RPCD**:
```bash
ssh root@192.168.8.191 "/etc/init.d/rpcd restart"
```
4. **Check for ACL conflicts**:
```bash
ssh root@192.168.8.191 "grep -r 'luci.secubox' /usr/share/rpcd/acl.d/"
```
5. **Clear browser cache completely**:
- Close all browser windows
- Clear cache and cookies for router IP
- Reopen browser
### Test Individual Methods
```bash
# On router, test each method:
ubus -S call luci.secubox get_catalog_sources
ubus -S call luci.secubox check_updates
ubus -S call luci.secubox get_app_versions '{"app_id":"luci-app-auth-guardian"}'
ubus -S call luci.secubox get_changelog '{"app_id":"luci-app-auth-guardian"}'
ubus -S call luci.secubox get_widget_data '{"app_id":"luci-app-auth-guardian"}'
```
If these work via `ubus` but not in browser, it's a browser cache issue.
## Files Changed in This Update
1. `/usr/share/rpcd/acl.d/luci-app-secubox-admin.json` - ACL permissions
2. `/usr/libexec/rpcd/luci.secubox` - RPCD methods (already has the methods from Phase 2)
3. `/usr/sbin/secubox-catalog-sync` - New sync script
4. `/usr/sbin/secubox-appstore` - Enhanced CLI
5. `/etc/config/secubox-appstore` - New UCI config
6. All new LuCI views and widget system files