#!/bin/sh
# toggle VPN


down_not_master () {
	git -C "$HOME/programs/config_local_arch" branch | awk '!/master/{print ($1=="*")?$2:$1}' | while read -r v; do
		nmcli connection down "wg_$v"
	done
}

# no toggle wg_master, I want wg_master to always on by default
if ! [ "$1" ] || [ "$1" = master ]; then
	# kill monerod before wg_ba down
	killall -w monerod
	down_not_master
	nmcli connection up wg_master
	notify-send -u critical 'VPN disabled'
	exit
fi

if nmcli -t --fields device,state device | grep -q "^wg_$1:connected$"; then
	killall -w monerod
	down_not_master
	nmcli connection up wg_master
	notify-send -u critical "$1 VPN disabled"
else
	[ "$1" != ba ] && killall -w monerod
	down_not_master
	nmcli connection down wg_master
	nmcli connection up "wg_$1"
	notify-send "$1 VPN enabled"
fi
