Subject: Re: awhois: which 'whois'?
To: Georg Schwarz <georg.schwarz@freenet.de>
From: Greg A. Woods <woods@weird.com>
List: tech-pkg
Date: 03/21/2005 00:04:16
--pihS82515Y
Content-Type: text/plain; charset=us-ascii
Content-Description: message body and .signature
Content-Transfer-Encoding: 7bit

[ On Sunday, March 20, 2005 at 18:03:32 (+0100), Georg Schwarz wrote: ]
> Subject: awhois: which 'whois'?
>
> net/awhois attempts to call a command 'whois'. As far as I can see, no
> package installs a command under this name. Is it assumed that this
> comes from the OS?

Yes, awhois just uses the base-OS "whois" command, and it expects to
find one very much like the traditional BSD version (it must support the
'-h' flag to specify the server -- that flag is always used).

I'm somewhat flabbergasted that there's a package for my little old
script in the first place though.  I never even noticed it before!  ;-)

I haven't touched awhois, let alone used it myself, for many years now.
I wasn't even really using it myself when I made the last release.  Not
so long ago I was actually thinking of removing it from the FTP sites
since it almost certainly gives poor results these days.  However I'm
always loathe to remove published stuff that someone might have links
to, even if it's only of historical interest.

These days I only use, and highly recommend, net/jwhois (which, BTW,
doesn't require any external commands :-)  Note the package needs
updating to use the new 3.2.3 release, and I find the attached config
file improves greatly on the release version.

-- 
						Greg A. Woods

H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <woods@robohack.ca>
Planix, Inc. <woods@planix.com>          Secrets of the Weird <woods@weird.com>



--pihS82515Y
Content-Type: text/plain
Content-Description: jwhois.conf -- configuration file for jwhois
Content-Disposition: inline;
	filename="jwhois.conf"
Content-Transfer-Encoding: 7bit

# This is jwhois.conf - the 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";
	"^CORE-[0-9]+$" = "struct handles";
	"^CO[CH]O-[0-9]+$" = "struct handles";
	".*-[A-Z]+$" = "struct handles";
	"^[^\.]*[A-Z]+$" = "struct handles";

	#
	# Catch AS numbers
	#
	"^[0-9]+$" = "whois.arin.net";
	"^AS[0-9]+$" = "whois.arin.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";
 
	#
	# Sub-TLA Assignments
	# see http://www.iana.org/assignments/ipv6-tla-assignments
	#
	"^2001:0?[01][A-F0-9][A-F0-9]:.+" = "whois.iana.org";
	"^2001:0?[23][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
	"^2001:0?[45][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
	"^2001:0?[67][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:0?[89][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:0?[AB][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:0?[CD][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
	"^2001:0?[EF][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
	"^2001:1[23][A-F0-9][A-F0-9]:.+" = "whois.lacnic.net";
	"^2001:1[45][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:1[67][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:1[89][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
	"^2001:1[AB][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:1[CD][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:1[EF][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:2[A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:3[A-B0-9][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:4[01][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:4[23][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
	"^2001:4[45][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
	"^2001:4[67][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:4[89][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
	"^2001:4[AB][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	"^2001:4[CD][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	# ...
	"^2001:5[A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
	# ...
	"^2001:[89A][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";

	#
	# Historical IPv6 catch-all
	#
	".*:.*" = "whois.6bone.net";

	#
	# 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";

	#
	# Pseudo-ccTLDs must be listed above gTLDs
	#
	"\\.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";
	"\\.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";
	"\\.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.ripe.net";
	"\\.bi$" = "www.nic.bi";
	"\\.biz$" = "whois.neulevel.biz";
	"\\.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";
	"\\.cc$" = "whois.nic.cc";
	"\\.cg$" = "www.nic.cg";
	"\\.ch$" = "whois.nic.ch";
	"\\.ck$" = "whois.nic.ck";
	"\\.cl$" = "whois.nic.cl";
	"\\.edu\\.cn$" = "whois.edu.cn";
	"\\.cn$" = "whois.cnnic.net.cn";
	"\\.com$" {
		whois-server = "whois.internic.net";
		query-format = "domain $*";
	}
	"\\.coop$" = "whois.nic.coop";
	"\\.cx$" = "whois.nic.cx";
	"\\.cy$" = "whois.ripe.net";
	"\\.cz$" = "whois.nic.cz";
	"\\.de$" = "www.denic.de";
	"\\.dk$" = "whois.dk-hostmaster.dk";
	"\\.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";
	"\\.fi$" = "whois.ficora.fi";
	"\\.fj$" = "whois.usp.ac.fj";
	"\\.fm$" = "www.dot.fm";
	"\\.fo$" = "whois.ripe.net";
	"\\.fr$" = "whois.nic.fr";
	"\\.gi$" = "whois.gibnet.gi";
	"\\.gov$" = "whois.nic.gov";
	"\\.gg$" = "whois.isles.net";
	"\\.gm$" = "whois.ripe.net";
	"\\.gr$" = "whois.ripe.net";
	"\\.gs$" = "whois.adamsnames.tc";
	"\\.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.ncst.ernet.in";
	"\\.info$" = "whois.afilias.info";
	"\\.int$" = "whois.iana.org";
	"\\.io$" = "www.io.io";
	"\\.ir$" = "whois.nic.ir";
	"\\.im$" = "www.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";
	"\\.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";
	"\\.ma$" = "whois.ripe.net";
	"\\.mil$" = "whois.nic.mil";
	"\\.mk$" = "whois.ripe.net";
	"\\.mm$" = "whois.nic.mm";
	"\\.ms$" = "whois.adamsnames.tc";
	"\\.mt$" = "www.um.edu.mt";
	"\\.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.internic.net";
		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";
	"\\.pro$" = "whois.nic.pro";
	"\\.pt$" = "whois.dns.pt";
	"\\.pw$" = "whois.nic.pw";
	"\\.ro$" = "whois.rotld.ro";
	"\\.ru$" = "whois.ripn.net";
	"\\.rw$" = "www.nic.rw";
	"\\.sa$" = "saudinic.net.sa";
	"\\.se$" = "whois.nic-se.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.adamsnames.tc";
	"\\.tg$" = "www.nic.tg";
	"\\.th$" = "whois.thnic.net";
	"\\.tj$" = "whois.nic.tj";
	"\\.tk$" = "whois.dot.tk";
	"\\.tm$" = "whois.nic.tm";
	"\\.tn$" = "whois.ripe.net";
	"\\.to$" = "whois.tonic.to";
	"\\.tr$" = "whois.metu.edu.tr";
	"\\.tt$" = "www.nic.tt";
	"\\.tv$" = "whois.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$" = "rwhois.nic.ve 4321";
	"\\.vi$" = "www.nic.vi";
	"\\.vg$" = "whois.adamsnames.tc";
	"\\.vn$" = "www.vnnic.net.vn";
	"\\.vu$" = "www.vunic.vu";
	"\\.ws$" = "whois.worldsite.ws";
	"\\.yu$" = "whois.ripe.net";
	"\\.gb.com$" = "whois.centralnic.net";
	"\\.gb.net$" = "whois.centralnic.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.internic.net";
		# Make sure we only match on domain names
		query-format = "domain $*";
	}
}

