mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
00ea6157e4
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
118 lines
2 KiB
Bash
118 lines
2 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Short-Description: Protect your privacy online and access media content with no regional restrictions. Strong encryption and no-log policy with 3000+ servers in 60+ countries.
|
|
### END INIT INFO
|
|
|
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
|
|
|
|
BASE=nordvpn
|
|
|
|
DAEMON=/usr/sbin/${BASE}d
|
|
PID=/var/run/$BASE.pid
|
|
SOCK=/run/$BASE/${BASE}d.sock
|
|
SOCKDIR=/run/$BASE
|
|
|
|
create_socket_dir() {
|
|
if [[ -d $SOCKDIR ]]; then
|
|
return
|
|
fi
|
|
mkdir -m 0770 $SOCKDIR
|
|
chown root:$BASE $SOCKDIR
|
|
}
|
|
|
|
checkuser() {
|
|
status=0
|
|
for u in $(who | awk '{print $1}' | sort | uniq)
|
|
do
|
|
if [ "$u" == "$1" ]; then
|
|
return 0
|
|
fi
|
|
done
|
|
return 1
|
|
}
|
|
#
|
|
# Function that starts the daemon
|
|
#
|
|
nordvpnd_start()
|
|
{
|
|
checkuser
|
|
create_socket_dir
|
|
rm -rf $SOCK
|
|
if [ -s $PID ]; then
|
|
echo "$BASE is already running: $(cat $PID)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -x $DAEMON ]; then
|
|
echo "Starting $BASE"
|
|
sleep 1
|
|
# $DAEMON start-stop-daemon --start --quiet -g "nordvpn" --pidfile $PID --exec $DAEMON
|
|
$DAEMON > /dev/null &
|
|
pidof $DAEMON > $PID
|
|
sleep 10
|
|
if [ -S "$SOCK" ]; then
|
|
echo "$BASE has been started."
|
|
else
|
|
echo "$BASE failed to start. Please restart the daemon."
|
|
fi
|
|
fi
|
|
}
|
|
|
|
#
|
|
# Function that stops the daemon
|
|
#
|
|
nordvpnd_stop()
|
|
{
|
|
if [ -s $PID ]; then
|
|
echo "Stopping $BASE"
|
|
sleep 1
|
|
kill $(cat $PID)
|
|
rm -rf $PID $SOCK
|
|
sleep 1
|
|
echo "$BASE has been stopped."
|
|
else
|
|
echo "$BASE is not running."
|
|
fi
|
|
}
|
|
|
|
#
|
|
# Function that restarts the daemon
|
|
#
|
|
nordvpnd_restart()
|
|
{
|
|
nordvpnd_stop
|
|
sleep 1
|
|
nordvpnd_start
|
|
}
|
|
|
|
#
|
|
# Function that shows the current status of the daemon
|
|
#
|
|
nordvpnd_status()
|
|
{
|
|
if [ -s $PID ]; then
|
|
echo "$BASE is running: $(cat $PID)"
|
|
else
|
|
echo "$BASE is not running."
|
|
fi
|
|
}
|
|
|
|
|
|
case "$1" in
|
|
start)
|
|
nordvpnd_start
|
|
;;
|
|
stop)
|
|
nordvpnd_stop
|
|
;;
|
|
restart)
|
|
nordvpnd_restart
|
|
;;
|
|
status)
|
|
nordvpnd_status
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|restart|status}"
|
|
exit 1
|
|
;;
|
|
esac
|