[AusNOG] Jwhois auto config for all new gTLD's

Kim Davies kim at cynosure.com.au
Mon Jan 5 06:34:48 EST 2015


Quoting Skeeve Stevens on Sunday January 04, 2015:
| 
| Does anyone know if there is a source of a config file I auto download
| (cvs, wget, etc) which contains all the whois servers for jWhois (on
| Centos).
| 
| I found one for jWhois... but it doesn't have all the latest gTLD's...
| 
| cvs -Q -z3 -d:pserver:anonymous at cvs.savannah.gnu.org:/sources/jwhois co -p
| jwhois/example/jwhois.conf > /etc/jwhois.conf
| 
| Spent an hour googling, but so many useless references out there.

If you change the default to whois.iana.org it will refer you to the
WHOIS server of record for any IP address block or top-level domain. You
can patch the jwhois.conf file thusly:

$ diff jwhois.conf.orig jwhois.conf
307,309c307
<       whois-server = "whois.internic.net";
<       # Make sure we only match on domain names
<       query-format = "domain $*";
---
>       whois-server = "whois.iana.org";
939a938,940
>         "whois\\.iana\\.org" {
>                 whois-redirect =  ".*refer: *\\([^ ]*\\)";
>         }

Complete file attached. In theory you shouldn't need to update it beyond that.

kim
-------------- next part --------------
# This is jwhois.conf - an example configuration file for jwhois
#
# Due to the ever-changing nature of the Internet, the configuration file
# released with Jwhois quickly gets outdated. You can find the latest version
# in the Jwhois CVS repository, which is accessible via the web from
# http://savannah.gnu.org/cgi-bin/viewcvs/jwhois/jwhois/example/jwhois.conf

