Script idea to show wireguard connections
This commit is contained in:
parent
e4b48683f8
commit
a681ccc270
46
arch-config/scripts/polybar/vpn-wireguard-show.sh
Normal file
46
arch-config/scripts/polybar/vpn-wireguard-show.sh
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# NOTE commands allowed
|
||||||
|
#wg show interfaces
|
||||||
|
|
||||||
|
# all active connections will be shown
|
||||||
|
# parse that
|
||||||
|
# loop over those and display all active connections
|
||||||
|
|
||||||
|
# script copied from polybar-scripts
|
||||||
|
connection_status() {
|
||||||
|
if [ -f "$config" ]; then
|
||||||
|
connection=$(sudo wg show "$config_name" 2>/dev/null | head -n 1 | awk '{print $NF }')
|
||||||
|
|
||||||
|
if [ "$connection" = "$config_name" ]; then
|
||||||
|
echo "1"
|
||||||
|
else
|
||||||
|
echo "2"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "3"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
config="$HOME/wg/wireguard.conf"
|
||||||
|
config_name=$(basename "${config%.*}")
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--toggle)
|
||||||
|
if [ "$(connection_status)" = "1" ]; then
|
||||||
|
sudo wg-quick down "$config" 2>/dev/null
|
||||||
|
else
|
||||||
|
sudo wg-quick up "$config" 2>/dev/null
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ "$(connection_status)" = "1" ]; then
|
||||||
|
echo "#1 $config_name"
|
||||||
|
elif [ "$(connection_status)" = "3" ]; then
|
||||||
|
echo "#3 Config not found!"
|
||||||
|
else
|
||||||
|
echo "#2 down"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in New Issue
Block a user