dotfiles/config/tailscale/rc.tailscale

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