Add files via upload
This commit is contained in:
54
config/polybar/scripts/wireguard.sh
Executable file
54
config/polybar/scripts/wireguard.sh
Executable file
@@ -0,0 +1,54 @@
|
||||
#! /bin/bash
|
||||
|
||||
connected_interface=$(awg show interfaces | grep -P "awg\d+" -o)
|
||||
|
||||
connect() {
|
||||
# doas wg-quick up wg0 && doas route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 enp5s0 && notify-send -i /home/$USER/.config/dunst/scripts/vpn.png 'VPN connected'
|
||||
doas awg-quick up awg0 && sleep 3 && doas route add -host 178.49.132.41 gw 192.168.1.1 enp5s0 && doas systemctl restart dnsproxy.service && notify-send -i /home/$USER/.config/dunst/scripts/vpn.png 'VPN connected'
|
||||
|
||||
# sudo wg-quick up wg0 && sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 enp9s0 && notify-send -i /home/$USER/.config/dunst/scripts/vpn.png 'VPN connected'
|
||||
|
||||
# sudo wg-quick up wg0 && sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.1 enp9s0 && sudo route add -host 78.47.125.180 gw 192.168.1.1 enp9s0 && notify-send -i /home/$USER/.config/dunst/scripts/vpn.png 'VPN connected'
|
||||
}
|
||||
|
||||
disconnect() {
|
||||
# Normally we should have a single connected interface but technically
|
||||
# there's nothing stopping us from having multiple active intgerfaces so
|
||||
# let's do this in a loop:
|
||||
for connected_config in $(awg show interfaces | grep -P "awg\d+" -o); do
|
||||
doas awg-quick down awg0 && notify-send -i /home/$USER/.config/dunst/scripts/vpn.png 'VPN disconnected'
|
||||
done
|
||||
}
|
||||
|
||||
toggle() {
|
||||
if [[ $connected_interface ]]; then
|
||||
disconnect
|
||||
else
|
||||
connect
|
||||
fi
|
||||
}
|
||||
|
||||
print() {
|
||||
if [[ $connected_interface ]]; then
|
||||
echo "%{T1}說%{T-} %{T2}VPN: ON%{T-}"
|
||||
#echo "%{F#FFDE7D}%{T1}說%{T-} %{T2}VPN: ON%{T-}"
|
||||
else
|
||||
echo "%{T1}說%{T-} %{T2}VPN: OFF%{T-}"
|
||||
#echo "%{F#5f5f5f}%{T1}說%{T-} %{T2}VPN: OFF%{T-}"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
--connect)
|
||||
connect
|
||||
;;
|
||||
--disconnect)
|
||||
disconnect
|
||||
;;
|
||||
--toggle)
|
||||
toggle
|
||||
;;
|
||||
*)
|
||||
print
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user