#!/bin/bash -x send_router_cmd() { touch "${HOME}/.local/state/.vpn_loading" pkill -36 dwmblocks ssh router vpn "$1" laptop 2>/dev/null rm "${HOME}/.local/state/.vpn_loading" } awg-quick() { PIPE="/var/run/vpnd.sock" [ -p $PIPE ] && echo "$@" > $PIPE && cat < $PIPE } DEFAULT_LINK="$(resolvectl status | grep 'Default Route: yes' -B10 | grep 'Link' | tail -1 | grep -Eo '\(.*\)' | tr -d '()')" if resolvectl domain "$DEFAULT_LINK" | grep -q 'wzray.com'; then IS_LOCAL=1 fi IFNAME="awg_ext" while [ "$#" -gt 0 ]; do case "$1" in i|int|internal) IFNAME='awg_int';; *) echo "Wrong argument!" >&2; exit 1;; esac shift done UP_NAME="$(ip link | grep 'awg_' | cut -d ' ' -f 2 | sed 's,:,,')" if [ -n "$UP_NAME" ]; then awg-quick down "$UP_NAME" elif [ -n "$IS_LOCAL" ]; then send_router_cmd toggle else awg-quick up "${IFNAME}" fi pkill -36 dwmblocks # vim: ft=bash