#
# 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
	"159.147.0.0/16" = "whois.ripe.net";	# ARIN NET-159-147-0-0-1
	"159.148.0.0/15" = "whois.ripe.net";	# ARIN NET-159-147-0-0-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
	"168.187.0.0/16" = "whois.ripe.net";	# ARIN RIPE-ERX-168-187-0-0 NET-168-187-0-0-1
	"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";

	"24.132.0.0/16" = "whois.ripe.net";
	"24.232.0.0/16" = "whois.lacnic.net";
	"43.0.0.0/8" = "whois.v6nic.net";
	"59.0.0.0/8" = "whois.apnic.net";
	"61.0.0.0/8" = "whois.apnic.net";
	"62.0.0.0/8" = "whois.ripe.net";
	"80.0.0.0/8" = "whois.ripe.net";
	"81.192.0.0/16" = "whois.afrinic.net";
	"81.0.0.0/8" = "whois.ripe.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";
	"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";
	"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";
	"145.0.0.0/9" = "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";
	"156.17.0.0/16" = "whois.ripe.net";
	"156.18.0.0/16" = "whois.ripe.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";
	"163.1.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.152.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";
	"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";
	"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.164.0.0/16" = "whois.ripe.net";
	"193.0.0.0/8" = "whois.ripe.net";
	"194.0.0.0/8" = "whois.ripe.net";
	"195.0.0.0/8" = "whois.ripe.net";
	"196.200.0.0/13" = "whois.afrinic.net";
	"200.17.0.0/16" = "whois.nic.br";
	"200.18.0.0/16" = "whois.nic.br";
	"200.19.0.0/16" = "whois.nic.br";
	"200.20.0.0/16" = "whois.nic.br";
	"200.32.64.0/19" = "whois.arin.net";
	"200.41.0.0/17" = "whois.arin.net";
	"200.96.0.0/13" = "whois.registro.br";	# 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.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";
	"223.0.0.0/8" = "whois.apnic.net";

	# HANANET
	# whois.apnic.net doesn't really have a usable redirect string....
	"218.232.0.0/16" = "whois.nic.or.kr";
	"218.233.0.0/16" = "whois.nic.or.kr";
	"218.234.0.0/16" = "whois.nic.or.kr";

	default = "whois.arin.net";
	#
	# NOTE:  I'd rather just do this instead, but you're currently
	# not allowed to specify a block of values unless the key is
	# of type=regex.
	#
	#default {
	#	whois-server = "whois.arin.net";
	#	query-format = "+$*";		# expand all records
	#}
}

