First Commit
[librecmc/package-feed.git] / net / dnscrypt-proxy / files / dnscrypt-proxy.init
1 #!/bin/sh /etc/rc.common
2
3 START=50
4 USE_PROCD=1
5 PROG=/usr/sbin/dnscrypt-proxy
6
7 dnscrypt_instance() {
8         local address port resolver resolvers_list ephemeral_keys client_key
9
10         config_get      address        $1 'address'
11         config_get      port           $1 'port'
12         config_get      resolver       $1 'resolver' ''
13         config_get      resolvers_list $1 'resolvers_list' '/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv'
14         config_get_bool ephemeral_keys $1 'ephemeral_keys' '0'
15         config_get      client_key     $1 'client_key' ''
16
17         procd_open_instance
18         procd_set_param    command $PROG -u nobody -S
19         procd_append_param command -a "$address:$port"
20         procd_append_param command -L $resolvers_list
21         [ -n "$resolver" ] && procd_append_param command -R $resolver
22         [ $ephemeral_keys -eq 1 ] && procd_append_param command -E
23         [ -n "$client_key" ] && procd_append_param command -K $client_key
24         procd_close_instance
25 }
26
27 start_service() {
28         config_load dnscrypt-proxy
29         config_foreach dnscrypt_instance dnscrypt-proxy
30 }
31
32 service_triggers() {
33         procd_add_reload_trigger 'dnscrypt-proxy'
34 }