diff options
Diffstat (limited to 'net/https-dns-proxy/files/https_dns_proxy.init')
| -rw-r--r-- | net/https-dns-proxy/files/https_dns_proxy.init | 50 |
1 files changed, 24 insertions, 26 deletions
diff --git a/net/https-dns-proxy/files/https_dns_proxy.init b/net/https-dns-proxy/files/https_dns_proxy.init index 9a5f79792..645c17aa4 100644 --- a/net/https-dns-proxy/files/https_dns_proxy.init +++ b/net/https-dns-proxy/files/https_dns_proxy.init @@ -1,39 +1,37 @@ #!/bin/sh /etc/rc.common START=80 - USE_PROCD=1 -PROG=/usr/sbin/https_dns_proxy - -start_instance() { - local cfg="$1" - local listen_addr listen_port user group - config_get listen_addr "$cfg" listen_addr - config_get listen_port "$cfg" listen_port - config_get user "$cfg" user - config_get group "$cfg" group - config_get subnet_addr "$cfg" subnet_addr - config_get proxy_server "$cfg" proxy_server - config_get url_prefix "$cfg" url_prefix +PROG=/usr/sbin/https_dns_proxy - if [ -n "$subnet_addr" ]; then - subnet_param="-e $subnet_addr" - fi +xappend() { param="$param $1"; } + +append_parm() { + local section="$1" + local option="$2" + local switch="$3" + local default="$4" + local _loctmp + config_get _loctmp "$section" "$option" "$default" + [ -z "$_loctmp" ] && return 0 + xappend "$switch $_loctmp" +} - if [ -n "$proxy_server" ]; then - proxy_param="-t $proxy_server" - fi +start_instance() { + local cfg="$1" param - if [ -z "$url_prefix" ]; then - url_prefix="https://dns.google.com/resolve?" - fi + append_parm "$cfg" 'listen_addr' '-a' '127.0.0.1' + append_parm "$cfg" 'listen_port' '-p' '5053' + append_parm "$cfg" 'bootstrap_dns' '-b' + append_parm "$cfg" 'url_prefix' '-r' + append_parm "$cfg" 'user' '-u' 'nobody' + append_parm "$cfg" 'group' '-g' 'nogroup' + append_parm "$cfg" 'subnet_addr' '-e' + append_parm "$cfg" 'proxy_server' '-t' procd_open_instance - procd_set_param command ${PROG} \ - -a "$listen_addr" -p "$listen_port" \ - -u "$user" -g "$group" $subnet_param $proxy_param \ - -r "$url_prefix" + procd_set_param command ${PROG} ${param} procd_set_param respawn procd_close_instance } |
