52 lines
974 B
Bash
Executable File
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 "$@"
|