#
# 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";
	"^[^\.]+JP$" {
		whois-server = "whois.nic.ad.jp";
 		query-format = "$* /e";
	}
	".*-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;
	}
	"rwhois\\.gnaps\\.com" {
		rwhois = true;
		rwhois-display = "dump";
	}
	"rwhois\\.intermedia\\.com\\.ar" {
		rwhois = true;
		rwhois-display = "dump";
	}
	"whois\\.publicinterestregistry\\.net" {
		whois-redirect = ".*Whois Server:\\([0-9A-Za-z\\.]*\\)";
	}
	".*\\.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-redirect = ".* whois server at \\([Ww][Hh][Oo][Ii][Ss]\\.[^ ]*\\) ";
# bogus
#		whois-redirect = "^remarks:[ 	]*http://\\([^/]*\\)";
#		whois-redirect = "^descr:[ 	]*\"http://\\([^/]*\\)";
	}

	"whois\\.arin\\.net" {
		#
		# Content redirection for whois.arin.net - allows redirection
		# of European and Asia-Pacific addresses to the appropriate
		# servers.
		#	
		whois-redirect = ".*[ 	:]\\([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 = ".*[ 	:]rwhois://\\(.*\\):\\([0-9]*\\)/";
		whois-redirect = ".*[ 	:]whois://\\(.*\\):\\([0-9]*\\)/?.*";
		whois-redirect = ".*[ 	:]whois://\\(.*\\)/?.*";
		# 
		# NOTE: I'd rather just do this for CIDR blocks, but
		# you're not currently allowed to specify a block of
		# settings if the key is of type=cidr.
		# 
 		query-format = "+$*";		# expand all records
	}

	"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 $*";
	}

	"whois\\.nic\\.ad\\.jp" {
 		query-format = "$* /e";
	}

	".*\\.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\\.dk-hostmaster\\.dk" {
		http = "true";
		http-method = "GET";
		http-action = "/script/whois.php";
		form-element = "query";
		form-extra = "lang=eng";
	}

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

	"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 = "POST";
		http-action = "/cgi-bin/whois";
		form-element = "W1";
	}

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

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

	"www\\.nic\\.kz" {
		# whois.nic.kz exists but refuses connections on port 43
		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 = ":443/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 = ".* \\([Rr]+[Ww][Hh][Oo][Ii][Ss]\\.[A-Za-z]*\\.[Nn][Ee][Tt]\\) port \\([0-9]*\\)";
		whois-redirect = ".*at \\(whois\\.[^ 	]*\\) ";
		whois-redirect = ".*[Rr]eassignment information for this block is available at: \\([^ ]*\\) port \\([0-9]*\\)";
		whois-redirect = ".*[Rr]eassignment information for this block is available at: \\([^ ]*\\)$";
		whois-redirect = ".*[Rr]eassignment information for this block of addresses can be found at \\([^ :]*\\):\\([0-9]*\\):[a-z]*$";
	}

	"www\\.nic\\.im" {
		http = "true";
		http-method = "GET";
		http-action = "/scripts/imreg/domenq.asp";
		form-element = "domain";
	}

	"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";
	}
}

#
# The cache feature is used to provide a local cache with Whois information.
# By default, the location of the database is /var/db/jwhois.db and the
# default expire time is 7 days, but you can change those below.
#
#cachefile = "/var/db/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.
#
# XXX this should really just use $PATH and be just the command-name.
#
#browser-pathname = "/usr/bin/ftp";
browser-pathname = "/usr/pkg/bin/lynx";

#
# Command line argument to browser to get output on stdout.
#
#browser-stdarg = "-V -o -";
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";
#

--pihS82515Y--