jonasob / jwhois Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
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 [email protected]. 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 `whois.internic.net', but this can be changed by using the --enable-DEFAULTHOST 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=<dir> 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 anyway. 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 ftp://ftp.gnu.org/gnu/jwhois/ 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 [email protected] 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.
Some registries do unfortunately not provide a classic whois server at all but only a webbased whois that requires captcha or other kinds of manual interaction. For users querying such a TLD it might be helpful to print a text like this:
%
% The responsible domain name registry unfortunately does not provide
% neither a RFC compliant whois service nor some other kind of whois
% service that could be queried without a graphical user interface. So
% this whois request has to be performed manually using a web browser.
%
Domain : <Domain>
Registry: <URL>
The configuration file option could be webwhois
with the URL of the registry for the whois service as value.
I think that after so many years it woud be good to make new release.
Is this projest still alive?
The downstream patch by Lubomir Kundrak ([email protected]) at http://pkgs.fedoraproject.org/cgit/jwhois.git/tree/jwhois-4.0-connect.patch to fix IPv4 connections is a bit different compared to the upstream implementation.
Could somebody being knowledged enough in C review these differences and decide if these are needed at upstream as well or if the current upstream code is fine, please?
---------- Forwarded message ----------
From: Szépe Viktor
Date: 20 August 2014 at 11:22
Subject: loclae
To: [email protected]
Good morning!
Is it possile to tell jwhois (in a variable or config option) to
always speak en_US.utf8?
All the best wishes to you!
Szépe Viktor
via Email
January 08, 2015 at 09:14AM
---------- Forwarded message ----------
From: Andrew Daviel
Date: 20 March 2010 at 17:51
Subject: jwhois does not support NET6 records
To: [email protected]
jwhois 2001:4978:f:431::2 should ideally return data from whois
2001:4978:f:431::[email protected]
It returns NET6-2001-4978-1 and NET6-2001-4978-F-1.
jwhois NET6-2001-4978-F-1 looks in Internic. It should look in ARIN
for NET6. This helps:
--- /etc/jwhois.conf.orig2008-10-13 07:16:42.000000000 -0700
+++ /etc/jwhois.conf2010-03-20 09:40:18.000000000 -0700
@@ -44,6 +49,7 @@
"^!?NET(BLK)?(-[A-Z0-9]+)+$" = "whois.arin.net";
+"^!?NET6(BLK)?(-[A-Z0-9]+)+$" = "whois.arin.net";
@@ -635,6 +650,7 @@
type = regex;
"^!?NET(BLK)?(-[A-Z0-9]+)+$" = "whois.arin.net";
+"^!?NET6(BLK)?(-[A-Z0-9]+)+$" = "whois.arin.net";
Now at least I get SixXS's ARIN record, if not the final details from
sixxs whois
via Email
January 08, 2015 at 09:20AM
---------- Forwarded message ----------
From: IBCI.com Sales
Date: 25 March 2010 at 15:42
Subject: Re: OUR whois was working yesterday, not today: what does the
below mean
To: [email protected]
Cc: Sales IBCI
WE THINK WE FOUND THE TROUBLE, IT IS THE REGISTRAR PACNAMES.COM DATABASE IS DOWN
----- Original Message -----
From: IBCI.com Sales
To: [email protected]
Sent: Thursday, March 25, 2010 10:35 AM
Subject: OUR whois was working yesterday, not today: what does the below mean
Whois Details
Warning: eregi() [function.eregi]: REG_EMPTY in
/home/domain/domainname-search-www/whois/functions.php on line 206
Below are the whois records for latrattoriact.all
jwhois version 3.2.2, Copyright (C) 1999-2003 Free Software Foundation, Inc.
This program is free software with ABSOLUTELY NO WARRANTY; you may
redistribute it under the terms of the GNU General Public License.
--version display version number and patch level
--help display this help
-v, --verbose verbose debug output
-c FILE, --config=FILE use FILE as configuration file
-h HOST, --host=HOST explicitly query HOST
-n, --no-redirect disable content redirection
-s, --no-whoisservers disable whois-servers.net service support
-a, --raw disable reformatting of the query
-i, --display-redirections display all redirects instead of hiding them
-p PORT, --port=PORT use port number PORT (in conjunction with HOST)
-r, --rwhois force an rwhois query to be made
--rwhois-display=DISPLAY sets the display option in rwhois queries
--rwhois-limit=LIMIT sets the maximum number of matches to return
-f, --force-lookup force lookup even if the entry is cached
-d, --disable-cache disable cache functions
Report bugs to [email protected]
via Email
January 08, 2015 at 09:20AM
There are webbased WHOIS servers (such as www.nic.tt) who only work with HTTPS. Basically the configured textbased webclient (as per browser-pathname
) is doing the job, however jwhois
has to pass "https://" rather "http://" to the browser. And this requires e.g. https = true
additionally to http = true
as option.
Would it make sense to display a message to users which are performing a WHOIS to a valid TLD that does not have any WHOIS server? Unfortunately there are (especially ccTLDs of small countries having small or no Internet connection) TLDs without any WHOIS server, neither even webbased nor classical WHOIS. I could imagine that jwhois gives a response like this:
%
% The responsible domain name registry unfortunately does not provide any
% kind of automated whois service. For the domain owner or administrative
% contact information, please contact the registry directly via post, fax
% phone or e-mail using the registry contact information at IANA.
%
Domain: <domain>
Ideas? Comments?
From @jodrell:
"As you may know, several hundred new gTLDs have recently been delegated and another thousand will roll out this year. They can easily be supported by changing jwhois to use "whois.nic.TLD" as the server for any unknown generic TLD (ie the last label in the domain matches /^A-Z{2,63}$/i). Is that something that can be expressed in the configuration file syntax or does it require a change to the code?"
---------- Forwarded message ----------
From: Jonas Öberg
Date: 8 January 2015 at 09:14
Subject: Update translations #jwhois-bug
To: [email protected]
There are several new translations from translationproject.org, which
should all be integrated into jwhois.
---------- Forwarded message ----------
From: Translation Project Robot
Date: 2014-05-23 21:32 GMT+02:00
Subject: Contents of PO file 'jwhois-4.0.hu.po'
To: [email protected]
The Translation Project robot, in the
name of your translation coordinator.
<br><br>
via Email
January 08, 2015 at 09:21AM
The following values in the default jwhois.conf need to be updated from
"\\.au$" = "whois.audns.net.au";
"\\.asn\\.au$" = "whois.ausregistry.net.au";
"\\.com\\.au$" = "whois.ausregistry.net.au";
"\\.edu\\.au$" = "whois.ausregistry.net.au";
"\\.id\\.au$" = "whois.ausregistry.net.au";
"\\.net\\.au$" = "whois.ausregistry.net.au";
"\\.org\\.au$" = "whois.ausregistry.net.au";
to
"\\.au$" = "whois.auda.org.au";
"\\.asn\\.au$" = "whois.auda.org.au";
"\\.com\\.au$" = "whois.auda.org.au";
"\\.edu\\.au$" = "whois.auda.org.au";
"\\.id\\.au$" = "whois.auda.org.au";
"\\.net\\.au$" = "whois.auda.org.au";
"\\.org\\.au$" = "whois.auda.org.au";
As per https://www.domainregistration.com.au/news/2018/0604-au-registry-operator.php
---------- Forwarded message ----------
From: Jonas Öberg
Date: 8 January 2015 at 09:18
Subject: Fwd: crippling bug in jwhois #jwhois-bug
To: [email protected]
---------- Forwarded message ----------
From: Eesger Toering (Knooppunt)
Date: 24 February 2014 at 14:59
Subject: crippling bug in jwhois
To: [email protected]
Hello,
I made an error in a piece of software I wrote. Each hanging process
demands 100% CPU power. I was testing a bit and a dozen process were
fighting for resources, resulted in crippled server!
-------------------------- ps axuw USER
-------------------------------- rs=0 12:52
Duur(m) PID PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
31 14528 14528 27.8 0.0 8628 1012 ? R 12:21 8:44
/usr/bin/whois -h 1 knoop.nl
31 14672 14672 27.2 0.0 8628 1012 ? R 12:21 8:26
/usr/bin/whois -h 1 knoop.nl
30 15106 15106 25.2 0.0 8628 1016 ? R 12:22 7:38
/usr/bin/whois -h 1 knoop.nl
29 15289 15289 24.4 0.0 8628 1012 ? R 12:23 7:18
/usr/bin/whois -h 1 knoop.nl
29 15694 15694 23.6 0.0 8628 1012 ? R 12:23 6:52
/usr/bin/whois -h 1 knoop.nl
28 15844 15844 23.0 0.0 8628 1016 ? R 12:24 6:37
/usr/bin/whois -h 1 knoop.nl
28 16187 16187 22.8 0.0 8628 1012 ? R 12:24 6:26
/usr/bin/whois -h 1 knoop.nl
27 16524 16524 22.4 0.0 8628 1012 ? R 12:25 6:14
/usr/bin/whois -h 1 knoop.nl
25 17571 17571 21.8 0.0 8628 1012 ? R 12:27 5:38
/usr/bin/whois -h 1 knoop.nl
25 17642 17642 21.6 0.0 8628 1016 ? R 12:27 5:32
/usr/bin/whois -h 1 knoop.nl
25 17730 17730 21.8 0.0 8628 1016 ? R 12:27 5:33
/usr/bin/whois -h 1 knoop.nl
25 17804 17804 21.7 0.0 8628 1012 ? R 12:27 5:28
/usr/bin/whois -h 1 knoop.nl
I accidentally placed a '1' for the forced server option (-h). When a
server is given that can not respond error handling is done properly.
I could reproduce it via the command line:
_[[email protected] ~]# whois -h 1 *_querydomain.nl
*
[Querying 1]
^C
( => needed to manually abort!!) *_[[email protected]
*[[email protected] ~]# whois *jwhois version 4.0,
Copyright (C) 1999-2007 Free Software Foundation, Inc.
This program is free software with ABSOLUTELY NO WARRANTY; you may
redistribute it under the terms of the GNU General Public License.
Usage: jwhois [OPTIONS] [QUERY]
--version display version number and patch level
--help display this help
-v, --verbose verbose debug output
-c FILE, --config=FILE use FILE as configuration file
-h HOST, --host=HOST explicitly query HOST
-n, --no-redirect disable content redirection
-s, --no-whoisservers disable whois-servers.net service support
-a, --raw disable reformatting of the query
-i, --display-redirections display all redirects instead of hiding them
-p PORT, --port=PORT use port number PORT (in conjunction with HOST)
-r, --rwhois force an rwhois query to be made
--rwhois-display=DISPLAY sets the display option in rwhois queries
--rwhois-limit=LIMIT sets the maximum number of matches to return
Report bugs to [email protected]
[[email protected] ~]#
If you need further assitance/information, please contact me.
via Email http://ift.tt/14sBgXq
January 08, 2015 at 09:21AM
.Pro has been taken over by Afilias and whois.dotproregistry.net no longer resolves.
Using -h whois.afilias.net works.
---------- Forwarded message ----------
From: David Goelen
Date: 4 September 2014 at 13:34
Subject: new gTLDs in jwhois.conf
To: "[email protected]"
Dear,
Do you know when and how new gTLDs will be added to jwhois and the
jwhois.conf file? This is particular important for us as we are
running two of those new gTLDs (whois.nic.vlaanderen and
whois.nic.brussels for the respective gTLDs) and they are being
launched right now.
Many thanks in advance!
Kind regards,
David Goelen
Operations Manager
+32 16 28 49 70
www.dnsbelgium.be
DNS Belgium vzw/asbl
Ubicenter • Philipssite 5, bus 13 • 3001 Leuven
via Email
January 08, 2015 at 09:11AM
---------- Forwarded message ----------
From: Seiji Ariga
Date: 6 April 2010 at 04:05
Subject: patch for jwhois.conf
To: [email protected], [email protected]
Hello, Jonas.
Please let me send you a small patch for jwhois.conf.
Hope this helps.
// Seiji Ariga
--- jwhois.conf.1.139 2010-04-05 22:02:35.000000000 -0400
+++ jwhois.conf 2010-04-05 22:03:14.000000000 -0400
@@ -49,13 +49,13 @@
"^!?NET(BLK)?(-[A-Z0-9]+)+$" = "whois.arin.net";
#
# Catch Verio netblock records
# Catch ntt.net netblock records
#
"^!?NET\(BLK\)?-VRIO\(-[A-Z0-9]+\)+$" = "rwhois.verio.net";
"^!?NET\\(BLK\\)?-VRIO\\(-[A-Z0-9]+\\)+$" = "rwhois.gin.ntt.net";
#
# Catch Registro .BR ownerid records
#
"^[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+-[0-9]+$" = "whois.nic.br";
via Email
January 08, 2015 at 09:19AM
---------- Forwarded message ----------
From: Jonas Öberg
Date: 8 January 2015 at 09:15
Subject: Fwd: Unable to whois search new TLDs such as .club #jwhois-bug
To: [email protected]
---------- Forwarded message ----------
From: Steven Huang
Date: 9 May 2014 at 00:38
Subject: Unable to whois search new TLDs such as .club
To: [email protected]
Hello,
Many of us have enjoyed the convenience of jwhois but we have found that we
could not search for whois information on newly added TLDs such as .tattoo,
.club etc.
Is there anyway to fix this? Thank you a lot!
Steven
via Email
January 08, 2015 at 09:21AM
I am attempting to update the build process for jwhois to work on recent systems (I am using Ubuntu 14.04). The code does not build successfully as checked out from git. I can offer some patches but perhaps you know how to get it working from here.
In particular, are there any files missing, such as m4/Makefile.in?
Why does autogen.sh corrupt configure.ac (see end)?
(I can offer the following as a git pull request if this would help.)
My build procedure so far is:
$ git clone https://github.com/jonasob/jwhois.git
$ cd jwhois
// Edit autogen.sh to work with most recent automake-1.14 (quick hack). Change as follows:
$ git diff
diff --git a/autogen.sh b/autogen.sh
index 3f7fc9e..879abbc 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -247,7 +247,7 @@ case $REQUIRED_AUTOMAKE_VERSION in
1.6*) automake_progs="automake-1.6 automake-1.7 automake-1.8 automake-1.9" ;;
1.7*) automake_progs="automake-1.7 automake-1.8 automake-1.9" ;;
1.8*) automake_progs="automake-1.8 automake-1.9" ;;
- 1.9*) automake_progs="automake-1.9" ;;
+ 1.9*) automake_progs="automake-1.9 automake-1.14" ;;
esac
version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION \
"http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz" || DIE=1
// Remove a deprecation warning by renaming configure.in:
$ git mv configure.in configure.ac
// Edit configure.ac to remove deprecation warnings. (Changes as follows).
$ git diff configure.ac
diff --git a/configure.ac b/configure.ac
index f1cdd10..119abf3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,10 +17,9 @@ dnl Process this file with autoconf to produce a configure script.
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##
-AC_INIT
+AC_INIT([jwhois], [4.0])
AC_CONFIG_SRCDIR([src/jconfig.c])
-AM_INIT_AUTOMAKE(jwhois,4.0)
-AM_CONFIG_HEADER(config.h)
+AM_INIT_AUTOMAKE
AH_TEMPLATE([PACKAGE], [package name])
AH_TEMPLATE([VERSION], [package version])
Then run: $ ./autogen.sh
configure.ac:210: error: `po/Makefile.in' is already registered with AC_CONFIG_FILES.
../../lib/autoconf/status.m4:288: AC_CONFIG_FILES is expanded from...
configure.ac:210: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal-1.14: error: echo failed with exit status: 1
It turns out that autogen.sh has duplicated the po/Makefile.in reference in configure.ac.
-AC_OUTPUT([ po/Makefile.in m4/Makefile
+AC_OUTPUT([ po/Makefile.in m4/Makefile po/Makefile.in
Is this a bug in autogen.sh?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.