Files
linux-workspace/bin/vpn-home.sh
2022-07-29 07:40:34 +02:00

52 lines
974 B
Bash
Executable File

#!/bin/bash
OVPN_SERVICE="openvpn@home.service"
OVPN_CONF="/etc/openvpn/home.conf"
WG_NAME="wg-home"
WG_SERVICE="wg-quick@$WG_NAME"
WG_CONF="/etc/wireguard/wg-home.conf"
function run() {
echo "# $*"
eval sudo "$@"
}
function ovpn_ctl() {
if (( $# < 1 )); then
run systemctl status $OVPN_SERVICE
else
run systemctl $1 $OVPN_SERVICE
fi
}
function wg_ctl() {
local op=${1:-status}
case "$op" in
info | -h | --help)
echo "WireGuard device name: $WG_NAME"
echo "Systemd service name: $WG_SERVICE"
echo "Configuration: $WG_CONF"
echo "Commands: info, show, down, up, down-up, stop, start, restart, status"
;;
show)
run wg show all
;;
up)
run wg-quick up $WG_NAME
;;
down)
run wg-quick down $WG_NAME
;;
down-up)
run wg-quick down $WG_NAME
run wg-quick up $WG_NAME
;;
*)
run systemctl $op $WG_SERVICE
;;
esac
}
wg_ctl "$@"