#
# Local domain registries and pointers to cidr-blocks and handles.
# This is where jwhois begins the search for a Whois server to query
#
whois-servers {
	#
	# The type can be either cidr or regex, the former matches using CIDR
	# blocks and the later using regular expressions.
	#
	type = regex;

	#
	# You can use the special value `struct' to redirect the query
	# to another block which optionally can use another type of matching.
	# Here we use it to have IPv4 numbers matched using CIDR blocks instead
	# of regular expressions.  See below for the definition of cidr-blocks.
	#
	"\\([0-9]+\\.\\)+[0-9]+" = "struct cidr-blocks";
	"^[0-9A-Fa-f]+:[0-9A-Fa-f:.]*\\(/[0-9]+\\)?$" = "struct cidr6-blocks";
	"^CORE-[0-9]+$" = "struct handles";
	"^CO[CH]O-[0-9]+$" = "struct handles";
	".*-[A-Z]+$" = "struct handles";

	#
	# Catch AS numbers
	#
	"^[0-9]+$" = "whois.arin.net";
	"^ASN-.+" = "whois.arin.net";
	"^AS[0-9]+$" = "whois.radb.net";

	#
	# Catch ARIN nameserver records
	#
	"^NS[0-9]+-HST$" = "whois.arin.net";

	#
	# Catch ARIN netblock records
	#
	"^!?NET\\(BLK\\)?\\(-[A-Z0-9]+\\)+$" = "whois.arin.net";

	#
	# Catch Verio netblock records
	#
	"^!?NET\\(BLK\\)?-VRIO\\(-[A-Z0-9]+\\)+$" = "rwhois.verio.net";

	#
	# Catch Registro .BR ownerid records
	#
	"^[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+-[0-9]+$" = "whois.nic.br";

	#
	# Japanese NIC handles
	#
	"^[A-Z]+[0-9]+JP$" = "whois.nic.ad.jp";
	#
	# If your host and network supports it, you can also specify IPv6
	# addresses in the server field.
	#
	# ".*:.*" = "::1"
	#

	#
	# This is a special construct designed with the whois-servers.net
        # service in mind. If you use this, jwhois will query whois-servers.net
        # for which whois server to use for each domain query.
	#
	# default = "whois-servers";

	#
	# Sub-TLA Assignments
	#

	#
	# Pseudo-ccTLDs must be listed above gTLDs
	#
 	"\\.ae\\.org$" = "whois.centralnic.net";
	"\\.br\\.com$" = "whois.centralnic.net";
	"\\.cn\\.com$" = "whois.centralnic.net";
	"\\.de\\.com$" = "whois.centralnic.net";
	"\\.eu\\.com$" = "whois.centralnic.net";
	"\\.eu\\.org$" = "whois.eu.org";
	"\\.gb\\.com$" = "whois.centralnic.net";
	"\\.gb\\.net$" = "whois.centralnic.net";
	"\\.hu\\.com$" = "whois.centralnic.net";
	"\\.jpn\\.com$" = "whois.centralnic.net";
 	"\\.kr\\.com$" = "whois.centralnic.net";
	"\\.no\\.com$" = "whois.centralnic.net";
	"\\.qc\\.com$" = "whois.centralnic.net";
	"\\.ru\\.com$" = "whois.centralnic.net";
	"\\.sa\\.com$" = "whois.centralnic.net";
	"\\.se\\.com$" = "whois.centralnic.net";
	"\\.se\\.net$" = "whois.centralnic.net";
	"\\.uk\\.com$" = "whois.centralnic.net";
	"\\.uk\\.net$" = "whois.centralnic.net";
	"\\.us\\.com$" = "whois.centralnic.net";
	"\\.uy\\.com$" = "whois.centralnic.net";
	"\\.web\\.com$" = "whois.centralnic.net";
	"\\.za\\.com$" = "whois.centralnic.net";

	"\\.ac$" = "whois.nic.ac";
	"\\.ae$" = "whois.uaenic.ae";
	"\\.aero$" = "whois.aero";
	"\\.af$" = "whois.nic.af";
	"\\.ag$" = "whois.nic.ag";
	"\\.ai$" = "whois.offshore.ai";
	"\\.al$" = "whois.ripe.net";
	"\\.am$" = "whois.amnic.net";
	"\\.ar$" = "www.nic.ar";
	"\\.as$" = "whois.nic.as";
	"\\.at$" = "whois.nic.at";
	"\\.asn\\.au$" = "whois.ausregistry.net.au";
	"\\.com\\.au$" = "whois.ausregistry.net.au";
	"\\.id\\.au$" = "whois.ausregistry.net.au";
	"\\.net\\.au$" = "whois.ausregistry.net.au";
	"\\.org\\.au$" = "whois.ausregistry.net.au";
	"\\.au$" = "whois.aunic.net";
	"\\.az$" = "whois.ripe.net";
	"\\.ba$" = "whois.ripe.net";
	"\\.be$" = "whois.dns.be";
	"\\.bg$" = "whois.register.bg";
	"\\.bi$" = "www.nic.bi";
	"\\.biz$" = "whois.neulevel.biz";
	"\\.bj$" = "whois.nic.bj";
	"\\.bm$" = "rwhois.ibl.bm 4321";
	"\\.br$" = "whois.nic.br";
	"\\.bv$" = "whois.ripe.net";
	"\\.by$" = "whois.ripe.net";
	"\\.bz$" = "whois.belizenic.bz";
	"\\.ca$" = "whois.cira.ca";
	"\\.cat$" = "whois.cat";
	"\\.cc$" = "whois.nic.cc";
	"\\.cd$" = "whois.nic.cd";
	"\\.cg$" = "www.nic.cg";
	"\\.ch$" = "whois.nic.ch";
	"\\.ci$" = "whois.nic.ci";
	"\\.ck$" = "whois.nic.ck";
	"\\.cl$" = "whois.nic.cl";
	"\\.edu\\.cn$" = "whois.edu.cn";
	"\\.cn$" = "whois.cnnic.net.cn";
	"\\.com$" {
		whois-server = "whois.verisign-grs.com";
		query-format = "domain $*";
	}
	"\\.coop$" = "whois.nic.coop";
	"\\.cx$" = "whois.nic.cx";
	"\\.cy$" = "whois.ripe.net";
	"\\.cz$" = "whois.nic.cz";
	"\\.de$" {
		whois-server = "whois.denic.de";
		query-format = "-C UTF-8 -T dn,ace $*";
	}
	"\\.dk$" = "whois.dk-hostmaster.dk";
	"\\.dm$" = "whois.nic.dm";
	"\\.do$" = "whois.nic.do";
	"\\.dz$" = "whois.ripe.net";
	"\\.ec$" = "www.nic.ec";
	"\\.edu$" = "whois.educause.net";
	"\\.ee$" = "whois.eenet.ee";
	"\\.eg$" = "whois.ripe.net";
	"\\.es$" = "www.nic.es";
	"\\.eu$" = "whois.eu";
	"\\.fi$" = "whois.ficora.fi";
	"\\.fj$" = "whois.usp.ac.fj";
	"\\.fm$" = "www.dot.fm";
	"\\.fo$" = "whois.ripe.net";
	"\\.fr$" = "whois.nic.fr";
	"\\.gi$" = "www.nic.gi";
	"\\.gov$" = "whois.nic.gov";
	"\\.gg$" = "whois.isles.net";
	"\\.gm$" = "whois.ripe.net";
	"\\.gp$" = "whois.nic.gp";
	"\\.gr$" = "whois.ripe.net";
	"\\.gs$" = "203.119.12.22";
	"\\.gt$" = "www.gt";
	"\\.hk$" = "whois.hkdnr.net.hk";
	"\\.hm$" = "whois.registry.hm";
	"\\.hr$" = "www.dns.hr";
	"\\.hu$" = "whois.nic.hu";
	"\\.id$" = "whois.idnic.net.id";
	"\\.ie$" = "whois.domainregistry.ie";
	"\\.il$" = "whois.isoc.org.il";
	"\\.in$" = "whois.inregistry.in";
	"\\.info$" = "whois.afilias.info";
	"\\.int$" = "whois.iana.org";
	"\\.io$" = "www.io.io";
	"\\.ir$" = "whois.nic.ir";
	"\\.im$" = "whois.nic.im";
	"\\.is$" = "whois.isnic.is";
	"\\.it$" = "whois.nic.it";
	"\\.je$" = "whois.isles.net";
	"\\.jp$" {
		whois-server = "whois.jprs.jp";
		query-format = "$* /e";
	}
	"\\.kg$" = "whois.domain.kg";
	"\\.ki$" = "whois.nic.ki";
	"\\.kr$" = "whois.krnic.net";
	"\\.kz$" = "whois.nic.kz";
	"\\.la$" = "whois.nic.la";
	"\\.lb$" = "cgi.aub.edu.lb";
	"\\.li$" = "whois.nic.li";
	"\\.lk$" = "whois.nic.lk";
	"\\.lt$" = "whois.domreg.lt";
	"\\.lu$" = "whois.dns.lu";
	"\\.lv$" = "whois.nic.lv";
	"\\.ly$" = "whois.nic.ly";
	"\\.ma$" = "whois.ripe.net";
	"\\.mil$" = "whois.nic.mil";
	"\\.mk$" = "whois.ripe.net";
	"\\.mm$" = "whois.nic.mm";
	"\\.mobi$" = "whois.dotmobiregistry.net";
	"\\.ms$" = "whois.adamsnames.tc";
	"\\.mt$" = "www.um.edu.mt";
	"\\.mu$" = "whois.nic.mu";
	"\\.museum$" = "whois.museum";
	"\\.mw$" = "www.tarsus.net";
	"\\.mx$" = "whois.nic.mx";
	"\\.my$" = "whois.mynic.net.my";
	"\\.na$" = "whois.na-nic.com.na";
	"\\.name$" = "whois.nic.name";
	"\\.net$" {
		whois-server = "whois.verisign-grs.com";
		query-format = "domain $*";
	}
	"\\.ng$" = "whois.rg.net";
	"\\.nl$" = "whois.domain-registry.nl";
	"\\.no$" = "whois.norid.no";
	"\\.nu$" = "whois.nic.nu";
	"\\.nz$" = "whois.srs.net.nz";
	"\\.org$" = "whois.publicinterestregistry.net";
	"\\.pe$" = "whois.nic.pe";
	"\\.pk$" = "pknic.net.pk";
	"\\.pl$" = "whois.dns.pl";
	"\\.pm$" = "whois.nic.pm";
	"\\.pro$" = "whois.registrypro.pro";
	"\\.pt$" = "whois.dns.pt";
	"\\.pw$" = "whois.nic.pw";
	"\\.re$" = "whois.nic.re";
	"\\.ro$" = "whois.rotld.ro";
	"\\.ru$" = "whois.ripn.net";
	"\\.rw$" = "www.nic.rw";
	"\\.sa$" = "saudinic.net.sa";
	"\\.se$" = "whois.iis.se";
	"\\.sg$" = "whois.nic.net.sg";
	"\\.sh$" = "whois.nic.sh";
	"\\.si$" = "whois.arnes.si";
	"\\.sj$" = "whois.ripe.net";
	"\\.sk$" = "whois.ripe.net";
	"\\.sm$" = "whois.ripe.net";
	"\\.sr$" = "whois.register.sr";
	"\\.st$" = "whois.nic.st";
	"\\.su$" = "whois.ripn.net";
	"\\.tc$" = "whois.adamsnames.tc";
	"\\.tf$" = "whois.afnic.fr";
	"\\.tg$" = "www.nic.tg";
	"\\.th$" = "whois.thnic.net";
	"\\.tj$" = "whois.nic.tj";
	"\\.tk$" = "whois.dot.tk";
	"\\.tl$" = "whois.nic.tl";
	"\\.tm$" = "whois.nic.tm";
	"\\.tn$" = "whois.ripe.net";
	"\\.to$" = "whois.tonic.to";
	"\\.tr$" = "whois.nic.tr";
	"\\.tt$" = "www.nic.tt";
	"\\.tv$" = "whois.nic.tv";
	"\\.tw$" = "whois.twnic.net";
	"\\.ua$" = "whois.com.ua";
	"\\.ug$" = "whois.co.ug";
	"\\.ac\\.uk$" = "whois.ja.net";
	"\\.gov\\.uk$" = "whois.ja.net";
	"\\.uk$" = "whois.nic.uk";
	"\\.fed\\.us$" = "whois.nic.gov";
	"\\.us$" = "whois.nic.us";
	"\\.com\\.uy$" = "dns.antel.net.uy";
	"\\.uy$" = "www.rau.edu.uy"; # is a whois server
	"\\.uz$" = "www.noc.uz";
	"\\.va$" = "whois.ripe.net";
	"\\.ve$" = "whois.nic.ve";
	"\\.vi$" = "www.nic.vi";
	"\\.vg$" = "whois.adamsnames.tc";
	"\\.vn$" = "www.vnnic.net.vn";
	"\\.vu$" = "www.vunic.vu";
	"\\.wf$" = "whois.nic.wf";
	"\\.ws$" = "whois.worldsite.ws";
	"\\.yt$" = "whois.nic.yt";
	"\\.yu$" = "whois.ripe.net";
	"\\.ac\\.za$" = "whois.ac.za";
	"\\.org\\.za$" = "rwhois.org.za 4321";
	"\\.co\\.za$" = "whois.co.za";
	# "\\.za$" = "whois.frd.ac.za";

	#
	# Specify different port numbers to connect to by postfixing the IP
	# number or host with a space and the designated port. Default is to
	# use the whois port from /etc/services.
	#
	# ".*" = "whois.internic.net 666";

	default {
		whois-server = "whois.iana.org";
		# Make sure we only match on domain names
	}
}

#
# cidr-blocks contains a list of all known CIDR blocks assigned to
# RIPE or APNIC. Default all queries to ARIN which has most other blocks.
#
# see http://www.iana.org/assignments/ipv4-address-space
#
cidr-blocks {
	type = cidr;

# Note: JPNIC doesn't appear to publish lists of netblocks on their
#       website - this data was derived by searching for "Japan Network
#       Information Center" in the ARIN and APNIC databases.  It may
#       not be complete.

	"61.112.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"61.192.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"61.208.0.0/13" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"133.0.0.0/8" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANB-INET
	"150.100.0.0/16" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.1.0.0/16" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.16.0.0/12" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.2.0.0/15" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.32.0.0/11" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.4.0.0/14" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.64.0.0/11" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.8.0.0/13" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"150.96.0.0/14" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN2
	"158.198.0.0/15" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET-1
	"158.200.0.0/13" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET-1
	"158.208.0.0/13" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET-1
	"158.216.0.0/15" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET-1
	"163.130.0.0/15" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET
	"163.132.0.0/14" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET
	"163.136.0.0/13" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET
	"163.144.0.0/14" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET
	"163.148.0.0/15" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-NET
	"192.218.0.0/16" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANC-INET-BLOCK1
	"192.244.0.0/16" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPAN-INET-C
	"192.41.192.0/24" = "whois.nic.ad.jp";	# ARIN NET-UTOKYO-CON1
	"192.47.0.0/17" = "whois.nic.ad.jp";	# ARIN NETBLK-KIT-BLOCK
	"192.47.128.0/18" = "whois.nic.ad.jp";	# ARIN NETBLK-KIT-BLOCK
	"192.47.142.0/24" = "whois.nic.ad.jp";	# ARIN ITC-JP2
	"192.47.192.0/19" = "whois.nic.ad.jp";	# ARIN NETBLK-KIT-BLOCK
	"192.47.224.0/20" = "whois.nic.ad.jp";	# ARIN NETBLK-KIT-BLOCK
	"192.47.240.0/23" = "whois.nic.ad.jp";	# ARIN NETBLK-KIT-BLOCK
	"192.51.128.0/17" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANC-INET4
	"192.51.16.0/20" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANC-INET4
	"192.51.32.0/19" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANC-INET4
	"192.51.64.0/18" = "whois.nic.ad.jp";	# ARIN NETBLK-JAPANC-INET4
	"202.11.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.13.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.15.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.16.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.23.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.24.0.0/15" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.26.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.32.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.48.0.0/16" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.208.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"202.224.0.0/11" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"203.136.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"203.140.0.0/15" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"203.178.0.0/15" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"203.180.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.128.0.0/11" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.136.0.0/13" = "whois.nic.ad.jp";
	"210.160.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.188.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.196.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.224.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"210.248.0.0/13" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"211.0.0.0/12" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"211.16.0.0/14" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"211.52.0.0/14" = "whois.nic.or.kr";
	"211.56.0.0/13" = "whois.nic.or.kr";
	"211.104.0.0/13" = "whois.nic.or.kr";
	"211.112.0.0/13" = "whois.nic.or.kr";
	"211.120.0.0/13" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"211.128.0.0/13" = "whois.nic.ad.jp";	# APNIC JPNIC-NET-JP
	"211.172.0.0/14" = "whois.nic.or.kr";
	"211.176.0.0/12" = "whois.nic.or.kr";
	"211.192.0.0/13" = "whois.nic.or.kr";
	"219.96.0.0/11" = "whois.nic.ad.jp";
	"220.104.0.0/13" = "whois.nic.ad.jp";
	"220.208.0.0/12" = "whois.nic.ad.jp";
	"221.112.0.0/13" = "whois.nic.ad.jp";

	"24.132.0.0/16" = "whois.ripe.net";
	"24.232.0.0/16" = "whois.lacnic.net";
        "41.0.0.0/8" = "whois.afrinic.net"; 
	"43.0.0.0/8" = "whois.v6nic.net";
	"58.140.0.0/14" = "whois.nic.or.kr";
	"58.0.0.0/8" = "whois.apnic.net";
	"59.0.0.0/8" = "whois.apnic.net";
	"60.0.0.0/8" = "whois.apnic.net";
	"61.0.0.0/8" = "whois.apnic.net";
	"62.114.0.0/16" = "whois.afrinic.net";
	"62.135.36.0/17" = "whois.afrinic.net";
	"62.0.0.0/8" = "whois.ripe.net";
	"80.87.64.0/19" = "whois.afrinic.net";
	"80.248.64.0/20" = "whois.afrinic.net";
	"80.0.0.0/8" = "whois.ripe.net";
	"81.91.224.0/20" = "whois.afrinic.net";
	"81.192.0.0/16" = "whois.afrinic.net";
	"81.0.0.0/8" = "whois.ripe.net";
	"82.101.128.0/18" = "whois.afrinic.net";
        "82.201.128.0/17" = "whois.afrinic.net";
        "82.201.160.0/19" = "whois.afrinic.net";
        "82.201.224.0/19" = "whois.afrinic.net"; 
	"82.0.0.0/8" = "whois.ripe.net";
	"83.0.0.0/8" = "whois.ripe.net";
	"84.36.0.0/17" = "whois.afrinic.net";
	"84.0.0.0/8" = "whois.ripe.net";
	"85.0.0.0/8" = "whois.ripe.net";
	"86.0.0.0/8" = "whois.ripe.net";
	"87.0.0.0/8" = "whois.ripe.net";
	"88.0.0.0/8" = "whois.ripe.net";
        "89.0.0.0/8" = "whois.ripe.net";
        "90.0.0.0/8" = "whois.ripe.net";
        "91.0.0.0/8" = "whois.ripe.net"; 
        "121.0.0.0/8" = "whois.apnic.net";
        "122.0.0.0/8" = "whois.apnic.net";
        "123.0.0.0/8" = "whois.apnic.net";
        "124.0.0.0/8" = "whois.apnic.net";
        "125.0.0.0/8" = "whois.apnic.net";
        "126.0.0.0/8" = "whois.apnic.net"; 
	"129.132.0.0/16" = "whois.ripe.net";
	"129.177.0.0/16" = "whois.ripe.net";
	"129.187.0.0/16" = "whois.ripe.net";
	"130.225.0.0/16" = "whois.ripe.net";
	"130.226.0.0/15" = "whois.ripe.net";
	"130.227.0.0/16" = "whois.ripe.net";
	"130.228.0.0/14" = "whois.ripe.net";
	"130.232.0.0/13" = "whois.ripe.net";
	"130.240.0.0/14" = "whois.ripe.net";
	"130.244.0.0/16" = "whois.ripe.net";
	"130.244.0.0/16" = "whois.ripe.net";
	"132.64.0.0/13" = "whois.ripe.net";
	"132.72.0.0/14" = "whois.ripe.net";
	"132.76.0.0/15" = "whois.ripe.net";
	"132.78.0.0/16" = "whois.ripe.net";
	"137.138.0.0/16" = "whois.ripe.net";
	"138.130.0.0/16" = "whois.apnic.net";
	"140.109.0.0/16" = "whois.apnic.net";
	"140.110.0.0/15" = "whois.apnic.net";
	"140.112.0.0/12" = "whois.apnic.net";
	"140.116.0.0/14" = "whois.apnic.net";
	"140.120.0.0/13" = "whois.apnic.net";
	"140.128.0.0/13" = "whois.apnic.net";
	"140.136.0.0/15" = "whois.apnic.net";
	"140.138.0.0/16" = "whois.apnic.net";
	"141.223.0.0/16" = "whois.apnic.net";
	"143.89.0.0/16" = "whois.apnic.net";
	"143.90.0.0/16" = "whois.apnic.net";
	"144.130.0.0/15" = "whois.apnic.net";
	"144.132.0.0/14" = "whois.apnic.net";
	"144.136.0.0/14" = "whois.apnic.net";
	"144.140.0.0/16" = "whois.apnic.net";
	"145.0.0.0/8" = "whois.ripe.net";
	"147.46.0.0/15" = "whois.apnic.net";
	"150.1.0.0/16" = "whois.apnic.net";
	"150.2.0.0/15" = "whois.apnic.net";
	"150.4.0.0/14" = "whois.apnic.net";
	"150.8.0.0/13" = "whois.apnic.net";
	"150.16.0.0/12" = "whois.apnic.net";
	"150.32.0.0/11" = "whois.apnic.net";
	"150.64.0.0/11" = "whois.apnic.net";
	"150.96.0.0/14" = "whois.apnic.net";
	"150.100.0.0/15" = "whois.apnic.net";
	"150.217.0.0/16" = "whois.ripe.net";
	"151.3.0.0/16" = "whois.ripe.net";
	"151.4.0.0/15" = "whois.ripe.net";
	"151.10.0.0/15" = "whois.ripe.net";
	"151.12.0.0/14" = "whois.ripe.net";
	"151.16.0.0/12" = "whois.ripe.net";
	"151.32.0.0/11" = "whois.ripe.net";
	"151.64.0.0/11" = "whois.ripe.net";
	"151.96.0.0/14" = "whois.ripe.net";
	"151.100.0.0/16" = "whois.ripe.net";
	"155.230.0.0/16" = "whois.apnic.net";
	"158.190.0.0/15" = "whois.ripe.net";
	"158.192.0.0/14" = "whois.ripe.net";
	"158.196.0.0/15" = "whois.ripe.net";
	"159.147.0.0/16" = "whois.ripe.net";
	"159.148.0.0/15" = "whois.ripe.net";
	"160.216.0.0/14" = "whois.ripe.net";
	"160.220.0.0/16" = "whois.ripe.net";
	"161.110.0.0/15" = "whois.ripe.net";
	"161.112.0.0/16" = "whois.ripe.net";
	"163.13.0.0/16" = "whois.apnic.net";
	"163.14.0.0/15" = "whois.apnic.net";
	"163.16.0.0/12" = "whois.apnic.net";
	"163.32.0.0/16" = "whois.apnic.net";
	"163.156.0.0/14" = "whois.ripe.net";
	"163.160.0.0/12" = "whois.ripe.net";
	"164.0.0.0/11" = "whois.ripe.net";
	"164.32.0.0/13" = "whois.ripe.net";
	"164.40.0.0/16" = "whois.ripe.net";
	"164.100.0.0/16" = "whois.apnic.net";
	"164.128.0.0/12" = "whois.ripe.net";
	"164.160.0.0/14" = "whois.apnic.net";
	"164.164.0.0/16" = "whois.apnic.net";
	"165.21.0.0/16" = "whois.apnic.net";
	"165.76.0.0/16" = "whois.apnic.net";
	"165.165.0.0/16" = "whois.afrinic.net";
	"165.228.0.0/15" = "whois.apnic.net";
	"168.95.0.0/16" = "whois.apnic.net";
	"168.126.0.0/16" = "whois.apnic.net";
	"168.187.0.0/16" = "whois.ripe.net";
	"169.208.0.0/16" = "whois.apnic.net";
	"171.16.0.0/12" = "whois.ripe.net";
	"171.32.0.0/15" = "whois.ripe.net";
        "189.0.0.0/8" = "whois.lacnic.net";
        "190.0.0.0/8" = "whois.lacnic.net";
        "196.0.0.0/8" = "whois.afrinic.net"; 
	"192.16.192.0/24" = "whois.ripe.net";
	"192.114.0.0/15" = "whois.ripe.net";
	"192.116.0.0/15" = "whois.ripe.net";
	"192.118.0.0/16" = "whois.ripe.net";
	"192.140.1.0/24" = "whois.ripe.net";
	"192.140.2.0/23" = "whois.ripe.net";
	"192.140.4.0/22" = "whois.ripe.net";
	"192.140.8.0/21" = "whois.ripe.net";
	"192.140.16.0/20" = "whois.ripe.net";
	"192.140.32.0/19" = "whois.ripe.net";
	"192.140.64.0/18" = "whois.ripe.net";
	"192.140.128.0/17" = "whois.ripe.net";
	"192.141.0.0/16" = "whois.ripe.net";
	"192.142.0.0/15" = "whois.ripe.net";
	"192.144.0.0/16" = "whois.ripe.net";
	"192.145.0.0/17" = "whois.ripe.net";
	"192.145.128.0/18" = "whois.ripe.net";
	"192.145.192.0/19" = "whois.ripe.net";
	"192.145.224.0/22" = "whois.ripe.net";
	"192.145.228.0/23" = "whois.ripe.net";
	"192.145.230.0/24" = "whois.ripe.net";
	"192.164.0.0/16" = "whois.ripe.net";
	"193.0.0.0/8" = "whois.ripe.net";
	"194.0.0.0/8" = "whois.ripe.net";
	"195.166.224.0/19" = "whois.afrinic.net";
	"195.0.0.0/8" = "whois.ripe.net";
	"196.2.96.0/19" = "whois.afrinic.net";
	"196.2.128.0/17" = "whois.afrinic.net";
	"196.200.0.0/13" = "whois.afrinic.net";
	"200.17.0.0/16" = "whois.nic.br";
	"200.128.0.0/9" = "whois.nic.br";
	"200.0.0.0/8" = "whois.lacnic.net";
	"201.0.0.0/8" = "whois.lacnic.net";
	"202.0.0.0/8" = "whois.apnic.net";
	"203.0.0.0/8" = "whois.apnic.net";
	"210.0.0.0/8" = "whois.apnic.net";
	"211.0.0.0/8" = "whois.apnic.net";
	"212.22.160.0/19" = "whois.afrinic.net";
	"212.0.0.0/8" = "whois.ripe.net";
	"213.136.96.0/19" = "whois.afrinic.net";
	"213.154.64.0/19" = "whois.afrinic.net";
	"213.0.0.0/8" = "whois.ripe.net";
	"217.0.0.0/8" = "whois.ripe.net";
	"218.0.0.0/8" = "whois.apnic.net";
	"219.0.0.0/8" = "whois.apnic.net";
	"220.0.0.0/8" = "whois.apnic.net";
	"221.0.0.0/8" = "whois.apnic.net";
	"222.0.0.0/8" = "whois.apnic.net";

	default = "whois.arin.net";
}

