Skip to content

Instantly share code, notes, and snippets.

@alincc
Forked from unique1984/ovpn_autostart
Last active March 15, 2020 14:11
Show Gist options
  • Save alincc/bf3fb806c0f0119cbf6e55e7289afbe2 to your computer and use it in GitHub Desktop.
Save alincc/bf3fb806c0f0119cbf6e55e7289afbe2 to your computer and use it in GitHub Desktop.
ovpn_autostart
# get client 
scp domain.com:/root/ovpn/client.ovpn /root/ovpn/
# create script
sudo chmod +x /etc/init.d/ovpn_autostart
## edit 
sudo nano /etc/rc.local
### add lines
/etc/init.d/ovpn_autostart start

Install OpenVPN

sudo apt install openvpn
#!/bin/sh
OVPNCONF="/root/ovpn/client.ovpn"
RUNNING=$(ps aux | grep -o "openvpn \-\-config" | wc -l)
case "$1" in
start)
if [ $RUNNING -eq 0 ]; then
echo -n > /var/log/ovpn_autostart.log
nohup openvpn --config "$OVPNCONF" > /var/log/ovpn_autostart.log 2>&1 &
else
$0 restart
fi
;;
stop)
if [ $RUNNING -eq 1 ]; then
pid=$(ps aux | grep "openvpn \-\-config" | awk '{print $2}')
kill -9 $pid
unset pid
echo -n > /var/log/ovpn_autostart.log
fi
;;
restart)
echo "$0"
$0 stop
sleep 1
$0 start
;;
reload|force-reload)
$0 restart
;;
status)
if [ $RUNNING -eq 0 ]; then
echo -e "Closed\n"
else
echo -e "Active\n"
fi
;;
*)
exit 1
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment