diff options
Diffstat (limited to 'retiolum/bin/list-known-public-addresses')
| -rwxr-xr-x | retiolum/bin/list-known-public-addresses | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/retiolum/bin/list-known-public-addresses b/retiolum/bin/list-known-public-addresses new file mode 100755 index 00000000..d157cea4 --- /dev/null +++ b/retiolum/bin/list-known-public-addresses @@ -0,0 +1,28 @@ +#! /bin/sh +# +# printf '%s %s\n' hostname IP-address for each known public retiolum address +# +set -eu + +cd /etc/tinc/retiolum/hosts + +grep --with-filename '^Address' * | +sed ' +  # filter "%s %s %s\n" hostname var val +  s/: */ / +  s/ *= */ / +  # filter "%s %s\n" hostname address +  s/ Address \([a-zA-Z0-9.:_]*\) \?.*/ \1/ +  T +  # prepare hostname lookup +  /:/!{/ [0-9.]*$/!{s/ / `dig +short /;s/$/` \&/}} +  s/^/echo / +  $s/$/\nwait/ +  # perform hostname lookup +' | sh | sed ' +  # drop private IPv4 addresses +  / 10\./d +  / 172\.\(1[6-9]\|2[0-9]\|3[01]\)\./d +  / 192\.168\./d +  # TODO drop private IPv6 addresses +' | 
