small-package/ddnsto/files/ddnsto.init

45 lines
1022 B
Plaintext
Raw Normal View History

2021-09-08 15:15:02 +08:00
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
get_config() {
2022-06-20 20:22:04 +08:00
config_get_bool enabled $1 enabled 1
config_get_bool logger $1 logger 0
config_get token $1 token
config_get index $1 index 0
2022-08-15 20:21:08 +08:00
config_get_bool feat_enabled $1 feat_enabled 1
}
ddnsto_prepare() {
2022-08-18 20:24:09 +08:00
killall ddnstod 2>/dev/null
killall ddwebdav 2>/dev/null
}
stop_service() {
ddnsto_prepare
2021-09-08 15:15:02 +08:00
}
start_service() {
2022-08-15 20:21:08 +08:00
ddnsto_prepare
2022-06-20 20:22:04 +08:00
config_load ddnsto
config_foreach get_config ddnsto
2022-08-15 20:21:08 +08:00
if [ $enabled != 1 ]; then
return 1
fi
2022-06-20 20:22:04 +08:00
if [ -z "$token" ]; then
logger -t ddnsto -p warn "token not set"
return 1
fi
2022-08-15 20:21:08 +08:00
2022-06-20 20:22:04 +08:00
procd_open_instance
2022-08-15 20:21:08 +08:00
procd_set_param command /usr/sbin/ddnstod -u "$token" -x $index -F
2022-06-20 20:22:04 +08:00
[ "$logger" == 1 ] && procd_set_param stderr 1
procd_set_param respawn
procd_close_instance
2021-09-08 15:15:02 +08:00
}
2022-03-16 20:33:57 +08:00
service_triggers() {
2022-06-20 20:22:04 +08:00
procd_add_reload_trigger "ddnsto"
2022-08-15 20:21:08 +08:00
}