# 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";
    "^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";
 
    #
    # 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:[89AB][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
    # 2003:0000::/18
    "^2003:[0123][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
    # 2400:0000::/19
    "^2400:[01][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
    # 2400:2000::/19
    "^2400:[23][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
    # 2400:4000::/21
    "^2400:4[0-7][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
    # 2404:0000::/23
    "^2404:0?[01][A-F0-9][A-F0-9]:.+" = "whois.apnic.net";
    # 2600:0000::/22
    "^2600:0?[0-3][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
    # 2604:0000::/22
    "^2604:0?[0-3][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
    # 2608:0000::/22
    "^2608:0?[0-3][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
    # 260C:0000::/22
    "^260C:0?[0-3][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
    # 2610:0000::/23
    "^2610:0?[0-1][A-F0-9][A-F0-9]:.+" = "whois.arin.net";
    # 2800:0000::/23
    "^2800:0?[0-1][A-F0-9][A-F0-9]:.+" = "whois.lacnic.net";
    # 2A00:0000::/21
    "^2A00:0?[0-7][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
    # 2A01:0000::/16
    "^2A01:[A-F0-9][A-F0-9][A-F0-9][A-F0-9]:.+" = "whois.ripe.net";
    
    #
    # Experimental IPv6 network 6bone (RFC2471)
    # Phaseout at Jun, 6 2006 (RFC3701)
    #
    "^3FFE:.+" = "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";

    #
    # 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";
    "\\.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";
    "\\.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";
    "\\.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";
    "\\.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";
    "\\.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.inregistry.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";
    "\\.mobi$" = "whois.dotmobiregistry.net";
    "\\.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.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";
    "\\.pro$" = "whois.registrypro.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$" = "www.nic-se.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";
    "\\.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
    "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.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.135.36.0/17" = "whois.afrinic.net";
    "62.0.0.0/8" = "whois.ripe.net";
    "80.87.64.0/19" = "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";
}

#
# 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-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 = "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\\.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";
    }
    "whois\\.denic\\.de" {
        whois-server = "whois.denic.de";
        query-format = "-C UTF-8 -T dn,ace $*";
    }
    "whois\\.nic\\.ad\\.jp" {
        query-format = "$*/e";
    }
}

#
# The cache feature is used to provide a local cache with Whois information.
# 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";
#