From c4618105a2c3f2d12b07efa7a0a27fa908d20eee Mon Sep 17 00:00:00 2001 From: David Timber Date: Wed, 13 Nov 2024 02:16:08 +0100 Subject: Add and set up ping-he-tb --- ping-he-tb | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 ping-he-tb (limited to 'ping-he-tb') diff --git a/ping-he-tb b/ping-he-tb new file mode 100755 index 0000000..b87f8b2 --- /dev/null +++ b/ping-he-tb @@ -0,0 +1,45 @@ +#!/bin/bash +main () { + cd "$TMPDIR" + + set +e + LIST=$(curl -sSL 'https://tunnelbroker.net/status.php' | + grep -Eo 'title="[0-9.]+"' | + grep -Eo '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})') + set -e + + for addr in $LIST + do + ping -qnc4 "$addr" > "$addr" & + done + + set +e # ignore non-zero exit code from ping command + for addr in $LIST + do + wait + done + set -e + + for addr in $LIST + do + avg=$(echo $(cat "$addr" | + grep -Eo 'rtt min/avg/max/mdev = [0-9.]+/[0-9.]+/[0-9.]+/[0-9.]+' | + grep -Eo '[0-9.]+') | + awk '{print $2}') + if [ -z "$avg" ]; then + avg="inf" + fi + + echo "$avg $addr" + done | sort -g +} + +set -e +TMPDIR=$(mktemp -d) +set +e + +main & wait +ec="$?" + +rm -rf "$TMPDIR" +exit "$ec" -- cgit