#
# See http://www.iana.org/assignments/ipv6-unicast-address-assignments
#
cidr6-blocks {
	type = cidr6;

	"2001:0000::/23" = "whois.iana.org";
	"2001:0200::/23" = "whois.apnic.net";
	"2001:0400::/23" = "whois.arin.net";
	"2001:0600::/23" = "whois.ripe.net";
	"2001:0800::/23" = "whois.ripe.net";
	"2001:0A00::/23" = "whois.ripe.net";
	"2001:0C00::/23" = "whois.apnic.net";
	"2001:0E00::/23" = "whois.apnic.net";
	"2001:1200::/23" = "whois.lacnic.net";
	"2001:1400::/23" = "whois.ripe.net";
	"2001:1600::/23" = "whois.ripe.net";
	"2001:1800::/23" = "whois.arin.net";
	"2001:1A00::/23" = "whois.ripe.net";
	"2001:1C00::/23" = "whois.ripe.net";
	"2001:1E00::/23" = "whois.ripe.net";
	"2001:2000::/20" = "whois.ripe.net";
	"2001:3000::/21" = "whois.ripe.net";
	"2001:3800::/22" = "whois.ripe.net";
	"2001:4000::/23" = "whois.ripe.net";
	"2001:4200::/23" = "whois.arin.net";
	"2001:4400::/23" = "whois.apnic.net";
	"2001:4600::/23" = "whois.ripe.net";
	"2001:4800::/23" = "whois.arin.net";
	"2001:4A00::/23" = "whois.ripe.net";
	"2001:4C00::/23" = "whois.ripe.net";
	"2001:5000::/20" = "whois.ripe.net";
	"2001:8000::/19" = "whois.apnic.net";
	"2001:A000::/20" = "whois.apnic.net";
	"2001:B000::/20" = "whois.apnic.net";

	"2003:0000::/18" = "whois.ripe.net";

	"2400:0000::/19" = "whois.apnic.net";
	"2400:2000::/19" = "whois.apnic.net";
	"2400:4000::/21" = "whois.apnic.net";
	"2404:0000::/23" = "whois.apnic.net";

	"2600:0000::/22" = "whois.arin.net";
	"2604:0000::/22" = "whois.arin.net";
	"2608:0000::/22" = "whois.arin.net";
	"260C:0000::/22" = "whois.arin.net";
	"2610:0000::/23" = "whois.arin.net";

	"2800:0000::/23" = "whois.lacnic.net";

	"2A00:0000::/21" = "whois.ripe.net";
	"2A01:0000::/16" = "whois.ripe.net";

	#
	# Experimental IPv6 network 6bone (RFC2471)
	# Phaseout at Jun, 6 2006 (RFC3701)
	#
	"3FFE::/16" = "whois.6bone.net";
}

