46 lines
1.2 KiB
Bash
Executable file
46 lines
1.2 KiB
Bash
Executable file
#!/bin/bash
|
|
# rc.tailscale - Tailscale VPN daemon for Slackware
|
|
|
|
TAILSCALED=/usr/sbin/tailscaled
|
|
STATEDIR=/var/lib/tailscale
|
|
PIDFILE=/var/run/tailscaled.pid
|
|
|
|
start() {
|
|
if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then
|
|
echo "tailscaled is already running"
|
|
return
|
|
fi
|
|
echo "Starting tailscaled..."
|
|
$TAILSCALED --state=$STATEDIR/tailscaled.state \
|
|
--socket=/var/run/tailscale/tailscaled.sock \
|
|
--port=41641 \
|
|
&>/var/log/tailscaled.log &
|
|
echo $! > $PIDFILE
|
|
echo "tailscaled started (pid $(cat $PIDFILE))"
|
|
}
|
|
|
|
stop() {
|
|
if [ -f "$PIDFILE" ]; then
|
|
echo "Stopping tailscaled..."
|
|
kill "$(cat $PIDFILE)" 2>/dev/null
|
|
rm -f "$PIDFILE"
|
|
else
|
|
echo "tailscaled is not running"
|
|
fi
|
|
}
|
|
|
|
status() {
|
|
if [ -f "$PIDFILE" ] && kill -0 "$(cat $PIDFILE)" 2>/dev/null; then
|
|
echo "tailscaled is running (pid $(cat $PIDFILE))"
|
|
else
|
|
echo "tailscaled is not running"
|
|
fi
|
|
}
|
|
|
|
case "$1" in
|
|
start) start ;;
|
|
stop) stop ;;
|
|
restart) stop; sleep 1; start ;;
|
|
status) status ;;
|
|
*) echo "Usage: $0 {start|stop|restart|status}" ;;
|
|
esac
|