diff options
-rwxr-xr-x | list-servers | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/list-servers b/list-servers new file mode 100755 index 0000000..9cec17b --- /dev/null +++ b/list-servers @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + +use strict; +my $in_connect = 0; +my $ipv6; +my $host; +my $name; +while (<>) { + if (/^connect /) { + $in_connect = 1; + $name = undef; + $host = undef; + $ipv6 = undef; + } elsif (/^\};/) { + $in_connect = 0; + if (defined $name && defined $host) { + print "$name $host\n"; + print "$name"."6 $ipv6\n" if defined $ipv6; + $name = undef; + $host = undef; + $ipv6 = undef; + } + } elsif ($in_connect) { + if (/^\s*name\s*=\s*"(\S+)\.oftc.net";\s*$/) { + $name = $1; + } elsif (/^\s*host\s*=\s*"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})";\s*$/) { + $host = $1; + } elsif (/^\s*#\s*ipv6\s*address:\s*([0-9a-f:]+)/) { + $ipv6 = $1; + }; + }; +}; + + |