small-packages/luci-app-netspeedtest/root/etc/init.d/netspeedtest
2026-05-10 09:48:30 +08:00

65 lines
1.3 KiB
Bash

#!/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
}