client2server 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/sh /etc/rc.common
  2. # Copyright (c) 2026 Luis Rosales - MIT License
  3. START=95
  4. STOP=10
  5. NAME=client2server
  6. PIDFILE="/var/run/${NAME}.pid"
  7. start() {
  8. logger -t "$NAME" -p user.info "Starting $NAME..."
  9. # Check config
  10. if [ ! -f /etc/config/client2server ]; then
  11. logger -t "$NAME" -p user.err "Config not found"
  12. exit 1
  13. fi
  14. # Check if enabled (simple check without /etc/functions.sh)
  15. local enabled=$(uci get client2server.general.enabled 2>/dev/null)
  16. if [ "$enabled" = "0" ]; then
  17. logger -t "$NAME" -p user.info "Disabled in config"
  18. exit 0
  19. fi
  20. # Make sure Lua script is executable
  21. chmod +x /usr/sbin/client2server-unified.lua 2>/dev/null
  22. # Start the Lua script with lua interpreter
  23. lua /usr/sbin/client2server-unified.lua &
  24. echo $! > $PIDFILE
  25. logger -t "$NAME" -p user.info "Started with PID $(cat $PIDFILE)"
  26. }
  27. stop() {
  28. if [ -f $PIDFILE ]; then
  29. local pid=$(cat $PIDFILE)
  30. kill -TERM $pid 2>/dev/null
  31. rm -f $PIDFILE
  32. logger -t "$NAME" -p user.info "Stopped"
  33. fi
  34. }
  35. reload() {
  36. stop
  37. sleep 1
  38. start
  39. }