diff options
| author | makefu <root@pigstarter.de> | 2013-02-08 10:10:43 +0000 | 
|---|---|---|
| committer | makefu <root@pigstarter.de> | 2013-02-08 10:10:43 +0000 | 
| commit | 59ccc0fd871c4bbd12066f2f6aacf835a839885d (patch) | |
| tree | 09bd178d2b9cb14225c402c0915cc560246c4e36 /retiolum/bin/find-supernodes | |
| parent | 453593943e41edc1b55372951af1e3b2768e59c0 (diff) | |
add nodes-to-json: parses retiolum/hosts folder into json
Diffstat (limited to 'retiolum/bin/find-supernodes')
| -rwxr-xr-x | retiolum/bin/find-supernodes | 21 | 
1 files changed, 21 insertions, 0 deletions
diff --git a/retiolum/bin/find-supernodes b/retiolum/bin/find-supernodes new file mode 100755 index 00000000..2c316d0e --- /dev/null +++ b/retiolum/bin/find-supernodes @@ -0,0 +1,21 @@ +#! /bin/dash +set -eu +cd /etc/tinc/retiolum/hosts +for name in ` +  grep '^[[:space:]]*Address[[:space:]]*=' * | +    cut -d: -f1 | sort | uniq +`; do +  if eval "`sed -n ' +      s/[[:space:]]\+//g +      s/^\(Address\|Port\)=\(.*\)/\1="\${\1+\$\1\n}\2"/p +    ' $name`"; then +    port=${Port-655} +    for host in $Address; do +      if nc -zw 2 $host $port 2>/dev/null; then +        echo "$name [('$host', $port)]" +      fi & +    done +    wait +  fi & +done +wait  | 
