From da04f0c69f30bc355c2c07d8134795e09b8dbae4 Mon Sep 17 00:00:00 2001 From: Xiao Pan Date: Mon, 11 Mar 2024 20:21:08 -0700 Subject: feat: new vip vpn scripts, move vip from public archive repo to fsh, vpn for toggle vpn --- sh/vip | 23 +++++++++++++++++++++++ sh/vpn | 27 +++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100755 sh/vip create mode 100755 sh/vpn (limited to 'sh') 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 -- cgit v1.2.3-70-g09d2