diff options
author | thnkman <thnkman@proton.me> | 2024-09-11 21:39:15 +0200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2024-09-12 09:49:56 +0700 |
commit | 6c3ffdbcb843d1cf9577be3b540a11197316fa69 (patch) | |
tree | 65ae76d979a48a2c8789549ca91af06112a75b08 /network/dnscrypt-proxy | |
parent | e896011a0d05575c277137e2f79d1028ecff2c38 (diff) |
network/dnscrypt-proxy: Replaced init, minor tweaks.
Removed redundant mkdir.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network/dnscrypt-proxy')
-rw-r--r-- | network/dnscrypt-proxy/dnscrypt-proxy.SlackBuild | 9 | ||||
-rw-r--r-- | network/dnscrypt-proxy/doinst.sh | 8 | ||||
-rw-r--r-- | network/dnscrypt-proxy/rc.dnscrypt-proxy | 155 |
3 files changed, 100 insertions, 72 deletions
diff --git a/network/dnscrypt-proxy/dnscrypt-proxy.SlackBuild b/network/dnscrypt-proxy/dnscrypt-proxy.SlackBuild index 8a49e50aa6352..78b134b2f18d6 100644 --- a/network/dnscrypt-proxy/dnscrypt-proxy.SlackBuild +++ b/network/dnscrypt-proxy/dnscrypt-proxy.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=dnscrypt-proxy VERSION=${VERSION:-2.1.5} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -91,14 +91,14 @@ find -L . \ mkdir -p $PKG/usr/bin \ $PKG/etc/{$PRGNAM,rc.d} \ - $PKG/var/{log,run}/$PRGNAM + $PKG/var/{log,run}/$PRGNAM \ + $PKG/usr/doc/$PRGNAM-$VERSION -cp -a ./*.txt $PKG/etc/$PRGNAM/ +cp -a ./*.txt $PKG/usr/doc/$PRGNAM-$VERSION/ install -D -m 0755 $PRGNAM $PKG/usr/bin/$PRGNAM install -D -m 0644 $CWD/$PRGNAM.toml $PKG/etc/$PRGNAM/$PRGNAM.toml install -D -m 0644 $CWD/rc.$PRGNAM $PKG/etc/rc.d/rc.$PRGNAM -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ LICENSE \ $PKG/usr/doc/$PRGNAM-$VERSION @@ -114,3 +114,4 @@ sed -i "s/DNSCRYPT_GID=.*$/DNSCRYPT_GID=$DNSCRYPT_GID/" $PKG/install/doinst.sh cd $PKG /sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE + diff --git a/network/dnscrypt-proxy/doinst.sh b/network/dnscrypt-proxy/doinst.sh index c6488756566f7..dac0de81fed62 100644 --- a/network/dnscrypt-proxy/doinst.sh +++ b/network/dnscrypt-proxy/doinst.sh @@ -11,8 +11,6 @@ PRGNAM=dnscrypt-proxy DNSCRYPT_UID=293 DNSCRYPT_GID=293 -chown $DNSCRYPT_UID:$DNSCRYPT_GID etc/$PRGNAM/* - -setfacl -m u:$DNSCRYPT_UID:rwx etc/$PRGNAM -setfacl -m u:$DNSCRYPT_UID:rwx var/run/$PRGNAM -setfacl -m u:$DNSCRYPT_UID:rwx var/log/$PRGNAM +setfacl -R -m u:$DNSCRYPT_UID:rwx etc/$PRGNAM +setfacl -R -m u:$DNSCRYPT_UID:rwx var/run/$PRGNAM +setfacl -R -m u:$DNSCRYPT_UID:rwx var/log/$PRGNAM diff --git a/network/dnscrypt-proxy/rc.dnscrypt-proxy b/network/dnscrypt-proxy/rc.dnscrypt-proxy index 49cd4dc9849cd..1813fdd5625af 100644 --- a/network/dnscrypt-proxy/rc.dnscrypt-proxy +++ b/network/dnscrypt-proxy/rc.dnscrypt-proxy @@ -1,76 +1,105 @@ #!/bin/sh - -# Init file for dnscrypt-proxy - -CONFDIR="/etc/dnscrypt-proxy" -LOGDIR="/var/log/dnscrypt-proxy" -RUNDIR="/var/run/dnscrypt-proxy" - -OPTS="-config $CONFDIR/dnscrypt-proxy.toml -pidfile $RUNDIR/dnscrypt-proxy.pid -logfile $LOGDIR/dnscrypt-proxy.log" - -PID=$(cat /var/run/dnscrypt-proxy/dnscrypt-proxy.pid 2>/dev/null) - +# +# rc.dnscrypt-proxy - Initscript for dnscrypt-proxy +# A flexible DNS proxy, with support for encrypted DNS protocols. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +PRGNAM=dnscrypt-proxy +USER=dnscrypt +CONFDIR=/etc/dnscrypt-proxy +LOGDIR=/var/log/dnscrypt-proxy +PIDFILE=/var/run/dnscrypt-proxy/dnscrypt-proxy.pid +OPTS="-config $CONFDIR/dnscrypt-proxy.toml" + +# Start dnscrypt-proxy start() { - echo "Starting DNSCrypt-proxy" - /usr/bin/dnscrypt-proxy $OPTS & + echo -e "\nStarting $PRGNAM..." + if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE" 2>/dev/null) 2>/dev/null; then + echo -e "$PRGNAM already up\n" + exit 1 + fi + "savelog -n -c 7 $LOGDIR/$PRGNAM.log" 2>/dev/null + $PRGNAM $OPTS 2>&1 & echo $! >"$PIDFILE" + if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then + echo -e "$PRGNAM started\n" + else + echo -e "$PRGNAM failed to start\n" + exit 1 + fi } +# Stop dnscrypt-proxy stop() { - echo "Stopping DNSCrypt-proxy" - -if [ -z $PID ]; then - echo "Not running" - exit 0 -fi - -if kill -15 $PID 2>/dev/null; then - echo "Stopped" - rm $RUNDIR/dnscrypt-proxy.pid 2>/dev/null -else - sleep 1 -if kill -9 $PID 2>/dev/null; then - echo "Killed" - rm $RUNDIR/dnscrypt-proxy.pid 2>/dev/null -else - echo "Error" - exit 1 -fi -fi + if [ -f "$PIDFILE" ]; then + if kill -0 $(cat "$PIDFILE") 2>/dev/null; then + echo -e "\nShutting down $PRGNAM...\n" + kill $(cat "$PIDFILE") + while kill -0 $(cat "$PIDFILE") 2>/dev/null; do + sleep 1 + done + rm -f "$PIDFILE" 2>/dev/null + else + echo -e "\n$PIDFILE exists, but $PRGNAM appears down\nMaking Sure..." + pkill -u "$USER" "$PRGNAM" + if [ $? -eq 0 ]; then + echo -e "$PRGNAM was killed\n" + else + echo -e "$PRGNAM was not running\n" + fi + echo -e "Removing $PIDFILE\n" + rm -f "$PIDFILE" + fi + else + echo -e "\n$PIDFILE not found. Trying 'pkill'" + pkill -u "$USER" "$PRGNAM" + if [ $? -eq 0 ]; then + echo -e "$PRGNAM was killed\n" + else + echo -e "$PRGNAM was not running\n" + fi + fi +} +# Restart dnscrypt-proxy +restart() { + stop && start } +# Check status of dnscrypt-proxy status() { - -if [ -z $PID ]; then - echo "Not running" - exit 0 -else - echo "Running" - exit 0 -fi - + if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE") 2>/dev/null; then + echo -e "\n$PRGNAM is up (PID: $(cat $PIDFILE))\n" + else + echo -e "\n$PRGNAM is down\n" + fi } +# Define options available case "$1" in - -start) - start - ;; - -stop) - stop -;; - -restart) - stop - sleep 3 - start -;; - -status) - status -;; - -*) - echo "Usage: $0 (start|stop|restart|status)" + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + status) + status + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 esac + +exit 0 |