Commit Graph

241 Commits

Author SHA1 Message Date
d1346aae0e fix(netdata-dashboard): add missing API methods and aliases
- Added getAllData() method to fetch all system stats in one call
- Added getCpu() alias for getCPU() for consistency with view expectations
- getAllData() returns a combined object with stats, cpu, memory, disk, network, processes, and system data

This resolves "API.getAllData is not a function" and "API.getCpu is not a function" errors
by ensuring the API exports match what the views are calling.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 11:04:52 +01:00
8b0d75a8d9 fix(netdata-dashboard): correct API module imports in all views
- Changed from 'require netdata-dashboard.api as api' to 'require netdata-dashboard/api as API'
- Updated all api. references to API. in realtime.js, system.js, network.js, and processes.js
- Resolves "api.getAllData is not a function" and "api.getCpu is not a function" errors

The dot notation (netdata-dashboard.api) doesn't work with LuCI's module loader.
The correct syntax uses slash (netdata-dashboard/api) and follows the convention
of uppercase API for consistency with other modules.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 11:03:14 +01:00
d97fff3b9e fix(netdata-dashboard): add missing RPC methods to ACL
- Added seccubox_logs to read permissions
- Added collect_debug to read permissions
- Resolves "Access denied" error for seccubox_logs endpoint

Note: The method name has a typo (seccubox instead of secubox) but
keeping it for consistency with the existing RPC handler implementation.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 10:59:13 +01:00
c8b261ea5a fix(client-guardian): correct API module imports in logs and alerts views
- Changed from L.require('client-guardian.api') to 'require client-guardian/api as API'
- Updated all api. references to API. in both files
- Resolves "api.getLogs is not a function" and "api.getAlerts is not a function" errors

The L.require() pattern doesn't work properly with async module loading in LuCI.
Using the proper 'require' directive ensures the module is loaded correctly.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 10:56:53 +01:00
829aa1d399 fix(client-guardian): add missing uci module import in settings.js
- Added 'require uci' to fix "uci is not defined" error
- Ensures UCI configuration can be loaded properly

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 09:33:55 +01:00
36aea4ffbd fix(client-guardian): correct RPC namespace and add missing ACL methods
- Fixed RPC namespace from "client-guardian" to "luci.client-guardian"
- Added missing read methods: get_client, list_sessions, get_policy
- Added missing write methods: set_policy, authorize_client, deauthorize_client
- Resolves "Access denied" errors for zones and other endpoints

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 09:32:17 +01:00
9177bbbfdf fix(client-guardian): correct API method names in all views
Fixed inconsistency between API method declarations and their usage.
The api.js exports methods with names like getClients, getStatus, etc.
but views were calling them as callClients, callStatus, etc.

Changes across 7 view files:
- api.callStatus() → api.getStatus()
- api.callClients() → api.getClients()
- api.callZones() → api.getZones()
- api.callGetAlerts() → api.getAlerts()
- api.callGetLogs() → api.getLogs()
- api.callParental() → api.getParental()
- api.callPortal() → api.getPortal()
- api.callApproveClient() → api.approveClient()
- api.callUpdateClient() → api.updateClient()
- api.callBanClient() → api.banClient()
- api.callQuarantineClient() → api.quarantineClient()
- api.callSendTestAlert() → api.sendTestAlert()
- api.callUpdatePortal() → api.updatePortal()
- api.callUpdateZone() → api.updateZone()

This fixes TypeError: api.callClients is not a function errors.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 09:26:47 +01:00
9cee74064c fix: properly disable lucihttp and cgi-io in SDK config
The previous config used commented-out format which didn't actually
disable the packages, causing them to be built and fail.

Changes:
- Changed from: echo "# CONFIG_PACKAGE_lucihttp is not set"
- Changed to:   echo "CONFIG_PACKAGE_lucihttp=n"
- Same for cgi-io
- Added CONFIG_BROKEN=y to allow missing dependencies

This matches the local-build.sh approach and prevents SDK from trying
to compile these problematic packages that our scripts don't need.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-31 06:09:21 +01:00
1684d9d9e7 chore: set OpenWrt 24.10.5 as default version in GitHub Actions
Changed default OpenWrt version from 25.12.0-rc1 to 24.10.5 to match
local-build.sh configuration and ensure stable builds by default.

Changes in both workflows:
- build-openwrt-packages.yml: default and env fallback
- build-secubox-images.yml: default and env fallback
- Reordered options to show 24.10.5 first

Users can still manually select other versions when triggering workflows.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 22:03:42 +01:00
ee97a781ee fix: enable secubox-app and luci-theme-secubox in SDK config
The packages were being copied to the SDK but not enabled in .config,
causing no artifacts to be generated for these packages.

Changes:
- Add CONFIG_PACKAGE_secubox-app=m to SDK .config
- Add CONFIG_PACKAGE_luci-theme-secubox=m to SDK .config

This ensures both packages are built when running the package build workflow.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 22:00:08 +01:00
67a9f62c45 chore: sync claude settings 2025-12-30 21:43:51 +01:00
3207cb7588 fix: sync GitHub Actions workflows with local-build.sh config
Critical fixes to align CI/CD with local build configuration:

Package Build Workflow (build-openwrt-packages.yml):
- Add secubox-app to package list and build logic
- Add luci-theme-secubox to package list and build logic
- Extend artifact collection for both new packages
- Update package listing in build logs

Firmware Build Workflow (build-secubox-images.yml):
- Add secubox-app to SecuBox core packages
- Add luci-theme-secubox to base packages
- Fix dnsmasq package conflict (disable dnsmasq, enable dnsmasq-full)
- Disable 8 problematic packages that cause compilation failures:
  * crowdsec, crowdsec-firewall-bouncer (require backend compilation)
  * luci-app-crowdsec-dashboard (requires Go 1.23+)
  * netdata, netifyd (compilation issues)
  * luci-app-auth-guardian (not stable)
  * luci-app-ksm-manager (not stable)
  * luci-app-traffic-shaper (not stable)
- Extend package copy logic for secubox-app and theme

Impact:
- Prevents dnsmasq package conflict build failures
- Prevents compilation errors from unstable packages
- Ensures secubox-app CLI tool is included in builds
- Ensures cyberpunk theme is included in builds
- Package count now matches: GitHub Actions (13) = local-build.sh (13)
- 100% configuration alignment achieved

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 20:17:25 +01:00
8e4ebeb2d5 chore: update local build tooling 2025-12-30 19:28:20 +01:00
154dbcb948 fix(secubox-app): jsonfilter compatibility 2025-12-30 17:35:53 +01:00
c40c5e8dbc chore: sync luCI modules 2025-12-30 17:17:12 +01:00
0beb9620d4 fix(system-hub): patch diagnostics regression 2025-12-30 16:53:59 +01:00
22e0bc9272 feat(system-hub): extend diagnostics + tests 2025-12-30 16:21:37 +01:00
eeaa0d2f37 fix(bandwidth/traffic-shaper): sync wizard permissions 2025-12-30 15:15:01 +01:00
4c70874fff feat(netifyd/network-modes): add wizard views 2025-12-30 15:11:32 +01:00
280dd91798 release: bump secubox hub to 0.6.1-0 2025-12-30 14:42:45 +01:00
6f115a3cf3 chore: remove legacy secubox-app symlinks 2025-12-30 13:23:30 +01:00
1972099808 docs: add app store spec and sync tooling 2025-12-30 13:14:44 +01:00
72b4a93971 feat(nodogsplash): add secubox wrapper and drop legacy package 2025-12-30 13:11:36 +01:00
029b1796d4 feat(crowdsec): add secubox-app daemon 2025-12-30 13:00:59 +01:00
559e5d40ea feat(crowdsec): refresh dashboard & add WAF view 2025-12-30 12:33:48 +01:00
d71fef2e4e feat(mqtt-bridge): sync latest UI updates 2025-12-30 10:13:14 +01:00
e4c9ec0237 feat(appstore): add normalized catalog manifests 2025-12-30 08:48:41 +01:00
7179d71a6c fix(theme): revert bootstrap helper 2025-12-29 22:38:50 +01:00
9cc3924856 fix(traffic-shaper): ensure network module loaded 2025-12-29 22:30:13 +01:00
b8a7f83cb0 chore: align modules with secubox theme v0.4 2025-12-29 22:13:38 +01:00
88958eef88 mark secubox packages arch-independent 2025-12-29 21:58:50 +01:00
92eff5aad7 refactor secubox app packaging and theme 2025-12-29 21:57:12 +01:00
06ac101e5a Fix MQTT bridge controller path entries 2025-12-29 19:39:32 +01:00
fde18de048 Add nodogsplash package for firmware builds 2025-12-29 18:56:29 +01:00
7b043850fe Add GitHub Pages documentation site 2025-12-29 18:25:48 +01:00
2000265646 domoticz: add docker app manifest and docs 2025-12-29 17:34:26 +01:00
8aa3d3d3e5 lyrion: add docker app manifest and docs 2025-12-29 17:30:43 +01:00
da8eeb27ca lxc: add foundational CLI and docs 2025-12-29 17:25:47 +01:00
3c0003614d profiles: add presets and wizard integration 2025-12-29 17:22:34 +01:00
eab24f9609 secubox: add first-run and app wizards 2025-12-29 17:14:04 +01:00
7c5ad8e53d app-store: add manifest registry and CLI 2025-12-29 17:02:20 +01:00
33dcb35ddc network-modes: add DMZ mode and docs 2025-12-29 16:58:18 +01:00
baab096876 vhost-manager: add CLI helper and docs 2025-12-29 16:49:10 +01:00
8134e6b852 zigbee2mqtt: add installer checks in LuCI 2025-12-29 16:46:10 +01:00
9d14dc7fec zigbee2mqtt: enhance installer and add docs 2025-12-29 16:42:25 +01:00
ab2a78e53e luci-app-mqtt-bridge: drop unused mqtt-client dep 2025-12-29 16:32:41 +01:00
9cdbb21a99 luci-app-vhost-manager: migrate to vhosts config 2025-12-29 16:31:18 +01:00
40e937a919 feat: add luci interface for zigbee2mqtt 2025-12-29 15:55:12 +01:00
ec81952db1 feat: bootstrap zigbee2mqtt app and diagnostics 2025-12-29 15:51:07 +01:00
d566a84dda feat: theme-aligned monitoring and seccubox logs 2025-12-29 15:41:13 +01:00