bin/vpn: advanced handling
This commit is contained in:
parent
6533464fd2
commit
d8a667f9be
1 changed files with 10 additions and 5 deletions
|
@ -4,8 +4,11 @@ case "$1" in
|
||||||
("") tmux new-session -s "vpn" "tmux ls; $SHELL";;
|
("") tmux new-session -s "vpn" "tmux ls; $SHELL";;
|
||||||
(forti)
|
(forti)
|
||||||
if ip route | grep -q ppp0
|
if ip route | grep -q ppp0
|
||||||
then echo "Device ppp0 already in use!"
|
then printf "Device ppp0 already in use - press Enter to kill"
|
||||||
else sudo tmux new-session -s "$1" '
|
read -r _
|
||||||
|
sudo killall openfortivpn
|
||||||
|
fi
|
||||||
|
sudo tmux new-session -s "$1" '
|
||||||
set -x
|
set -x
|
||||||
route="$(ip route | grep default | sort | head -1)"
|
route="$(ip route | grep default | sort | head -1)"
|
||||||
# Start openfortivpn in the background
|
# Start openfortivpn in the background
|
||||||
|
@ -13,7 +16,7 @@ case "$1" in
|
||||||
VPN_PID=$!
|
VPN_PID=$!
|
||||||
# Wait a little for the VPN to establish the connection
|
# Wait a little for the VPN to establish the connection
|
||||||
sleep 5
|
sleep 5
|
||||||
# TODO Loop
|
# TODO Loop
|
||||||
# Delete the default route set by openfortivpn (ppp0)
|
# Delete the default route set by openfortivpn (ppp0)
|
||||||
ip route del default dev ppp0
|
ip route del default dev ppp0
|
||||||
# Add the default route via the local network
|
# Add the default route via the local network
|
||||||
|
@ -22,8 +25,10 @@ case "$1" in
|
||||||
ip route
|
ip route
|
||||||
wait $VPN_PID
|
wait $VPN_PID
|
||||||
echo "VPN has disconnected."
|
echo "VPN has disconnected."
|
||||||
|
ip dev del ppp0;
|
||||||
'
|
'
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
(*) tmux new-session -s "$@" "sudo openvpn $@ || read";;
|
(*) test -f "$1" || file=$(find $1* -name '*.ovpn')
|
||||||
|
cd "$(dirname "$file")" && file="$(basename "$file")"
|
||||||
|
tmux new-session -s "$@" "sudo openvpn ${file:-$@} || read"
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Add table
Reference in a new issue