#
# Handles for the various registries.
#
handles {
	type = regex;

	"^!?NET\\(BLK\\)?\\(-[A-Z0-9]+\\)+$" = "whois.arin.net";

	"^COCO-[0-9]+$" = "whois.corenic.net";
	"^CORE-[0-9]+$" = "whois.corenic.net";
	"^COHO-[0-9]+$" = "whois.corenic.net";

	".*-RIPE$" = "whois.ripe.net";
	".*-MNT$" = "whois.ripe.net";
	".*-ARIN$" = "whois.arin.net";
	".*-AP$" = "whois.apnic.net";
	".*-ORG$" = "whois.internic.net";
	".*-DOM$" = "whois.internic.net";
	".*-NORID$" = "whois.norid.no";
	".*-GANDI$" = "whois.gandi.net";
	".*-AU$" = "whois.aunic.net";
	".*-CKNIC" = "whois.nic.ck";
	".*-IDNIC$" = "whois.idnic.net.id";
	".*-KG$" = "whois.domain.kg";
	".*-NICAT$" = "whois.nic.at";
	".*-CZ$" = "whois.nic.cz";
	".*-NICIR$" = "whois.nic.ir";
	".*-UYNIC$" = "www.rau.edu.uy";
	".*-ITNIC$" = "whois.nic.it";
	".*-FRNIC$" = "whois.nic.fr";
	".*-LACNIC$" = "whois.lacnic.net";
	".*-DK$" = "whois.dk-hostmaster.dk";
	".*-SA$" {
		whois-server = "saudinic.net.sa";
		query-format = "PERSON $*";
	}
}

