#!/bin/sh # # /etc/rc.d/rc.piavpn # # Start/stop/restart Private Internet Access Daemon # PIA_BIN=/opt/piavpn/bin/pia-daemon PIA_LOG=/var/log/piavpn.log export LD_LIBRARY_PATH="/opt/piavpn/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" check_groups() { missing="" for grp in piavpn piahnsd; do if ! getent group "$grp" >/dev/null 2>&1; then missing="$missing $grp" fi done if [ -n "$missing" ]; then echo "Error: Missing required group(s):$missing" echo "Create them first, e.g.:" echo " # groupadd piavpn" echo " # groupadd piahnsd" echo echo "Then rerun: /etc/rc.d/rc.piavpn start" exit 1 fi } case "$1" in start) printf "Starting Private Internet Access daemon...\n" check_groups if [ -x "$PIA_BIN" ]; then "$PIA_BIN" >>"$PIA_LOG" 2>&1 & else echo "Error: $PIA_BIN not found or not executable." fi ;; stop) echo "Stopping Private Internet Access daemon..." pkill -f "$PIA_BIN" >/dev/null 2>&1 echo "piavpn stopped." ;; restart) $0 stop $0 start ;; status) if pidof pia-daemon >/dev/null 2>&1; then echo "piavpn is running (pid $(pidof pia-daemon))." else echo "piavpn is not running." fi ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac