aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/contrib/examples/wg-config/tungate
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/examples/wg-config/tungate')
-rwxr-xr-xcontrib/examples/wg-config/tungate43
1 files changed, 0 insertions, 43 deletions
diff --git a/contrib/examples/wg-config/tungate b/contrib/examples/wg-config/tungate
deleted file mode 100755
index 034e8b8..0000000
--- a/contrib/examples/wg-config/tungate
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-unwind() {
- ip route del "$1/32" 2>/dev/null
- exit
-}
-
-short_route() {
- ip route | sed -n "s/$1 \\(.* dev [^ ]\\+\\).*/\\1/p" | head -n 1
-}
-
-resolve_ip() {
- local filter='/^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$/{p;q;}'
- [[ $(sed -n "$filter" <<<"$1") == "$1" ]] && echo "$1" ||
- host -t a "$1" | cut -d ' ' -f 4 | sed -n "$filter"
-}
-
-set_route() {
- local default_route="$(short_route default)"
- [[ -n $default_route ]] || { echo "[-] Could not determine default route"; return; }
- echo "[+] Adding route for $1 to be $default_route"
- ip route del "$1/32" 2>/dev/null
- ip route add "$1/32" $default_route
-}
-
-check_loop() {
- local ip="$(resolve_ip "$1")"
- [[ -n $ip ]] || { echo "[-] Could not determine IP of '$1'" && return 1; }
- echo "[+] Making sure $ip goes over the default (non-0/1,128/1) route"
-
- set_route "$ip"
- trap unwind INT TERM EXIT
-
- while read -r; do
- [[ $(short_route "$ip") != "$(short_route default)" ]] && set_route "$ip"
- done < <(exec ip monitor route)
-}
-
-[[ $# -ne 1 ]] && { echo "Usage: $0 IP|HOST" >&2; exit 1; }
-[[ $UID -ne 0 ]] && exec sudo "$(readlink -f "$0")" "$@"
-
-check_loop "$1"
-exit $?