#!/bin/sh /etc/rc.common START=50 USE_PROCD=1 PROG=/usr/sbin/dnscrypt-proxy dnscrypt_instance() { local address port resolver resolvers_list ephemeral_keys client_key config_get address $1 'address' config_get port $1 'port' config_get resolver $1 'resolver' '' config_get resolvers_list $1 'resolvers_list' '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv' config_get_bool ephemeral_keys $1 'ephemeral_keys' '0' config_get client_key $1 'client_key' '' procd_open_instance procd_set_param command $PROG -u nobody -S procd_append_param command -a "$address:$port" procd_append_param command -L $resolvers_list [ -n "$resolver" ] && procd_append_param command -R $resolver [ $ephemeral_keys -eq 1 ] && procd_append_param command -E [ -n "$client_key" ] && procd_append_param command -K $client_key procd_close_instance } start_service() { config_load dnscrypt-proxy config_foreach dnscrypt_instance dnscrypt-proxy } service_triggers() { procd_add_reload_trigger 'dnscrypt-proxy' }