stswangzhiping
dac68f78b4
fix: clawd-rfkill.service failed due to systemd $ expansion
...
systemd expands $rf as env var (empty), breaking the inline script.
Move rfkill logic to standalone script to avoid escaping issues.
Also use quoted heredoc to prevent bash expansion in install.sh.
Made-with: Cursor
2026-03-16 11:49:07 +08:00
stswangzhiping
8a6e5b3666
fix: dnsmasq path detection and WiFi rfkill persistence
...
- dns-hijack.js: replace `which` with multi-path search (/usr/sbin etc.)
since dnsmasq is often not in normal user PATH
- install.sh: auto-enable NetworkManager for WiFi provisioning
- install.sh: unblock WiFi rfkill at install time
- install.sh: create clawd-rfkill.service for persistent boot-time unlock
Made-with: Cursor
2026-03-16 10:06:30 +08:00
stswangzhiping
eb9f4ab1c3
feat: add WiFi provisioning for headless devices (AP + Captive Portal)
...
- Add lib/network.js: WiFi scan, connect, AP hotspot via nmcli
- Add lib/dns-hijack.js: dnsmasq management for DNS hijack + DHCP
- Add lib/captive-server.js: embedded HTTP captive portal with WiFi setup page
- Add lib/provisioning.js: orchestrator (detect network -> AP mode -> wait -> exit)
- Update client.js: call ensureNetwork() before WS connection
- Update install.sh: auto-install dnsmasq dependency
Made-with: Cursor
2026-03-16 08:58:51 +08:00
stswangzhiping
b3770d21d4
feat: add structured logging, process watchdog, and systemd hardening
...
- Add lib/logger.js: timestamped structured logging with 5MB x 5 file rotation
- Add lib/watchdog.js: generic child process supervisor with rate-limited restarts
- Enhance client.js: WS ping/pong liveness detection, uncaughtException/unhandledRejection handlers, systemd sd-notify integration
- Refactor frpc.js: FrpcManager now delegates to Watchdog instead of manual spawn/exit
- Enhance install.sh: environment file, log directory, systemd resource limits, security hardening, WatchdogSec=60
- Replace all console.log/warn/error with structured logger across modules
Made-with: Cursor
2026-03-16 07:31:19 +08:00
stswangzhiping
222c38a707
feat: initial clawd implementation - WebSocket daemon for claw box
...
Made-with: Cursor
2026-03-14 20:41:26 +08:00