#
# The server-options block defines a number of options specific for
# each host. 
#
server-options {
	"rwhois\\.nic\\.ve" {
		rwhois = true;
		rwhois-display = "dump";
		rwhois-limit = 10;
	}
	"rwhois\\.exodus\\.net" {
		rwhois = true;
	}
	"whois\\.publicinterestregistry\\.net" {
		whois-redirect = ".*Whois Server:\\(.*\\)";
	}
	".*\\.internic\\.net" {
		#
		# This will match output from whois.internic.net. The
		# parenteses must be escaped and should enclose the hostname
		# to which to redirect the search.
		#
		whois-redirect = ".*Whois Server: \\(.*\\)";
	}

	"whois\\.crsnic\\.net" {
		whois-redirect = ".*Whois Server: \\(.*\\)";
	}

	"whois\\.apnic\\.net" {
		whois-redirect = ".*http://\\(whois\\.nic\\.or\\.kr\\)/";
		whois-redirect = ".*at \\([Ww][Hh][Oo][Ii][Ss]\\.[A-Za-z]*\\.[Nn][Ee][Tt]\\)";
	}

	"whois\\.arin\\.net" {
		#
		# Content redirection for whois.arin.net - allows redirection
		# of European and Asia-Pacific addresses to the appropriate
		# servers.
		#
		whois-redirect = ".*at \\([Ww][Hh][Oo][Ii][Ss]\\.[A-Za-z]*\\.[Nn][Ee][Tt]\\)";
		whois-redirect = ".* \\([Rr]+[Ww][Hh][Oo][Ii][Ss]\\.[A-Za-z]*\\.[Nn][Ee][Tt]\\) \\([0-9]*\\)";
		whois-redirect = ".* r?whois://\\([^:]*\\):?\\([0-9]*\\)?/?";
	}

	"whois\\.ncst\\.ernet\\.in" {
		# query-format defines how to format a whois query.
		# The special variable $* will be replaced by
		# the query as specified by the user.
		query-format = "domain $*";
	}

	".*\\.connect\\.com\\.au" {
		#
		# Referals from the net.au whois server.
		#
		whois-redirect =  ".*referto: whois -h \\([^ ]*\\) -p \\([0-9]*\\)";
	}

	"whois\\.co\\.za" {
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/whois.sh";
		form-element = "Domain";			# <input> element
	}

	"www\\.nic\\.es" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/consulta.whois";
		form-element = "key";
		form-extra = "list=Dominios&tipo=procesar";	# Other <input> elements
	}

	"www\\.nic\\.tt" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/search.pl";
		form-element = "name";
	}

	"www\\.um\\.edu\\.mt" {
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/nic/whois";
		form-element = "domain";
	}

	"www\\.gt" {
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/whois.cgi";
		form-element = "domain";
	}

	# This uses an advanced query using the query-format syntax.
	# query-format cannot be combined with form-element or form-extra.
	"www\\.dns\\.hr" {
		http = "true";
		http-method = "POST";
		http-action = "/asp/trazidomenu.asp";
		query-format = "Upit=${+2}"; # All but last domain segment
	}

	"whois\\.offshore\\.ai" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/whois.pl";
		form-element = "domain-name";
	}

	"www\\.io\\.io" {
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/whois";
		form-element = "query";
	}

	"www\\.nic\\.ec" {
		http = "true";
		http-method = "GET";
		http-action = "/consulta/whois.asp";
		form-element = "dominio";
	}

	"www\\.nic\\.gi" {
		http = "true";  # At least, I can't connect on port 43
		http-method = "POST";
		http-action = "/whois/";
		form-element = "lookup";
	}

	"www\\.nic\\.kz" {
		# whois.nic.kz exists but wasn't checkable
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/whois";
		form-element = "query";
	}

	"www\\.nic\\.bi" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/whoisbi.pl"; # Formatting problems in Lynx
		form-element = "DOMAINWHOIS";
	}

	"www\\.nic\\.cg" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/whoiscg.pl"; # Formatting problems in Lynx
		form-element = "DOMAINWHOIS";
	}

	"www\\.nic\\.rw" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/whoisrw.pl"; # Formatting problems in Lynx
		form-element = "DOMAINWHOIS";
	}

	"www\\.tarsus\\.net" {
		http = "true";
		http-method = "POST";
		http-action = "/whois/NameSearch.asp";
		form-element = "searchfor";
	}

	"pknic\\.net\\.pk" {
		http = "true";
		http-method = "POST";
		http-action = "/cgi-bin/pknic-db/display.html";
		form-element = "name";
	}

	"www\\.noc\\.uz" {
		http = "true";
		http-method = "POST";
		http-action = "/whois.php4";
		form-element = "dname";
	}

	"www\\.nic\\.vi" {
		http = "true";
		http-method = "POST";
		http-action = "/whois.asp";
		form-element = "text1";
	}

	"www\\.vnnic\\.net\\.vn" {
		http = "true";
		http-method = "GET";
		http-action = "/dk_tenmien/jsp/whois/whoisdomain_detail.jsp";
		form-element = "type";
	}

	"dns\\.antel\\.net\\.uy" {
		http = "true";
		http-method = "POST";
		http-action = "/public-servlets/buscarDominio";
		form-element = "nomReg";
	}

	"www\\.nic\\.tg" {
		http = "true";
		http-method = "GET";
		http-action = "/moteur/info_dom.php";
		form-element = "domaine";
	}

	"cgi\\.aub\\.edu\\.lb" {
		http = "true";
		http-method = "GET";
		http-action = "/cgi-bin/lbdr.pl";
		form-element = "cn";
	}

	"www\\.vunic\\.vu" {
		http = "true";
		http-method = "POST";
		http-action = "/whois";
		form-element = "whois";
	}

	"whois\\.lacnic\\.net" {
		whois-redirect = ".*\\(whois.nic.br\\)";
		whois-redirect = ".*\\(whois.registro.br\\)";
		whois-redirect = ".* \\([Rr]+[Ww][Hh][Oo][Ii][Ss]\\.[A-Za-z]*\\.[Nn][Ee][Tt]\\) port \\([0-9]*\\)";
	}

	"www\\.nic\\.ar" {
		http = "true";
		http-method = "POST";
		http-action = "/consultas/consdom.html";
		form-element = "nombre";
	}

	"www\\.denic\\.de" {
		http = "true";
		http-method = "POST";
		http-action = "/en/whois/data.jsp";
		form-element = "domainname";
		form-extra = "service=WhoisData&lang=en&submit=Accept";
	}
	"whois\\.denic\\.de" {
		whois-server = "whois.denic.de";
		query-format = "-C UTF-8 -T dn,ace $*";
		answer-charset = "UTF-8";
	}
	"whois\\.nic\\.ad\\.jp" {
		query-format = "$*/e";
	}
	"whois\\.nic\\.ch" {
		answer-charset = "UTF-8";
	}
	"whois\\.nic\\.li" {
		answer-charset = "UTF-8";
	}
	"whois\\.centralnic\\.*" {
                whois-redirect = ".*Whois Server: \\(.*\\)";
        }
	".*\\.verisign-grs\\.com" {
		whois-redirect = ".*Whois Server: \\(.*\\)";
	}
        "whois\\.iana\\.org" {
                whois-redirect =  ".*refer: *\\([^ ]*\\)";
	}
}

