#!/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