mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-08-01 23:19:33 +08:00
68 lines
1.4 KiB
Bash
Executable File
68 lines
1.4 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
START=85
|
|
STOP=30
|
|
USE_PROCD=1
|
|
PROG=/usr/bin/totd
|
|
|
|
validate_totd_section(){
|
|
uci_validate_section totd totd "${1}" \
|
|
'forwarder:list(string)' \
|
|
'prefix:list(ipaddr)' \
|
|
'port:uinteger' \
|
|
'interface:list(string)' \
|
|
'lookup:string' \
|
|
'stf_enable:bool'
|
|
}
|
|
|
|
totd(){
|
|
config_load 'totd'
|
|
local forwarder prefix port interface lookup stf_enable
|
|
validate_totd_section "$1" || {
|
|
logger -t "totd" "validation failed"
|
|
return 1
|
|
}
|
|
|
|
test -d /var/etc/ || mkdir -p /var/etc
|
|
|
|
{
|
|
[ -n "$forwarder" ] && {
|
|
for fa in $forwarder; do
|
|
echo "$fa" | awk -F [#] '{print "forwarder "$1" port "$2}'
|
|
done
|
|
}
|
|
[ -n "$prefix" ] && {
|
|
for pr in $prefix; do
|
|
echo "prefix $pr"
|
|
done
|
|
}
|
|
[ -n "$port" ] && echo "port $port"
|
|
[ -n "$interface" ] && echo "interfaces $interface"
|
|
[ -n "$lookup" ] && echo "$lookup reverse lookup"
|
|
[ -n "$stf_enable" -a "$stf_enable" = "1" ] && echo "stf"
|
|
} > /var/etc/totd.conf
|
|
procd_open_instance
|
|
procd_append_param command $PROG -c /var/etc/totd.conf
|
|
procd_set_param stdout 1
|
|
procd_set_param stderr 1
|
|
procd_set_param respawn
|
|
procd_close_instance
|
|
}
|
|
|
|
start_service(){
|
|
config_load 'totd'
|
|
config_foreach totd "totd"
|
|
}
|
|
|
|
stop_service(){
|
|
kill `pgrep -f $PROG` > /dev/null 2>&1
|
|
}
|
|
|
|
reload_service() {
|
|
restart
|
|
}
|
|
|
|
service_triggers() {
|
|
procd_add_reload_trigger "totd"
|
|
}
|