#!/bin/sh /etc/rc.common # netspeedtest init script START=95 STOP=15 USE_PROCD=1 PATH=/usr/bin:/bin:/usr/sbin:/sbin start_service() { START_IPERF3=$(uci get netspeedtest.config.iperf3_enabled 2>/dev/null || echo "0") START_HOMEBOX=$(uci get netspeedtest.config.homebox_enabled 2>/dev/null || echo "0") [ "$START_HOMEBOX" = "1" ] || return 0 port=$(uci get netspeedtest.config.homebox_port 2>/dev/null || echo "3300") procd_open_instance procd_set_param command /usr/bin/homebox serve --port "$port" procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn procd_close_instance } stop_service() { logger -t netspeedtest "Stopping homebox" ubus call service delete '{ "name": "netspeedtest" }' 2>/dev/null killall homebox 2>/dev/null || true local retries=5 while pidof homebox >/dev/null 2>&1 && [ $retries -gt 0 ]; do sleep 0.2 retries=$((retries-1)) done } service_triggers() { procd_add_reload_trigger "netspeedtest" } reload_service() { stop start } status() { START_HOMEBOX=$(uci get netspeedtest.config.homebox_enabled 2>/dev/null || echo "0") if [ "$START_HOMEBOX" != "1" ]; then return 3 fi _procd_status } boot() { sleep 2 start }