GNU JWhois is an Internet Whois client that queries hosts for information according to RFC 3912.

Mathieu Lirzin 8f61b46150 cache: Move possible unused variables issues 4 years ago
.gnulib @ 35a51f8031 abaa987b8e build: Update gnulib submodule to latest. 5 years ago
doc 6964c24072 doc: Fix typo in RFC URL. 5 years ago
example 25e95709b0 jwhois.conf: Update repository address. 6 years ago
m4 b584d1290c build: Add code coverage. 5 years ago
po 7b436b7279 jwhois: Parse command line arguments in 'jwhois.c'. 5 years ago
src 8f61b46150 cache: Move possible unused variables issues 4 years ago
tests b9ee8eefb2 tests: Initialize locale data and program names. 5 years ago
.dir-locals.el befb4cc62e maint: Configure emacs automatically. 5 years ago
.gitignore 47b3a6618a maint: Delete 'jwhois.spec'. 5 years ago
.gitmodules 32c45f50b8 maint: Update the bootstrap process. 6 years ago
.prev-version 3669c8a1cf maint: Add '.prev-version' file. 5 years ago
AUTHORS 738674ea1b Updated name and email address 7 years ago
BUGS 35e600c183 Update to 3.1.0 20 years ago
COPYING 04791442da maint: Remove empty lines at EOF. 5 years ago
ChangeLog.old 2e90e25aa4 build: Generate ChangeLog upon 'make dist'. 6 years ago 63161cd8a6 build: Move convenience library to 'src' directory. 5 years ago
NEWS b4cf62a69f maint: Reformat old NEWS. 5 years ago
README 4c3d494bde build: Add '--enable-default-host' configure option. 6 years ago
README-hacking 1810655bbb maint: Add README-hacking. 6 years ago
TODO 83242e575e Want IDNA support 17 years ago
bootstrap 45b9d14505 build: Update .gnulib submodule to latest. 6 years ago
bootstrap.conf 156ea40e6f build: Import 'xalloc-die' module from Gnulib. 5 years ago 3669c8a1cf maint: Add '.prev-version' file. 5 years ago 47b3a6618a maint: Delete 'jwhois.spec'. 5 years ago


This is jwhois, an improved Whois client capable of selecting Whois server
to query based on a flexible configuration file using either regular
expressions or CIDR blocks.

Please send bug reports, suggestions, improvements, rewrites and other
material to

1. Configuration file
2. ./configure
2.1 Default Host
2.2 Cache Functionality
3. IPv6 support
4. What to do when things go wrong
5. Obtaining jwhois
6. What to do after you've gotten things to work
7. The history of jwhois

1. Configuration File

In the example/ subdirectory in the distribution archive is an example
configuration file for jwhois. This file should contain all of the known
public Whois server records. Any changes to either host listed in that
example configuration file should be reported to the maintainer so that
the change can be included in future releases.

The configuration file should reside in the /usr/local/etc directory,
or the directory that you specified using the --sysconfdir switch to the
configure script.

2. ./configure

2.1. Default Host

If jwhois can't find any configuration file, the queries will be
directed to a default host. The default value is `',
but this can be changed by using the --enable-default-host switch to
the configure script.

2.2. Cache Functionality

This version of jwhois includes a functionality that can cache Whois
responses. The cached information is stored in a local database which can
be read and written to by jwhois. The default location for this file
is /usr/local/var, but this can be changed by adding another directory
with --localstatedir= when running the configure script.

The location of the database can also be set in the configuration file.
For this to work, jwhois has to be able to read and write to the cache file.
If you're on a single-user machine, this can be done easily by creating a
cache file and changing the owner of it to the user you're running as. If you
have several users, you would normally allow a specific group to write to the
cache file and setgid the jwhois binary to this group.

If you don't know how to do this, you can ask someone in your area with
more UNIX experience. Chances are, if you don't use jwhois actively, there
is little point in configuring a cache since it would not be used very much

3. IPv6 Support

jwhois has support for IPv6 using the inet6-apps package from The
Inner Net. The package is delivered with the libinet6.a library which
consists of a number of functions required for IPv6, such as improved
versions of getaddrinfo(). If your systems C library already has support
for IPv6 in getaddrinfo(), you don't need the inet6-apps package.

4. What to do when things go wrong

There is a command line switch called -v or --verbose. Use it. The
output that it gives can give significant help with locating a potential
problem with jwhois. When attempting to use the cache feature, the most
common problem is that jwhois doesn't have permission to write the database
files that it need. Use the verbose flag to see if this is indeed the problem.

If you want to receive even more debugging output, you can specify
multiple -v switches. If you specify more than one -v switch, debugging output
is enabled.

5. Obtaining JWHOIS
JWHOIS can be obtained via anonymous FTP from

6. What to do after you've gotten things to work

If you use JWHOIS and find it useful, you could always send a message to
us at to let us know. You don't have to do this, but we
would appreciate the gesture :-)

7. The history of jwhois

The first public version of jwhois (version 1.1) was released in April
1999. Since then, some ten public releases has been made, arriving at the
jwhois as it exists today. Here is a brief outline of the development:

1.1 Written in Perl with a standalone caching proxy.
2.0 Rewrite in C. Standalone caching proxy dropped from distribution.
2.1 Better documentation. Support for whois servers on other ports than 43.
2.2 Support for CIDR blocks and IPv6.
2.3 Redirections, caches and i18n are introduced.
2.4 Maintanance release preparing for 3.0
3.0 Rwhois and http support. Rewriting of queries introduced.
3.1 Added "default" to configuration file.
3.2 Added advanced rewrite of queries.

A more detailed list of changes can be found in the file NEWS.