From e4754a6c8fdbd65ed431aa0e8a50ee556c0213be Mon Sep 17 00:00:00 2001 From: sinanmohd Date: Wed, 8 Mar 2023 15:58:37 +0530 Subject: vpn: rewrite, make wip and notify-send optional, details are printed to stdout --- README.md | 4 +++- vpn | 47 ++++++++++++++++++++++++----------------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 08904bd..9e12b66 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,9 @@ as the first argument it'll print the scraped torrent link to stdout otherwise it will pass the link to pirowatch ## vpn -dmenu wrapper for wireguard, depends on wip +dmenu wrapper for wireguard, has an optional dependency on wip. you can pass +wireguard config name as the first argument otherwise it will use the default +value which is "wg0" ## wip - what is my ip wip queries host's ipv4 address using opendns and displays the ip details using diff --git a/vpn b/vpn index 061d1f8..0e5998e 100755 --- a/vpn +++ b/vpn @@ -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 "$@" -- cgit v1.2.3