#!/usr/bin/env bash # Script to select a random VPN client from /etc/openvpn/client/ (the default openvpn directory) # remember that openvpn profiles in /etc/openvpn/client/ need to be in the format profile.conf # Example: hk-04.conf workdir="/etc/openvpn/client/" isopenvpn=$(command -v openvpn > /dev/null) issystemd=$(command -v systemctl > /dev/null) if [ $UID -ne 0 ]; then echo "You need root privileges." exit fi if [ ! -z $isopenvpn ] || [ ! -z $issystemd ]; then echo "OpenVPN or systemd not installed, exiting." exit fi if [ "$1" == "stop" ]; then systemctl stop openvpn-client@* exit elif [ "$1" == "start" ]; then systemctl stop openvpn-client@* if [ -d "$workdir" ]; then cd "$workdir" vpn=$(shuf -ezn 1 * | xargs -0 -n1) if [ -f "$vpn" ]; then vpn=$(echo "$vpn" | cut -f1 -d '.') systemctl start "openvpn-client@$vpn" exit else echo "$vpn is not a file." exit fi else echo "$workdir does not exist, leaving." exit fi else echo -e "Usage:\n $0 start - start a random OpenVPN client. \n $0 stop - stop the initialized OpenVPN client." exit fi