#!/bin/bash # # Generate OpenVPN configs # set -ex server_url=$1 [ -z "$server_url" ] && server_url=$(cat "$OPENVPN/server_url" 2> /dev/null) if [[ "$server_url" =~ ^((udp|tcp)://)?([0-9a-zA-Z\.]+)(:([0-9]+))?$ ]]; then proto=${BASH_REMATCH[2]}; port=${BASH_REMATCH[5]}; else echo "Common name not specified" exit 1 fi # Apply defaults [ -z "$proto" ] && proto=1194 [ -z "$port" ] && port=udp conf=$OPENVPN/udp1194.conf if [ -f "$conf" ]; then bak=$conf.$(date +%s).bak echo "Backing up $conf -> $bak" mv "$conf" "$bak" fi cat > "$conf" <