#
# The cache feature is used to provide a local cache with Whois information.
# Note that the cache feature might have been disabled at compile time and
# thus not be available on this system.
#
# By default, the location of the database is /usr/local/var/jwhois.db and the
# default expire time is 7 days, but you can change those below.
#
#cachefile = "/var/lib/jwhois.db";

#
# This is the time after which an entry expires from the cache in hours.
#
#cacheexpire = 168;

#
# If you're using the whois-servers support, you can specify this option
# to override the compiled in domain for that service.
#
#whois-servers-domain = "whois-servers.net";

#
# Path to the browser to use for HTTP servers.
#
browser-pathname = "/usr/bin/lynx";

#
# Command line argument to browser to get output on stdout.
#
browser-stdarg = "-dump";

#
# Command line argument to browser to perform a POST operation.
# Jwhois currently supports the format used by Lynx and W3M.
#
browser-postarg = "-post_data";

#
# Select the method for which Jwhois sends POST data to the browser.
# If post-as-file is false, Jwhois will send the data on stdin
# terminated with three dashes on an empty line, i.e the format that
# Lynx expects.
# If post-as-file is true, Jwhois will create a temporary file with
# the post data and send the file name after the browser-postarg
# parameter, i.e the format that W3M expects.
#
post-as-file = "false";

#
# To use w3m instead of Lynx, use this configuration:
#
# browser-pathname = "/usr/bin/w3m";
# browser-stdarg = "-dump";
# browser-postarg = "-post";
# post-as-file = "true";
#

#
# Set connect-timeout to a positive integer to make the connection to
# remote hosts timeout after the specified number of seconds, if the
# remote host doesn't reply. By default, the timeout is 75 seconds.
#
#connect-timeout = 3;


More information about the AusNOG mailing list