summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rwxr-xr-xsh/vip23
-rwxr-xr-xsh/vpn27
3 files changed, 51 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 00aa7a0..901ac4f 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@
# For a command not to echo itself, prefix @ to the command
# https://unix.stackexchange.com/a/740226/459013
-SH = alarm backlight bell ccgp cfg chmodef curlqb dateft dirnameall gita gitfork gitmetap gitmetar gitpu grrc il lastarg loop lsp mll mmi mpra mpva mpvy mvln mvtr mvtu news o orgext pa pq px qg qw rate reco rfp sbar ta time-uuid topa upd vinfo wh wtr xmq prp
+SH = alarm backlight bell ccgp cfg chmodef curlqb dateft dirnameall gita gitfork gitmetap gitmetar gitpu grrc il lastarg loop lsp mll mmi mpra mpva mpvy mvln mvtr mvtu news o orgext pa pq px qg qw rate reco rfp sbar ta time-uuid topa upd vinfo wh wtr xmq prp vip vpn
PACMAN_HOOKS = setcap-intel_gpu_top.hook setcap-iotop-c.hook setcap-nethogs.hook
PREFIX = /usr/local
diff --git a/sh/vip b/sh/vip
new file mode 100755
index 0000000..b7db458
--- /dev/null
+++ b/sh/vip
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Vpn IP
+
+case "$(nmcli -t --fields device,state device)" in
+ *wg_ia:connected*) echo ia;;
+ *wg_ka:connected*) echo ka;;
+ *wg_mydefault:connected*) echo mydefault;;
+ *wg_studio:connected*) echo studio;;
+ *) echo insp;;
+esac
+printf 'default: '; curl -m1 ifconfig.co
+printf '4: '; curl -4m1 ifconfig.co
+printf '6: '; curl -6m1 ifconfig.co
+
+# the old way, slower and more code
+#nm_device_state="$(nmcli -t --fields device,state device)"
+#if echo "$nm_device_state" | grep -q '^wg_ka:connected$'; then
+# echo ka
+#elif echo "$nm_device_state" | grep -q '^wg_studio:connected$'; then
+# echo studio
+#else
+# echo insp
+#fi
diff --git a/sh/vpn b/sh/vpn
new file mode 100755
index 0000000..dc855ed
--- /dev/null
+++ b/sh/vpn
@@ -0,0 +1,27 @@
+#!/bin/sh
+# toggle VPN
+
+down_not_mydefault () {
+ for v in wg_studio wg_ia wg_ka; do
+ nmcli connection down "$v"
+ done
+}
+
+# no toggle wg_mydefault, I want wg_mydefault to always on by default
+if ! [ "$1" ] || [ "$1" = mydefault ]; then
+ down_not_mydefault
+ nmcli connection up wg_mydefault
+ notify-send -u critical 'VPN disabled'
+ exit
+fi
+
+if nmcli -t --fields device,state device | grep -q "^wg_$1:connected$"; then
+ down_not_mydefault
+ nmcli connection up wg_mydefault
+ notify-send -u critical "$1 VPN disabled"
+else
+ down_not_mydefault
+ nmcli connection down wg_mydefault
+ nmcli connection up "wg_$1"
+ notify-send "$1 VPN enabled"
+fi