#!/bin/sh /etc/rc.common # SecuBox Mesh Daemon init script # CyberMind — SecuBox — 2026 START=95 STOP=10 USE_PROCD=1 PROG=/usr/sbin/secuboxd PIDFILE=/var/run/secuboxd/secuboxd.pid start_service() { config_load secubox local enabled config_get_bool enabled mesh enabled 1 [ "$enabled" -eq 0 ] && { echo "secuboxd is disabled" return 0 } # Create required directories mkdir -p /var/run/secuboxd mkdir -p /var/lib/secubox-mesh mkdir -p /var/log procd_open_instance secuboxd procd_set_param command "$PROG" --foreground procd_set_param respawn 3600 5 5 procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param pidfile "$PIDFILE" # Reload on network changes procd_set_param netdev br-lan wg0 procd_set_param file /etc/config/secubox procd_close_instance } stop_service() { # Clean up socket rm -f /var/run/secuboxd/topo.sock # Kill any remaining processes killall -q secuboxd 2>/dev/null } reload_service() { stop start } service_triggers() { procd_add_reload_trigger "secubox" "network" } status() { local pid pid=$(cat "$PIDFILE" 2>/dev/null) if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then echo "secuboxd is running (PID: $pid)" # Show quick status if [ -S /var/run/secuboxd/topo.sock ]; then echo "Socket: /var/run/secuboxd/topo.sock (active)" secuboxctl mesh status 2>/dev/null fi return 0 else echo "secuboxd is not running" return 1 fi }