123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #!/sbin/openrc-run
- # Copyright 1999-2014 Gentoo Foundation
- # Distributed under the terms of the GNU General Public License v2
- DNSCRYPT_LOGFILE=${DNSCRYPT_LOGFILE:-/var/log/dnscrypt-proxy.log}
- DNSCRYPT_RESOLVERS_LIST=${DNSCRYPT_RESOLVERS_LIST:-/usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv}
- rundir=${rundir:-/var/run/dnscrypt-proxy}
- pidfile=${pidfile:-${rundir}/dnscrypt-proxy.pid}
- rundir=${rundir:-/var/run/dnscrypt-proxy}
- runas_user=${runas_user:-dnscrypt}
- runas_group=${runas_user:-dnscrypt}
- depend() {
- use net
- before dns
- after logger
- }
- start() {
- if [ ! -d "${rundir}" ]; then
- mkdir "${rundir}"
- if [ -n "${runas_user}" ]; then
- touch "${DNSCRYPT_LOGFILE}"
- chown ${runas_user}:${runas_group} "${DNSCRYPT_LOGFILE}"
- chown -R ${runas_user}:${runas_group} "${rundir}"
- fi
- fi
- if [ -n "$DNSCRYPT_RESOLVER_NAME" -a -n "$DNSCRYPT_RESOLVERIP" ]; then
- eerror "You must set exactly one of DNSCRYPT_RESOLVER_NAME or DNSCRYPT_RESOLVERIP!"
- return 1
- elif [ -n "$DNSCRYPT_RESOLVER_NAME" ]; then
- resolver_opts="--resolvers-list=${DNSCRYPT_RESOLVERS_LIST} --resolver-name=${DNSCRYPT_RESOLVER_NAME}"
- elif [ -n "$DNSCRYPT_RESOLVERIP" ]; then
- resolver_opts="--resolver-address=${DNSCRYPT_RESOLVERIP}:${DNSCRYPT_RESOLVERPORT} --provider-name=${DNSCRYPT_PROVIDER_NAME} --provider-key=${DNSCRYPT_PROVIDER_KEY}"
- else
- eerror "You must set exactly one of DNSCRYPT_RESOLVER_NAME or DNSCRYPT_RESOLVERIP!"
- return 1
- fi
- ebegin "Starting dnscrypt-proxy"
- start-stop-daemon --start --quiet \
- --exec /usr/sbin/dnscrypt-proxy \
- -- \
- ${DNSCRYPT_OPTIONS} \
- --pidfile="${pidfile}" \
- --logfile="${DNSCRYPT_LOGFILE}" \
- --daemonize --user=${runas_user} \
- --local-address=${DNSCRYPT_LOCALIP}:${DNSCRYPT_LOCALPORT} \
- $resolver_opts
- eend $?
- }
- stop() {
- ebegin "Stopping dnscrypt-proxy"
- start-stop-daemon --stop --quiet --exec /usr/sbin/dnscrypt-proxy
- eend $?
- }
|