packages/net/ddns-go/files/ddns-go.init
2025-01-25 12:12:15 +08:00

49 lines
1.2 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2023 ImmortalWrt.org
START=99
USE_PROCD=1
CONF="ddns-go"
YAML="/etc/$CONF/config.yaml"
PROG="/usr/bin/$CONF"
start_service() {
config_load "$CONF"
local enabled
config_get_bool enabled "config" "enabled" "0"
[ "$enabled" -eq "1" ] || return 1
local listen ttl dns noweb insecure
config_get listen "config" "listen" "[::]:9876"
config_get ttl "config" "ttl" "300"
config_get dns "config" "dns"
config_get_bool noweb "config" "noweb" "0"
config_get_bool insecure "config" "insecure" "0"
[ -d "${YAML%/*}" ] || mkdir -p "${YAML%/*}"
touch "$YAML"
chown ddns-go "${YAML%/*}"
chown ddns-go "$YAML"
procd_open_instance "$CONF"
procd_set_param command "$PROG"
procd_append_param command -c "$YAML"
procd_append_param command -l "$listen"
procd_append_param command -f "$ttl"
[ -z "$dns" ] || procd_append_param command -dns "$dns"
[ "$noweb" -eq "0" ] || procd_append_param command -noweb
[ "$insecure" -eq "0" ] || procd_append_param command -skipVerify
procd_set_param respawn
procd_set_param stderr 1
procd_set_param user ddns-go
procd_close_instance
}
service_triggers() {
procd_add_reload_trigger "$CONF"
}