diff options
author | sinanmohd <pcmsinan@gmail.com> | 2023-03-08 15:58:37 +0530 |
---|---|---|
committer | sinanmohd <pcmsinan@gmail.com> | 2023-03-11 19:05:05 +0530 |
commit | e4754a6c8fdbd65ed431aa0e8a50ee556c0213be (patch) | |
tree | 90df504ef83ce0e6c8ebca848eb6755af48dab08 /vpn | |
parent | 1489b3dd44cd2e2534a4fa148f8541d9565fd090 (diff) |
vpn: rewrite, make wip and notify-send optional, details are printed to stdout
Diffstat (limited to 'vpn')
-rwxr-xr-x | vpn | 47 |
1 files changed, 24 insertions, 23 deletions
@@ -1,27 +1,28 @@ #!/bin/sh -# https://sinanmohd.com -#################### -## user variables ## -#################### -# wireguard config name, located at /etc/wireguard/ -conf_name="kay" -# state file location -state_file="/tmp/vpn.dmenu" +note() +{ + command -v notify-send > /dev/null && + notify-send "撚 vpn" "$1" + printf "\n%s\n" "$1" +} -if [ ! -e "$state_file" ] -then - if sudo -A -p "撚 initialize vpn: " wg-quick up "$conf_name" - then - touch "$state_file" && - notify-send "撚 VPN initialized" "Traffic is routing through external server" && - wip - fi -else - sudo -A -p "撚 halt vpn: " wg-quick down "$conf_name" && - rm "$state_file" && - notify-send "撚 VPN Halted" "Connection was dropped" && - sleep 3 && - wip -fi +main() +{ + wg_conf="${1:-wg0}" + + if ip -details link show "$wg_conf" 2> /dev/null | grep "wireguard" > /dev/null 2>&1 + then + sudo -A -p "撚 halt vpn: " wg-quick down "$wg_conf" && + note "connection was dropped" + else + sudo -A -p "撚 initialize vpn: " wg-quick up "$wg_conf" && + note "traffic routed through $wg_conf" + fi + + command -v wip > /dev/null && + wip +} + +main "$@" |