Skip to content

Instantly share code, notes, and snippets.

@socketz
Last active June 12, 2019 19:42
Show Gist options
  • Save socketz/4751b7bcb24eaa2eaf5a72060927587e to your computer and use it in GitHub Desktop.
Save socketz/4751b7bcb24eaa2eaf5a72060927587e to your computer and use it in GitHub Desktop.
Comfortable script for connecting to HackTheBox OpenVPN (alternative to GUI tools)
#!/bin/bash
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
if [ -f $DIR/ovpn.pid ]; then
OPID=$(cat $DIR/ovpn.pid);
PROGRAM=$(ps -p $OPID | awk 'NR>1 {print $4}')
if [ ! -z $PROGRAM ]; then
kill -15 $OPID;
rm $DIR/ovpn.pid;
echo 'Disconnected from VPN'
fi
fi
openvpn --log $DIR/ovpn.log --config $DIR/socketz.ovpn &
echo $! > $DIR/ovpn.pid
echo "NEW PID: " $(cat $DIR/ovpn.pid)
#!/bin/bash
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
if [ -f $DIR/ovpn.pid ]; then
OPID=$(cat $DIR/ovpn.pid);
PROGRAM=$(ps -p $OPID | awk 'NR>1 {print $4}')
if [ ! -z $PROGRAM ]; then
kill -15 $OPID;
rm $DIR/ovpn.pid;
echo 'Disconnected from VPN'
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment