Add 4 new packages implementing unified device intelligence and DNS provider API management: - secubox-app-dns-provider: dnsctl CLI with OVH, Gandi, Cloudflare adapters for DNS record CRUD, HAProxy vhost sync, propagation verification, and ACME DNS-01 wildcard certificate issuance - luci-app-dns-provider: RPCD handler + LuCI views for provider settings and DNS record management - secubox-app-device-intel: Aggregation layer merging mac-guardian, client-guardian, DHCP, P2P mesh, and exposure data with heuristic classification engine and USB/MQTT/Zigbee emulator modules - luci-app-device-intel: RPCD handler + 5 LuCI views (dashboard, devices, emulators, mesh, settings) with shared API and CSS Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.6 KiB
2.6 KiB
secubox-app-dns-provider — Setup Instructions
Build
# Sync to local feed
rsync -av --delete package/secubox/secubox-app-dns-provider/ secubox-tools/local-feed/secubox-app-dns-provider/
rsync -av --delete package/secubox/luci-app-dns-provider/ secubox-tools/local-feed/luci-app-dns-provider/
# Build
./secubox-tools/local-build.sh build secubox-app-dns-provider
./secubox-tools/local-build.sh build luci-app-dns-provider
Quick Deploy (Development)
# Backend scripts
scp package/secubox/secubox-app-dns-provider/files/usr/sbin/dnsctl root@192.168.255.1:/usr/sbin/
scp package/secubox/secubox-app-dns-provider/files/usr/lib/secubox/dns/*.sh root@192.168.255.1:/usr/lib/secubox/dns/
scp package/secubox/secubox-app-dns-provider/files/etc/config/dns-provider root@192.168.255.1:/etc/config/
# Make dnsctl executable
ssh root@192.168.255.1 'chmod +x /usr/sbin/dnsctl'
# RPCD + LuCI
scp package/secubox/luci-app-dns-provider/root/usr/libexec/rpcd/luci.dns-provider root@192.168.255.1:/usr/libexec/rpcd/
chmod +x on router: ssh root@192.168.255.1 'chmod +x /usr/libexec/rpcd/luci.dns-provider'
scp package/secubox/luci-app-dns-provider/root/usr/share/luci/menu.d/luci-app-dns-provider.json root@192.168.255.1:/usr/share/luci/menu.d/
scp package/secubox/luci-app-dns-provider/root/usr/share/rpcd/acl.d/luci-app-dns-provider.json root@192.168.255.1:/usr/share/rpcd/acl.d/
scp package/secubox/luci-app-dns-provider/htdocs/luci-static/resources/view/dns-provider/*.js root@192.168.255.1:/www/luci-static/resources/view/dns-provider/
# Restart + clear cache
ssh root@192.168.255.1 '/etc/init.d/rpcd restart && rm -f /tmp/luci-indexcache* /tmp/luci-modulecache/*'
Configuration
# Set provider (ovh, gandi, cloudflare)
uci set dns-provider.main.provider='ovh'
uci set dns-provider.main.zone='example.com'
uci set dns-provider.main.enabled='1'
# OVH credentials (from api.ovh.com/createToken)
uci set dns-provider.ovh.endpoint='ovh-eu'
uci set dns-provider.ovh.app_key='YOUR_APP_KEY'
uci set dns-provider.ovh.app_secret='YOUR_APP_SECRET'
uci set dns-provider.ovh.consumer_key='YOUR_CONSUMER_KEY'
# OR Gandi
uci set dns-provider.gandi.api_key='YOUR_PAT_TOKEN'
# OR Cloudflare
uci set dns-provider.cloudflare.api_token='YOUR_API_TOKEN'
uci set dns-provider.cloudflare.zone_id='YOUR_ZONE_ID'
uci commit dns-provider
Testing
dnsctl status # Verify config
dnsctl test # Test API credentials
dnsctl list # List zone records
dnsctl add A test 1.2.3.4 # Create test record
dnsctl verify test.example.com # Check propagation
dnsctl rm A test # Cleanup