bin: vpn scripts

This commit is contained in:
xeruf 2025-02-04 11:51:09 +01:00
parent a1df1394cc
commit c4c3b4d492
2 changed files with 31 additions and 2 deletions

View file

@ -1,3 +1,6 @@
#!/bin/sh -e
# Toggle NordVPN
nordvpn status | grep --color=never Disconnected && nordvpn connect de || nordvpn disconnect; nordvpn status
if test $# -gt 0
then nordvpn connect "$@"
else nordvpn status | grep --color=never Disconnected && nordvpn connect de || nordvpn disconnect; nordvpn status
fi

View file

@ -1,3 +1,29 @@
#!/bin/sh -e
test -f "$1" || cd "$XDG_DATA_HOME/openvpn"
tmux new-session -s "$@" "sudo openvpn $@ || read"
case "$1" in
("") tmux new-session -s "vpn" "tmux ls; $SHELL";;
(forti)
if ip route | grep -q ppp0
then echo "Device ppp0 already in use!"
else sudo tmux new-session -s "$1" '
set -x
route="$(ip route | grep default | sort | head -1)"
# Start openfortivpn in the background
openfortivpn &
VPN_PID=$!
# Wait a little for the VPN to establish the connection
sleep 5
# TODO Loop
# Delete the default route set by openfortivpn (ppp0)
ip route del default dev ppp0
# Add the default route via the local network
eval "ip route add $route"
ip route add 134.245.0.0/16 dev ppp0;
ip route
wait $VPN_PID
echo "VPN has disconnected."
'
fi
;;
(*) tmux new-session -s "$@" "sudo openvpn $@ || read";;
esac