feat: GL kit-connect ipk + one-button wizard + web dashboard for both platforms

Synology kit-connect (SPK):
- wizard.sh — one-button Keylink IT fleet setup (auto-runs on install)
- www/index.html — dark-themed local dashboard (same design as busrouter)
- bin/serve-dashboard.sh — busybox httpd on port 8089 with CGI endpoints
- start-stop-status updated to manage dashboard alongside daemon
- INFO updated: RT2600ac + RT6600ax compatibility noted
- postinst now runs wizard --auto for first-time setup

GL kit-connect (OpenWrt ipk):
- Makefile — DEPENDS: +curl +openssh-client +tailscale
- procd init — USE_PROCD=1, respawn with 5s delay
- connect-daemon.sh — Tailscale + reverse SSH (same as Synology version)
- connect-wizard.sh — one-button setup, idempotent, UCI config
- connect-register.sh — standalone hub registration
- www/kitconnect/index.html — dark-themed dashboard with wizard button
- www/kitconnect/wizard.cgi — web-triggered wizard endpoint
- UCI config at /etc/config/kitconnect

Both platforms share: same hub protocol, same Tailscale key, same port pool.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 03:10:32 +00:00
parent 0c68fb2461
commit 52e7e478e4
16 changed files with 1241 additions and 77 deletions
@@ -0,0 +1,26 @@
config kitconnect 'main'
# ── Device Identity ────────────────────────────────────
option device_id ''
# Auto-detected from /etc/busrouter/device-id or hostname
# ── Hub Registration ────────────────────────────────────
option hub_host '162.243.83.36'
option hub_port '8080'
# ── Reverse SSH Tunnel ──────────────────────────────────
option tunnel_enable '1'
option tunnel_remote_host '162.243.83.36'
option tunnel_remote_user 'node'
option tunnel_remote_ssh_port '22'
option tunnel_remote_port '0' # 0 = auto-assign via hub
option tunnel_local_port '2223'
option tunnel_retry_delay '30'
# ── Tailscale ──────────────────────────────────────────
option tailscale_enable '1'
option tailscale_auth_key 'tskey-auth-kJz8wqNVo211CNTRL-GNL5EFjp5aWQcaWPSVn2aW9TNworKUNBV'
option tailscale_hostname ''
# ── Behaviour ──────────────────────────────────────────
option watchdog_interval '60'
option forward_fail_limit '2'