]> Sergey Matveev's repositories - sgmon.git/commitdiff
Cycle through all addresses
authorSergey Matveev <stargrave@stargrave.org>
Fri, 18 Nov 2022 11:48:49 +0000 (14:48 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 18 Nov 2022 11:48:59 +0000 (14:48 +0300)
helper/all-addrs [new file with mode: 0755]
helper/http

diff --git a/helper/all-addrs b/helper/all-addrs
new file mode 100755 (executable)
index 0000000..4e47bdf
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh -e
+
+for t in A AAAA ; do
+    host -t $t $1 | perl -lane 'print $F[$#F]'
+done
index 1c5377a805d4c25c3c1de1ca7e016fad6450ae76..cb3ad6caf5f80473b49296153cdb5ea1b236e9b7 100755 (executable)
@@ -1,9 +1,16 @@
 #!/bin/sh -e
 
-bad=0
-curl --range 0-100 --max-time 60 --verbose "$1" >state/curl-out 2>&1 || bad=1
-grep -q "$togrep" state/curl-out || bad=1
-if [ "$bad" -eq 1 ] ; then
-    cat state/curl-out
-    exit 1
-fi
+domain=`echo "$1" | cut -d/ -f3 | cut -d: -f1`
+"$SGMONDIR"/helper/all-addrs $domain | while read addr ; do
+    bad=0
+    curl \
+        --connect-to "::$addr:" \
+        --range 0-100 \
+        --max-time 60 \
+        --verbose "$1" >state/curl-out 2>&1 || bad=1
+    grep -q "$togrep" state/curl-out || bad=1
+    if [ "$bad" -eq 1 ] ; then
+        cat state/curl-out
+        exit 1
+    fi
+done