whois 3.0.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +31 -0
- data/data/ipv4.json +23 -12
- data/data/tld.json +5 -4
- data/lib/whois/client.rb +0 -6
- data/lib/whois/record.rb +1 -1
- data/lib/whois/record/parser/whois.bn.rb +70 -0
- data/lib/whois/record/parser/whois.dns.be.rb +22 -4
- data/lib/whois/record/parser/whois.dns.pl.rb +1 -1
- data/lib/whois/record/parser/whois.dotpostregistry.net.rb +27 -0
- data/lib/whois/record/parser/whois.registry.net.za.rb +30 -19
- data/lib/whois/record/parser/whois.tld.sy.rb +30 -0
- data/lib/whois/record/parser/whois.ua.rb +1 -1
- data/lib/whois/record/scanners/whois.registry.net.za.rb +14 -13
- data/lib/whois/record/super_struct.rb +1 -2
- data/lib/whois/server.rb +2 -0
- data/lib/whois/server/adapters/arin.rb +52 -0
- data/lib/whois/server/socket_handler.rb +1 -3
- data/lib/whois/version.rb +1 -1
- data/whois.gemspec +2 -2
- metadata +6 -2
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,37 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
3
|
|
4
|
+
## Release 3.1.0
|
5
|
+
|
6
|
+
- SERVER: Added .POST (GH-192) TLD definition.
|
7
|
+
|
8
|
+
- SERVER: Updated .BN (GH-214), .SY (GH-196) TLD definitions.
|
9
|
+
|
10
|
+
- NEW: Added #domain and #registrar to whois.dns.be parser (GH-216). [Thanks @chuckadams]
|
11
|
+
|
12
|
+
- NEW: Added full whois.dotpostregistry.net parser (GH-192).
|
13
|
+
|
14
|
+
- NEW: Added full whois.tld.sy parser (GH-196).
|
15
|
+
|
16
|
+
- NEW: Added whois.bn parser (GH-214).
|
17
|
+
|
18
|
+
- CHANGED: Rescue all SystemCallError instead of a few Errno errors (GH-212). [Thanks @mat813]
|
19
|
+
|
20
|
+
- CHANGED: Removed deprecated method Whois::Client#query.
|
21
|
+
|
22
|
+
- CHANGED: Removed deprecated initialization of SuperStruct via Array.
|
23
|
+
|
24
|
+
- FIXED: whois.ua should support status `ok`.
|
25
|
+
|
26
|
+
- FIXED: whois.registry.net.za crashes when the registrant doesn't have a name.
|
27
|
+
|
28
|
+
- FIXED: whois.dns.pl crashes when expiration date is not defined.
|
29
|
+
|
30
|
+
- FIXED: Handle ReferralServer directive in ARIN whois queries (GH-204, GH-37). [Thanks @linrock]
|
31
|
+
|
32
|
+
- FIXED: Record#technical_contact raised a NoMethodError (GH-217). [Thanks @yspro]
|
33
|
+
|
34
|
+
|
4
35
|
## Release 3.0.0
|
5
36
|
|
6
37
|
- SERVER: Added .AX TLD definition.
|
data/data/ipv4.json
CHANGED
@@ -145,7 +145,8 @@
|
|
145
145
|
"host": "whois.apnic.net"
|
146
146
|
},
|
147
147
|
"0.0.0.0/1": {
|
148
|
-
"host": "whois.arin.net"
|
148
|
+
"host": "whois.arin.net",
|
149
|
+
"adapter": "arin"
|
149
150
|
},
|
150
151
|
"133.0.0.0/8": {
|
151
152
|
"host": "whois.nic.ad.jp"
|
@@ -163,7 +164,8 @@
|
|
163
164
|
"host": "whois.ripe.net"
|
164
165
|
},
|
165
166
|
"141.86.0.0/16": {
|
166
|
-
"host": "whois.arin.net"
|
167
|
+
"host": "whois.arin.net",
|
168
|
+
"adapter": "arin"
|
167
169
|
},
|
168
170
|
"141.64.0.0/11": {
|
169
171
|
"host": "whois.ripe.net"
|
@@ -364,16 +366,19 @@
|
|
364
366
|
"host": "whois.lacnic.net"
|
365
367
|
},
|
366
368
|
"128.0.0.0/2": {
|
367
|
-
"host": "whois.arin.net"
|
369
|
+
"host": "whois.arin.net",
|
370
|
+
"adapter": "arin"
|
368
371
|
},
|
369
372
|
"192.71.0.0/16": {
|
370
373
|
"host": "whois.ripe.net"
|
371
374
|
},
|
372
375
|
"192.72.253.0/24": {
|
373
|
-
"host": "whois.arin.net"
|
376
|
+
"host": "whois.arin.net",
|
377
|
+
"adapter": "arin"
|
374
378
|
},
|
375
379
|
"192.72.254.0/24": {
|
376
|
-
"host": "whois.arin.net"
|
380
|
+
"host": "whois.arin.net",
|
381
|
+
"adapter": "arin"
|
377
382
|
},
|
378
383
|
"192.72.0.0/16": {
|
379
384
|
"host": "whois.apnic.net"
|
@@ -397,7 +402,8 @@
|
|
397
402
|
"host": "whois.ripe.net"
|
398
403
|
},
|
399
404
|
"192.0.0.0/8": {
|
400
|
-
"host": "whois.arin.net"
|
405
|
+
"host": "whois.arin.net",
|
406
|
+
"adapter": "arin"
|
401
407
|
},
|
402
408
|
"193.0.0.0/8": {
|
403
409
|
"host": "whois.ripe.net"
|
@@ -409,7 +415,8 @@
|
|
409
415
|
"host": "whois.afrinic.net"
|
410
416
|
},
|
411
417
|
"198.0.0.0/7": {
|
412
|
-
"host": "whois.arin.net"
|
418
|
+
"host": "whois.arin.net",
|
419
|
+
"adapter": "arin"
|
413
420
|
},
|
414
421
|
"200.17.0.0/16": {
|
415
422
|
"host": "whois.nic.br"
|
@@ -505,10 +512,12 @@
|
|
505
512
|
"host": "rwhois.gin.ntt.net"
|
506
513
|
},
|
507
514
|
"204.0.0.0/6": {
|
508
|
-
"host": "whois.arin.net"
|
515
|
+
"host": "whois.arin.net",
|
516
|
+
"adapter": "arin"
|
509
517
|
},
|
510
518
|
"208.0.0.0/7": {
|
511
|
-
"host": "whois.arin.net"
|
519
|
+
"host": "whois.arin.net",
|
520
|
+
"adapter": "arin"
|
512
521
|
},
|
513
522
|
"209.94.192.0/19": {
|
514
523
|
"host": "whois.lacnic.net"
|
@@ -634,10 +643,12 @@
|
|
634
643
|
"host": "whois.ripe.net"
|
635
644
|
},
|
636
645
|
"214.0.0.0/7": {
|
637
|
-
"host": "whois.arin.net"
|
646
|
+
"host": "whois.arin.net",
|
647
|
+
"adapter": "arin"
|
638
648
|
},
|
639
649
|
"216.0.0.0/8": {
|
640
|
-
"host": "whois.arin.net"
|
650
|
+
"host": "whois.arin.net",
|
651
|
+
"adapter": "arin"
|
641
652
|
},
|
642
653
|
"217.0.0.0/8": {
|
643
654
|
"host": "whois.ripe.net"
|
@@ -720,4 +731,4 @@
|
|
720
731
|
"220.0.0.0/6": {
|
721
732
|
"host": "whois.apnic.net"
|
722
733
|
}
|
723
|
-
}
|
734
|
+
}
|
data/data/tld.json
CHANGED
@@ -269,8 +269,7 @@
|
|
269
269
|
"url": "http://207.228.133.14/cgi-bin/lansaweb?procfun+BMWHO+BMWHO2+WHO"
|
270
270
|
},
|
271
271
|
".bn": {
|
272
|
-
"host":
|
273
|
-
"adapter": "none"
|
272
|
+
"host": "whois.bn"
|
274
273
|
},
|
275
274
|
".bo": {
|
276
275
|
"host": "whois.nic.bo"
|
@@ -879,6 +878,9 @@
|
|
879
878
|
"adapter": "web",
|
880
879
|
"url": "http://www.pitcairn.pn/PnRegistry/"
|
881
880
|
},
|
881
|
+
".post": {
|
882
|
+
"host": "whois.dotpostregistry.net"
|
883
|
+
},
|
882
884
|
".pr": {
|
883
885
|
"host": "whois.nic.pr"
|
884
886
|
},
|
@@ -982,8 +984,7 @@
|
|
982
984
|
"host": "whois.sx"
|
983
985
|
},
|
984
986
|
".sy": {
|
985
|
-
"host":
|
986
|
-
"adapter": "none"
|
987
|
+
"host": "whois.tld.sy"
|
987
988
|
},
|
988
989
|
".sz": {
|
989
990
|
"host": null,
|
data/lib/whois/client.rb
CHANGED
data/lib/whois/record.rb
CHANGED
@@ -0,0 +1,70 @@
|
|
1
|
+
#--
|
2
|
+
# Ruby Whois
|
3
|
+
#
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net>
|
7
|
+
#++
|
8
|
+
|
9
|
+
|
10
|
+
require 'whois/record/parser/base'
|
11
|
+
|
12
|
+
|
13
|
+
module Whois
|
14
|
+
class Record
|
15
|
+
class Parser
|
16
|
+
|
17
|
+
# Parser for the whois.bn server.
|
18
|
+
#
|
19
|
+
# @note This parser is just a stub and provides only a few basic methods
|
20
|
+
# to check for domain availability and get domain status.
|
21
|
+
# Please consider to contribute implementing missing methods.
|
22
|
+
#
|
23
|
+
# @see Whois::Record::Parser::Example
|
24
|
+
# The Example parser for the list of all available methods.
|
25
|
+
#
|
26
|
+
class WhoisBn < Base
|
27
|
+
|
28
|
+
property_supported :status do
|
29
|
+
if available?
|
30
|
+
:available
|
31
|
+
else
|
32
|
+
:registered
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
property_supported :available? do
|
37
|
+
!!(content_for_scanner =~ /^No records matching .+ found/)
|
38
|
+
end
|
39
|
+
|
40
|
+
property_supported :registered? do
|
41
|
+
!available?
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
property_supported :created_on do
|
46
|
+
if content_for_scanner =~ /Created:\s+(.+)\n/
|
47
|
+
Time.parse($1)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
property_supported :updated_on do
|
52
|
+
if content_for_scanner =~ /Last Updated:\s+(.+)\n/
|
53
|
+
Time.parse($1)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
property_not_supported :expires_on
|
58
|
+
|
59
|
+
|
60
|
+
property_supported :nameservers do
|
61
|
+
content_for_scanner.scan(/Name Server \d:\s+(.+)\n/).flatten.map do |name|
|
62
|
+
Record::Nameserver.new(:name => name)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -25,6 +25,11 @@ module Whois
|
|
25
25
|
#
|
26
26
|
class WhoisDnsBe < Base
|
27
27
|
|
28
|
+
property_supported :domain do
|
29
|
+
content_for_scanner.slice(/Domain:\s+(.+?)\n/, 1)
|
30
|
+
end
|
31
|
+
|
32
|
+
|
28
33
|
property_supported :status do
|
29
34
|
if content_for_scanner =~ /Status:\s+(.+?)\n/
|
30
35
|
case $1.downcase
|
@@ -32,9 +37,6 @@ module Whois
|
|
32
37
|
when "not available" then :registered
|
33
38
|
when "quarantine" then :redemption
|
34
39
|
when "out of service" then :redemption
|
35
|
-
# old response
|
36
|
-
when "registered" then :registered
|
37
|
-
when "free" then :available
|
38
40
|
else
|
39
41
|
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
40
42
|
end
|
@@ -63,6 +65,14 @@ module Whois
|
|
63
65
|
property_not_supported :expires_on
|
64
66
|
|
65
67
|
|
68
|
+
property_supported :registrar do
|
69
|
+
if (match = content_for_scanner.match(/Registrar:\s+Name:(.+?)\s*Website:(.+?)\n/))
|
70
|
+
name, url = match.to_a[1..2]
|
71
|
+
Record::Registrar.new(name: name.strip, url: url.strip)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
|
66
76
|
property_supported :nameservers do
|
67
77
|
if content_for_scanner =~ /Nameservers:\s((.+\n)+)\n/
|
68
78
|
$1.split("\n").map do |line|
|
@@ -80,7 +90,15 @@ module Whois
|
|
80
90
|
#
|
81
91
|
# @return [Boolean]
|
82
92
|
def response_throttled?
|
83
|
-
!!(content_for_scanner =~ /^% (Excessive querying|Maximum queries per hour reached)/)
|
93
|
+
!!(content_for_scanner =~ /^% (Excessive querying|Maximum queries per hour reached)/) ||
|
94
|
+
response_blocked?
|
95
|
+
end
|
96
|
+
|
97
|
+
# Checks whether the server has been blocked.
|
98
|
+
#
|
99
|
+
# @return [Boolean]
|
100
|
+
def response_blocked?
|
101
|
+
!!(content_for_scanner =~ /^-3: IP address blocked/)
|
84
102
|
end
|
85
103
|
|
86
104
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#--
|
2
|
+
# Ruby Whois
|
3
|
+
#
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net>
|
7
|
+
#++
|
8
|
+
|
9
|
+
|
10
|
+
require 'whois/record/parser/base_afilias'
|
11
|
+
|
12
|
+
|
13
|
+
module Whois
|
14
|
+
class Record
|
15
|
+
class Parser
|
16
|
+
|
17
|
+
# Parser for the whois.dotpostregistry.net server.
|
18
|
+
#
|
19
|
+
# @see Whois::Record::Parser::Example
|
20
|
+
# The Example parser for the list of all available methods.
|
21
|
+
#
|
22
|
+
class WhoisDotpostregistryNet < BaseAfilias
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,3 +1,12 @@
|
|
1
|
+
#--
|
2
|
+
# Ruby Whois
|
3
|
+
#
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net>
|
7
|
+
#++
|
8
|
+
|
9
|
+
|
1
10
|
require 'whois/record/parser/base'
|
2
11
|
require 'whois/record/scanners/whois.registry.net.za'
|
3
12
|
|
@@ -5,6 +14,7 @@ require 'whois/record/scanners/whois.registry.net.za'
|
|
5
14
|
module Whois
|
6
15
|
class Record
|
7
16
|
class Parser
|
17
|
+
|
8
18
|
# Parser for the whois.registry.za.net server.
|
9
19
|
#
|
10
20
|
# @note This parser is just a stub and provides only a few basic methods
|
@@ -18,19 +28,21 @@ module Whois
|
|
18
28
|
include Scanners::Nodable
|
19
29
|
|
20
30
|
property_supported :disclaimer do
|
21
|
-
node("
|
31
|
+
node("node:disclaimer")
|
22
32
|
end
|
23
33
|
|
24
34
|
|
25
35
|
property_supported :domain do
|
26
|
-
node("
|
36
|
+
node("node:domain")
|
27
37
|
end
|
28
38
|
|
29
39
|
property_not_supported :domain_id
|
30
40
|
|
31
41
|
|
32
42
|
property_supported :status do
|
33
|
-
node("
|
43
|
+
node("node:status") do |string|
|
44
|
+
string.split(", ")
|
45
|
+
end
|
34
46
|
end
|
35
47
|
|
36
48
|
property_supported :available? do
|
@@ -43,8 +55,8 @@ module Whois
|
|
43
55
|
|
44
56
|
|
45
57
|
property_supported :created_on do
|
46
|
-
node("
|
47
|
-
|
58
|
+
node("node:dates") do |array|
|
59
|
+
array[0] =~ /Registration Date:\s*(\d{4}-\d{2}-\d{2})/
|
48
60
|
parse_date($1)
|
49
61
|
end
|
50
62
|
end
|
@@ -52,22 +64,22 @@ module Whois
|
|
52
64
|
property_not_supported :updated_on
|
53
65
|
|
54
66
|
property_supported :expires_on do
|
55
|
-
node("
|
56
|
-
|
67
|
+
node("node:dates") do |array|
|
68
|
+
array[1] =~ /Renewal Date:\s*(\d{4}-\d{2}-\d{2})/
|
57
69
|
parse_date($1)
|
58
70
|
end
|
59
71
|
end
|
60
72
|
|
61
73
|
|
62
74
|
property_supported :registrar do
|
63
|
-
node("
|
64
|
-
|
75
|
+
node("node:registrar") do |string|
|
76
|
+
string =~ /(.+) \[ ID = (.+) \]/
|
65
77
|
Whois::Record::Registrar.new(:name => $1.strip, :id => $2.strip)
|
66
78
|
end
|
67
79
|
end
|
68
80
|
|
69
81
|
property_supported :registrant_contacts do
|
70
|
-
node("
|
82
|
+
node("node:registrant_details") do
|
71
83
|
build_registrant_contacts
|
72
84
|
end
|
73
85
|
end
|
@@ -78,9 +90,8 @@ module Whois
|
|
78
90
|
|
79
91
|
|
80
92
|
property_supported :nameservers do
|
81
|
-
node("
|
82
|
-
|
83
|
-
Array.wrap(nameservers).map do |nameserver|
|
93
|
+
node("node:nameservers") do |array|
|
94
|
+
Array.wrap(array).map do |nameserver|
|
84
95
|
Record::Nameserver.new(:name => nameserver)
|
85
96
|
end
|
86
97
|
end
|
@@ -96,28 +107,28 @@ module Whois
|
|
96
107
|
|
97
108
|
def build_registrant_contacts
|
98
109
|
Whois::Record::Contact.new(
|
99
|
-
{:
|
110
|
+
{ type: Whois::Record::Contact::TYPE_REGISTRANT}.merge(registrant_details).merge(registrant_address_details)
|
100
111
|
)
|
101
112
|
end
|
102
113
|
|
103
114
|
def registrant_details
|
104
|
-
|
105
|
-
details = { :
|
115
|
+
lines = node("node:registrant_details")
|
116
|
+
details = { name: lines.shift }
|
106
117
|
[:email, :phone, :fax].each do |contact_method|
|
107
|
-
details[contact_method] =
|
118
|
+
details[contact_method] = lines.shift.split(":", 2)[1].strip
|
108
119
|
end
|
109
120
|
details
|
110
121
|
end
|
111
122
|
|
112
123
|
def registrant_address_details
|
113
|
-
{ :
|
124
|
+
{ address: Array.wrap(node("node:registrant_address")).join("\n") }
|
114
125
|
end
|
115
126
|
|
116
127
|
def parse_date(date_string)
|
117
128
|
Time.parse(date_string) if date_string
|
118
129
|
end
|
119
|
-
|
120
130
|
end
|
131
|
+
|
121
132
|
end
|
122
133
|
end
|
123
134
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#--
|
2
|
+
# Ruby Whois
|
3
|
+
#
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net>
|
7
|
+
#++
|
8
|
+
|
9
|
+
|
10
|
+
require 'whois/record/parser/base_cocca2'
|
11
|
+
|
12
|
+
|
13
|
+
module Whois
|
14
|
+
class Record
|
15
|
+
class Parser
|
16
|
+
|
17
|
+
# Parser for the whois.tld.sy server.
|
18
|
+
#
|
19
|
+
# @see Whois::Record::Parser::Example
|
20
|
+
# The Example parser for the list of all available methods.
|
21
|
+
#
|
22
|
+
class WhoisTldSy < BaseCocca2
|
23
|
+
|
24
|
+
property_not_supported :updated_on
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -17,7 +17,7 @@ module Whois
|
|
17
17
|
class WhoisRegistryNetZa < Base
|
18
18
|
self.tokenizers += [
|
19
19
|
:get_availability,
|
20
|
-
:
|
20
|
+
:get_domain,
|
21
21
|
:get_registrant_details,
|
22
22
|
:get_registrant_address,
|
23
23
|
:get_registrar_details,
|
@@ -34,70 +34,71 @@ module Whois
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
tokenizer :
|
37
|
+
tokenizer :get_domain do
|
38
38
|
if find_heading("Domain Name")
|
39
|
-
@ast["
|
39
|
+
@ast["node:domain"] = content_in_category
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
43
|
tokenizer :get_registrant_details do
|
44
44
|
if find_heading("Registrant")
|
45
|
-
@ast["
|
45
|
+
@ast["node:registrant_details"] = content_in_category
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
49
|
tokenizer :get_registrant_address do
|
50
50
|
if find_heading("Registrant's Address")
|
51
|
-
@ast["
|
51
|
+
@ast["node:registrant_address"] = content_in_category
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
55
|
tokenizer :get_registrar_details do
|
56
56
|
if find_heading("Registrar")
|
57
|
-
@ast["
|
57
|
+
@ast["node:registrar"] = content_in_category
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
61
|
tokenizer :get_dates do
|
62
62
|
if find_heading("Relevant Dates")
|
63
|
-
@ast["
|
63
|
+
@ast["node:dates"] = content_in_category
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
67
|
tokenizer :get_status do
|
68
68
|
if find_heading("Domain Status")
|
69
|
-
|
70
|
-
@ast["field:status"] = statuses.split(", ")
|
69
|
+
@ast["node:status"] = content_in_category
|
71
70
|
end
|
72
71
|
end
|
73
72
|
|
74
73
|
tokenizer :get_pending_timer_events do
|
75
74
|
if find_heading("Pending Timer Events")
|
76
|
-
@ast["
|
75
|
+
@ast["node:pending_timer_events"] = content_in_category
|
77
76
|
end
|
78
77
|
end
|
79
78
|
|
80
79
|
tokenizer :get_nameservers do
|
81
80
|
if find_heading("Name Servers")
|
82
|
-
@ast["
|
81
|
+
@ast["node:nameservers"] = content_in_category
|
83
82
|
end
|
84
83
|
end
|
85
84
|
|
86
85
|
tokenizer :get_disclaimer do
|
87
86
|
@input.skip_until(/\n--\n/m)
|
88
|
-
@ast["
|
87
|
+
@ast["node:disclaimer"] = @input.scan_until(/.*$/m)
|
89
88
|
end
|
90
89
|
|
91
90
|
private
|
92
91
|
|
93
92
|
def content_in_category
|
94
|
-
|
93
|
+
lines = _scan_lines_to_array(/ (.*)\n/)
|
94
|
+
lines.size == 1 ? lines.first : lines
|
95
95
|
end
|
96
96
|
|
97
97
|
def find_heading(heading_name)
|
98
98
|
@input.skip_until(/ #{heading_name}:\n/)
|
99
99
|
end
|
100
100
|
end
|
101
|
+
|
101
102
|
end
|
102
103
|
end
|
103
104
|
end
|
data/lib/whois/server.rb
CHANGED
@@ -25,6 +25,8 @@ module Whois
|
|
25
25
|
# WHOIS server adapters. Each adapter is a subclass of {Whois::Server::Adapters::Base},
|
26
26
|
# customized to handle WHOIS queries for a type or a group of servers.
|
27
27
|
module Adapters
|
28
|
+
autoload :Base, "whois/server/adapters/base"
|
29
|
+
autoload :Arin, "whois/server/adapters/arin"
|
28
30
|
autoload :Arpa, "whois/server/adapters/arpa"
|
29
31
|
autoload :Afilias, "whois/server/adapters/afilias"
|
30
32
|
autoload :Formatted, "whois/server/adapters/formatted"
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#--
|
2
|
+
# Ruby Whois
|
3
|
+
#
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2009-2013 Simone Carletti <weppos@weppos.net>
|
7
|
+
#++
|
8
|
+
|
9
|
+
|
10
|
+
module Whois
|
11
|
+
class Server
|
12
|
+
module Adapters
|
13
|
+
|
14
|
+
#
|
15
|
+
# = Arin Adapter
|
16
|
+
#
|
17
|
+
# Provides ability to query Arin WHOIS interfaces.
|
18
|
+
#
|
19
|
+
class Arin < Base
|
20
|
+
|
21
|
+
# Executes a WHOIS query to the Arin WHOIS interface,
|
22
|
+
# resolving any intermediate referral,
|
23
|
+
# and appends the response to the client buffer.
|
24
|
+
#
|
25
|
+
# @param [String] string
|
26
|
+
# @return [void]
|
27
|
+
#
|
28
|
+
def request(string)
|
29
|
+
response = query_the_socket(string, host)
|
30
|
+
buffer_append response, host
|
31
|
+
|
32
|
+
if options[:referral] != false && (referral = extract_referral(response))
|
33
|
+
response = query_the_socket(string, referral[:host], referral[:port])
|
34
|
+
buffer_append(response, referral[:host])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def extract_referral(response)
|
41
|
+
return unless response =~ /ReferralServer:\s*r?whois:\/\/([\w\.]+):?(\d+)/
|
42
|
+
{
|
43
|
+
host: $1,
|
44
|
+
port: $2 ? $2.to_i : nil
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/lib/whois/version.rb
CHANGED
data/whois.gemspec
CHANGED
@@ -6,11 +6,11 @@ Gem::Specification.new do |s|
|
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Simone Carletti"]
|
9
|
-
s.date = "2013-03
|
9
|
+
s.date = "2013-04-03"
|
10
10
|
s.description = "Whois is an intelligent WHOIS client and parser written in pure Ruby. It can query registry data for IPv4, IPv6 and top level domains, parse and convert responses into easy-to-use Ruby objects."
|
11
11
|
s.email = ["weppos@weppos.net"]
|
12
12
|
s.executables = ["ruby-whois"]
|
13
|
-
s.files = ["LICENSE.txt", ".yardopts", "CHANGELOG.md", "README.md", "whois.gemspec", "bin/ruby-whois", "data/ipv4.json", "data/ipv6.json", "data/tld.json", "lib/whois", "lib/whois/client.rb", "lib/whois/core_ext", "lib/whois/core_ext/array", "lib/whois/core_ext/array/extract_options.rb", "lib/whois/core_ext/array/wrap.rb", "lib/whois/core_ext/class", "lib/whois/core_ext/class/attribute.rb", "lib/whois/core_ext/kernel", "lib/whois/core_ext/kernel/singleton_class.rb", "lib/whois/core_ext/module", "lib/whois/core_ext/module/remove_method.rb", "lib/whois/core_ext.rb", "lib/whois/errors.rb", "lib/whois/record", "lib/whois/record/contact.rb", "lib/whois/record/nameserver.rb", "lib/whois/record/parser", "lib/whois/record/parser/base.rb", "lib/whois/record/parser/base_afilias.rb", "lib/whois/record/parser/base_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/example.rb", "lib/whois/record/parser/jobswhois.verisign-grs.com.rb", "lib/whois/record/parser/kero.yachay.pe.rb", "lib/whois/record/parser/NOTES.txt", "lib/whois/record/parser/whois.adamsnames.tc.rb", "lib/whois/record/parser/whois.aeda.net.ae.rb", "lib/whois/record/parser/whois.aero.rb", "lib/whois/record/parser/whois.afilias-grs.info.rb", "lib/whois/record/parser/whois.afilias.info.rb", "lib/whois/record/parser/whois.ai.rb", "lib/whois/record/parser/whois.arnes.si.rb", "lib/whois/record/parser/whois.ati.tn.rb", "lib/whois/record/parser/whois.audns.net.au.rb", "lib/whois/record/parser/whois.ax.rb", "lib/whois/record/parser/whois.biz.rb", "lib/whois/record/parser/whois.cat.rb", "lib/whois/record/parser/whois.cctld.by.rb", "lib/whois/record/parser/whois.cctld.uz.rb", "lib/whois/record/parser/whois.centralnic.com.rb", "lib/whois/record/parser/whois.cira.ca.rb", "lib/whois/record/parser/whois.cmc.iq.rb", "lib/whois/record/parser/whois.cnnic.cn.rb", "lib/whois/record/parser/whois.co.ca.rb", "lib/whois/record/parser/whois.co.pl.rb", "lib/whois/record/parser/whois.co.ug.rb", "lib/whois/record/parser/whois.crsnic.net.rb", "lib/whois/record/parser/whois.denic.de.rb", "lib/whois/record/parser/whois.dk-hostmaster.dk.rb", "lib/whois/record/parser/whois.dns.be.rb", "lib/whois/record/parser/whois.dns.hr.rb", "lib/whois/record/parser/whois.dns.lu.rb", "lib/whois/record/parser/whois.dns.pl.rb", "lib/whois/record/parser/whois.dns.pt.rb", "lib/whois/record/parser/whois.domain-registry.nl.rb", "lib/whois/record/parser/whois.domain.kg.rb", "lib/whois/record/parser/whois.domainregistry.ie.rb", "lib/whois/record/parser/whois.domainregistry.my.rb", "lib/whois/record/parser/whois.domreg.lt.rb", "lib/whois/record/parser/whois.dot.tk.rb", "lib/whois/record/parser/whois.dotmobiregistry.net.rb", "lib/whois/record/parser/whois.dreamhost.com.rb", "lib/whois/record/parser/whois.educause.edu.rb", "lib/whois/record/parser/whois.eenet.ee.rb", "lib/whois/record/parser/whois.enom.com.rb", "lib/whois/record/parser/whois.eu.org.rb", "lib/whois/record/parser/whois.eu.rb", "lib/whois/record/parser/whois.fi.rb", "lib/whois/record/parser/whois.gg.rb", "lib/whois/record/parser/whois.godaddy.com.rb", "lib/whois/record/parser/whois.gov.za.rb", "lib/whois/record/parser/whois.hkirc.hk.rb", "lib/whois/record/parser/whois.iam.net.ma.rb", "lib/whois/record/parser/whois.iana.org.rb", "lib/whois/record/parser/whois.in.ua.rb", "lib/whois/record/parser/whois.isnic.is.rb", "lib/whois/record/parser/whois.isoc.org.il.rb", "lib/whois/record/parser/whois.ja.net.rb", "lib/whois/record/parser/whois.je.rb", "lib/whois/record/parser/whois.jprs.jp.rb", "lib/whois/record/parser/whois.kenic.or.ke.rb", "lib/whois/record/parser/whois.kr.rb", "lib/whois/record/parser/whois.markmonitor.com.rb", "lib/whois/record/parser/whois.meregistry.net.rb", "lib/whois/record/parser/whois.monic.mo.rb", "lib/whois/record/parser/whois.museum.rb", "lib/whois/record/parser/whois.na-nic.com.na.rb", "lib/whois/record/parser/whois.nc.rb", "lib/whois/record/parser/whois.netcom.cm.rb", "lib/whois/record/parser/whois.networksolutions.com.rb", "lib/whois/record/parser/whois.nic-se.se.rb", "lib/whois/record/parser/whois.nic.ac.rb", "lib/whois/record/parser/whois.nic.af.rb", "lib/whois/record/parser/whois.nic.ag.rb", "lib/whois/record/parser/whois.nic.am.rb", "lib/whois/record/parser/whois.nic.as.rb", "lib/whois/record/parser/whois.nic.asia.rb", "lib/whois/record/parser/whois.nic.at.rb", "lib/whois/record/parser/whois.nic.bo.rb", "lib/whois/record/parser/whois.nic.cc.rb", "lib/whois/record/parser/whois.nic.cd.rb", "lib/whois/record/parser/whois.nic.ch.rb", "lib/whois/record/parser/whois.nic.ci.rb", "lib/whois/record/parser/whois.nic.ck.rb", "lib/whois/record/parser/whois.nic.cl.rb", "lib/whois/record/parser/whois.nic.co.rb", "lib/whois/record/parser/whois.nic.coop.rb", "lib/whois/record/parser/whois.nic.cx.rb", "lib/whois/record/parser/whois.nic.cz.rb", "lib/whois/record/parser/whois.nic.dm.rb", "lib/whois/record/parser/whois.nic.dz.rb", "lib/whois/record/parser/whois.nic.ec.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gl.rb", "lib/whois/record/parser/whois.nic.gov.rb", "lib/whois/record/parser/whois.nic.gs.rb", "lib/whois/record/parser/whois.nic.hn.rb", "lib/whois/record/parser/whois.nic.ht.rb", "lib/whois/record/parser/whois.nic.hu.rb", "lib/whois/record/parser/whois.nic.im.rb", "lib/whois/record/parser/whois.nic.io.rb", "lib/whois/record/parser/whois.nic.ir.rb", "lib/whois/record/parser/whois.nic.it.rb", "lib/whois/record/parser/whois.nic.ki.rb", "lib/whois/record/parser/whois.nic.kz.rb", "lib/whois/record/parser/whois.nic.la.rb", "lib/whois/record/parser/whois.nic.li.rb", "lib/whois/record/parser/whois.nic.lk.rb", "lib/whois/record/parser/whois.nic.lv.rb", "lib/whois/record/parser/whois.nic.ly.rb", "lib/whois/record/parser/whois.nic.md.rb", "lib/whois/record/parser/whois.nic.mg.rb", "lib/whois/record/parser/whois.nic.ms.rb", "lib/whois/record/parser/whois.nic.mu.rb", "lib/whois/record/parser/whois.nic.mx.rb", "lib/whois/record/parser/whois.nic.name.rb", "lib/whois/record/parser/whois.nic.net.nf.rb", "lib/whois/record/parser/whois.nic.net.ng.rb", "lib/whois/record/parser/whois.nic.net.sa.rb", "lib/whois/record/parser/whois.nic.net.sb.rb", "lib/whois/record/parser/whois.nic.nu.rb", "lib/whois/record/parser/whois.nic.org.uy.rb", "lib/whois/record/parser/whois.nic.pr.rb", "lib/whois/record/parser/whois.nic.priv.at.rb", "lib/whois/record/parser/whois.nic.pw.rb", "lib/whois/record/parser/whois.nic.sh.rb", "lib/whois/record/parser/whois.nic.sl.rb", "lib/whois/record/parser/whois.nic.sm.rb", "lib/whois/record/parser/whois.nic.sn.rb", "lib/whois/record/parser/whois.nic.so.rb", "lib/whois/record/parser/whois.nic.st.rb", "lib/whois/record/parser/whois.nic.tel.rb", "lib/whois/record/parser/whois.nic.tl.rb", "lib/whois/record/parser/whois.nic.tm.rb", "lib/whois/record/parser/whois.nic.tr.rb", "lib/whois/record/parser/whois.nic.travel.rb", "lib/whois/record/parser/whois.nic.tv.rb", "lib/whois/record/parser/whois.nic.uk.rb", "lib/whois/record/parser/whois.nic.us.rb", "lib/whois/record/parser/whois.nic.ve.rb", "lib/whois/record/parser/whois.nic.xxx.rb", "lib/whois/record/parser/whois.norid.no.rb", "lib/whois/record/parser/whois.org.za.rb", "lib/whois/record/parser/whois.pandi.or.id.rb", "lib/whois/record/parser/whois.pir.org.rb", "lib/whois/record/parser/whois.pnina.ps.rb", "lib/whois/record/parser/whois.register.bg.rb", "lib/whois/record/parser/whois.register.com.rb", "lib/whois/record/parser/whois.registro.br.rb", "lib/whois/record/parser/whois.registry.gy.rb", "lib/whois/record/parser/whois.registry.hm.rb", "lib/whois/record/parser/whois.registry.in.rb", "lib/whois/record/parser/whois.registry.net.za.rb", "lib/whois/record/parser/whois.registry.om.rb", "lib/whois/record/parser/whois.registry.qa.rb", "lib/whois/record/parser/whois.registrypro.pro.rb", "lib/whois/record/parser/whois.ripe.net.rb", "lib/whois/record/parser/whois.rnids.rs.rb", "lib/whois/record/parser/whois.rotld.ro.rb", "lib/whois/record/parser/whois.samoanic.ws.rb", "lib/whois/record/parser/whois.sgnic.sg.rb", "lib/whois/record/parser/whois.sk-nic.sk.rb", "lib/whois/record/parser/whois.smallregistry.net.rb", "lib/whois/record/parser/whois.srs.net.nz.rb", "lib/whois/record/parser/whois.sx.rb", "lib/whois/record/parser/whois.tcinet.ru.rb", "lib/whois/record/parser/whois.thnic.co.th.rb", "lib/whois/record/parser/whois.tld.ee.rb", "lib/whois/record/parser/whois.tonic.to.rb", "lib/whois/record/parser/whois.twnic.net.tw.rb", "lib/whois/record/parser/whois.tznic.or.tz.rb", "lib/whois/record/parser/whois.ua.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.za.net.rb", "lib/whois/record/parser/whois.za.org.rb", "lib/whois/record/parser/whois1.nic.bi.rb", "lib/whois/record/parser.rb", "lib/whois/record/part.rb", "lib/whois/record/registrar.rb", "lib/whois/record/scanners", "lib/whois/record/scanners/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/nodable.rb", "lib/whois/record/scanners/verisign.rb", "lib/whois/record/scanners/whois.ati.tn.rb", "lib/whois/record/scanners/whois.audns.net.au.rb", "lib/whois/record/scanners/whois.cctld.by.rb", "lib/whois/record/scanners/whois.centralnic.com.rb", "lib/whois/record/scanners/whois.cira.ca.rb", "lib/whois/record/scanners/whois.cnnic.cn.rb", "lib/whois/record/scanners/whois.denic.de.rb", "lib/whois/record/scanners/whois.dns.hr.rb", "lib/whois/record/scanners/whois.domainregistry.ie.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.dm.rb", "lib/whois/record/scanners/whois.nic.hu.rb", "lib/whois/record/scanners/whois.nic.it.rb", "lib/whois/record/scanners/whois.registry.net.za.rb", "lib/whois/record/scanners/whois.rnids.rs.rb", "lib/whois/record/scanners/whois.smallregistry.net.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/super_struct.rb", "lib/whois/record.rb", "lib/whois/server", "lib/whois/server/adapters", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arpa.rb", "lib/whois/server/adapters/base.rb", "lib/whois/server/adapters/formatted.rb", "lib/whois/server/adapters/none.rb", "lib/whois/server/adapters/not_implemented.rb", "lib/whois/server/adapters/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server/socket_handler.rb", "lib/whois/server.rb", "lib/whois/version.rb", "lib/whois.rb"]
|
13
|
+
s.files = ["LICENSE.txt", ".yardopts", "CHANGELOG.md", "README.md", "whois.gemspec", "bin/ruby-whois", "data/ipv4.json", "data/ipv6.json", "data/tld.json", "lib/whois", "lib/whois/client.rb", "lib/whois/core_ext", "lib/whois/core_ext/array", "lib/whois/core_ext/array/extract_options.rb", "lib/whois/core_ext/array/wrap.rb", "lib/whois/core_ext/class", "lib/whois/core_ext/class/attribute.rb", "lib/whois/core_ext/kernel", "lib/whois/core_ext/kernel/singleton_class.rb", "lib/whois/core_ext/module", "lib/whois/core_ext/module/remove_method.rb", "lib/whois/core_ext.rb", "lib/whois/errors.rb", "lib/whois/record", "lib/whois/record/contact.rb", "lib/whois/record/nameserver.rb", "lib/whois/record/parser", "lib/whois/record/parser/base.rb", "lib/whois/record/parser/base_afilias.rb", "lib/whois/record/parser/base_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/example.rb", "lib/whois/record/parser/jobswhois.verisign-grs.com.rb", "lib/whois/record/parser/kero.yachay.pe.rb", "lib/whois/record/parser/NOTES.txt", "lib/whois/record/parser/whois.adamsnames.tc.rb", "lib/whois/record/parser/whois.aeda.net.ae.rb", "lib/whois/record/parser/whois.aero.rb", "lib/whois/record/parser/whois.afilias-grs.info.rb", "lib/whois/record/parser/whois.afilias.info.rb", "lib/whois/record/parser/whois.ai.rb", "lib/whois/record/parser/whois.arnes.si.rb", "lib/whois/record/parser/whois.ati.tn.rb", "lib/whois/record/parser/whois.audns.net.au.rb", "lib/whois/record/parser/whois.ax.rb", "lib/whois/record/parser/whois.biz.rb", "lib/whois/record/parser/whois.bn.rb", "lib/whois/record/parser/whois.cat.rb", "lib/whois/record/parser/whois.cctld.by.rb", "lib/whois/record/parser/whois.cctld.uz.rb", "lib/whois/record/parser/whois.centralnic.com.rb", "lib/whois/record/parser/whois.cira.ca.rb", "lib/whois/record/parser/whois.cmc.iq.rb", "lib/whois/record/parser/whois.cnnic.cn.rb", "lib/whois/record/parser/whois.co.ca.rb", "lib/whois/record/parser/whois.co.pl.rb", "lib/whois/record/parser/whois.co.ug.rb", "lib/whois/record/parser/whois.crsnic.net.rb", "lib/whois/record/parser/whois.denic.de.rb", "lib/whois/record/parser/whois.dk-hostmaster.dk.rb", "lib/whois/record/parser/whois.dns.be.rb", "lib/whois/record/parser/whois.dns.hr.rb", "lib/whois/record/parser/whois.dns.lu.rb", "lib/whois/record/parser/whois.dns.pl.rb", "lib/whois/record/parser/whois.dns.pt.rb", "lib/whois/record/parser/whois.domain-registry.nl.rb", "lib/whois/record/parser/whois.domain.kg.rb", "lib/whois/record/parser/whois.domainregistry.ie.rb", "lib/whois/record/parser/whois.domainregistry.my.rb", "lib/whois/record/parser/whois.domreg.lt.rb", "lib/whois/record/parser/whois.dot.tk.rb", "lib/whois/record/parser/whois.dotmobiregistry.net.rb", "lib/whois/record/parser/whois.dotpostregistry.net.rb", "lib/whois/record/parser/whois.dreamhost.com.rb", "lib/whois/record/parser/whois.educause.edu.rb", "lib/whois/record/parser/whois.eenet.ee.rb", "lib/whois/record/parser/whois.enom.com.rb", "lib/whois/record/parser/whois.eu.org.rb", "lib/whois/record/parser/whois.eu.rb", "lib/whois/record/parser/whois.fi.rb", "lib/whois/record/parser/whois.gg.rb", "lib/whois/record/parser/whois.godaddy.com.rb", "lib/whois/record/parser/whois.gov.za.rb", "lib/whois/record/parser/whois.hkirc.hk.rb", "lib/whois/record/parser/whois.iam.net.ma.rb", "lib/whois/record/parser/whois.iana.org.rb", "lib/whois/record/parser/whois.in.ua.rb", "lib/whois/record/parser/whois.isnic.is.rb", "lib/whois/record/parser/whois.isoc.org.il.rb", "lib/whois/record/parser/whois.ja.net.rb", "lib/whois/record/parser/whois.je.rb", "lib/whois/record/parser/whois.jprs.jp.rb", "lib/whois/record/parser/whois.kenic.or.ke.rb", "lib/whois/record/parser/whois.kr.rb", "lib/whois/record/parser/whois.markmonitor.com.rb", "lib/whois/record/parser/whois.meregistry.net.rb", "lib/whois/record/parser/whois.monic.mo.rb", "lib/whois/record/parser/whois.museum.rb", "lib/whois/record/parser/whois.na-nic.com.na.rb", "lib/whois/record/parser/whois.nc.rb", "lib/whois/record/parser/whois.netcom.cm.rb", "lib/whois/record/parser/whois.networksolutions.com.rb", "lib/whois/record/parser/whois.nic-se.se.rb", "lib/whois/record/parser/whois.nic.ac.rb", "lib/whois/record/parser/whois.nic.af.rb", "lib/whois/record/parser/whois.nic.ag.rb", "lib/whois/record/parser/whois.nic.am.rb", "lib/whois/record/parser/whois.nic.as.rb", "lib/whois/record/parser/whois.nic.asia.rb", "lib/whois/record/parser/whois.nic.at.rb", "lib/whois/record/parser/whois.nic.bo.rb", "lib/whois/record/parser/whois.nic.cc.rb", "lib/whois/record/parser/whois.nic.cd.rb", "lib/whois/record/parser/whois.nic.ch.rb", "lib/whois/record/parser/whois.nic.ci.rb", "lib/whois/record/parser/whois.nic.ck.rb", "lib/whois/record/parser/whois.nic.cl.rb", "lib/whois/record/parser/whois.nic.co.rb", "lib/whois/record/parser/whois.nic.coop.rb", "lib/whois/record/parser/whois.nic.cx.rb", "lib/whois/record/parser/whois.nic.cz.rb", "lib/whois/record/parser/whois.nic.dm.rb", "lib/whois/record/parser/whois.nic.dz.rb", "lib/whois/record/parser/whois.nic.ec.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gl.rb", "lib/whois/record/parser/whois.nic.gov.rb", "lib/whois/record/parser/whois.nic.gs.rb", "lib/whois/record/parser/whois.nic.hn.rb", "lib/whois/record/parser/whois.nic.ht.rb", "lib/whois/record/parser/whois.nic.hu.rb", "lib/whois/record/parser/whois.nic.im.rb", "lib/whois/record/parser/whois.nic.io.rb", "lib/whois/record/parser/whois.nic.ir.rb", "lib/whois/record/parser/whois.nic.it.rb", "lib/whois/record/parser/whois.nic.ki.rb", "lib/whois/record/parser/whois.nic.kz.rb", "lib/whois/record/parser/whois.nic.la.rb", "lib/whois/record/parser/whois.nic.li.rb", "lib/whois/record/parser/whois.nic.lk.rb", "lib/whois/record/parser/whois.nic.lv.rb", "lib/whois/record/parser/whois.nic.ly.rb", "lib/whois/record/parser/whois.nic.md.rb", "lib/whois/record/parser/whois.nic.mg.rb", "lib/whois/record/parser/whois.nic.ms.rb", "lib/whois/record/parser/whois.nic.mu.rb", "lib/whois/record/parser/whois.nic.mx.rb", "lib/whois/record/parser/whois.nic.name.rb", "lib/whois/record/parser/whois.nic.net.nf.rb", "lib/whois/record/parser/whois.nic.net.ng.rb", "lib/whois/record/parser/whois.nic.net.sa.rb", "lib/whois/record/parser/whois.nic.net.sb.rb", "lib/whois/record/parser/whois.nic.nu.rb", "lib/whois/record/parser/whois.nic.org.uy.rb", "lib/whois/record/parser/whois.nic.pr.rb", "lib/whois/record/parser/whois.nic.priv.at.rb", "lib/whois/record/parser/whois.nic.pw.rb", "lib/whois/record/parser/whois.nic.sh.rb", "lib/whois/record/parser/whois.nic.sl.rb", "lib/whois/record/parser/whois.nic.sm.rb", "lib/whois/record/parser/whois.nic.sn.rb", "lib/whois/record/parser/whois.nic.so.rb", "lib/whois/record/parser/whois.nic.st.rb", "lib/whois/record/parser/whois.nic.tel.rb", "lib/whois/record/parser/whois.nic.tl.rb", "lib/whois/record/parser/whois.nic.tm.rb", "lib/whois/record/parser/whois.nic.tr.rb", "lib/whois/record/parser/whois.nic.travel.rb", "lib/whois/record/parser/whois.nic.tv.rb", "lib/whois/record/parser/whois.nic.uk.rb", "lib/whois/record/parser/whois.nic.us.rb", "lib/whois/record/parser/whois.nic.ve.rb", "lib/whois/record/parser/whois.nic.xxx.rb", "lib/whois/record/parser/whois.norid.no.rb", "lib/whois/record/parser/whois.org.za.rb", "lib/whois/record/parser/whois.pandi.or.id.rb", "lib/whois/record/parser/whois.pir.org.rb", "lib/whois/record/parser/whois.pnina.ps.rb", "lib/whois/record/parser/whois.register.bg.rb", "lib/whois/record/parser/whois.register.com.rb", "lib/whois/record/parser/whois.registro.br.rb", "lib/whois/record/parser/whois.registry.gy.rb", "lib/whois/record/parser/whois.registry.hm.rb", "lib/whois/record/parser/whois.registry.in.rb", "lib/whois/record/parser/whois.registry.net.za.rb", "lib/whois/record/parser/whois.registry.om.rb", "lib/whois/record/parser/whois.registry.qa.rb", "lib/whois/record/parser/whois.registrypro.pro.rb", "lib/whois/record/parser/whois.ripe.net.rb", "lib/whois/record/parser/whois.rnids.rs.rb", "lib/whois/record/parser/whois.rotld.ro.rb", "lib/whois/record/parser/whois.samoanic.ws.rb", "lib/whois/record/parser/whois.sgnic.sg.rb", "lib/whois/record/parser/whois.sk-nic.sk.rb", "lib/whois/record/parser/whois.smallregistry.net.rb", "lib/whois/record/parser/whois.srs.net.nz.rb", "lib/whois/record/parser/whois.sx.rb", "lib/whois/record/parser/whois.tcinet.ru.rb", "lib/whois/record/parser/whois.thnic.co.th.rb", "lib/whois/record/parser/whois.tld.ee.rb", "lib/whois/record/parser/whois.tld.sy.rb", "lib/whois/record/parser/whois.tonic.to.rb", "lib/whois/record/parser/whois.twnic.net.tw.rb", "lib/whois/record/parser/whois.tznic.or.tz.rb", "lib/whois/record/parser/whois.ua.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.za.net.rb", "lib/whois/record/parser/whois.za.org.rb", "lib/whois/record/parser/whois1.nic.bi.rb", "lib/whois/record/parser.rb", "lib/whois/record/part.rb", "lib/whois/record/registrar.rb", "lib/whois/record/scanners", "lib/whois/record/scanners/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/nodable.rb", "lib/whois/record/scanners/verisign.rb", "lib/whois/record/scanners/whois.ati.tn.rb", "lib/whois/record/scanners/whois.audns.net.au.rb", "lib/whois/record/scanners/whois.cctld.by.rb", "lib/whois/record/scanners/whois.centralnic.com.rb", "lib/whois/record/scanners/whois.cira.ca.rb", "lib/whois/record/scanners/whois.cnnic.cn.rb", "lib/whois/record/scanners/whois.denic.de.rb", "lib/whois/record/scanners/whois.dns.hr.rb", "lib/whois/record/scanners/whois.domainregistry.ie.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.dm.rb", "lib/whois/record/scanners/whois.nic.hu.rb", "lib/whois/record/scanners/whois.nic.it.rb", "lib/whois/record/scanners/whois.registry.net.za.rb", "lib/whois/record/scanners/whois.rnids.rs.rb", "lib/whois/record/scanners/whois.smallregistry.net.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/super_struct.rb", "lib/whois/record.rb", "lib/whois/server", "lib/whois/server/adapters", "lib/whois/server/adapters/afilias.rb", "lib/whois/server/adapters/arin.rb", "lib/whois/server/adapters/arpa.rb", "lib/whois/server/adapters/base.rb", "lib/whois/server/adapters/formatted.rb", "lib/whois/server/adapters/none.rb", "lib/whois/server/adapters/not_implemented.rb", "lib/whois/server/adapters/standard.rb", "lib/whois/server/adapters/verisign.rb", "lib/whois/server/adapters/web.rb", "lib/whois/server/socket_handler.rb", "lib/whois/server.rb", "lib/whois/version.rb", "lib/whois.rb"]
|
14
14
|
s.homepage = "http://www.ruby-whois.org/"
|
15
15
|
s.post_install_message = "********************************************************************************\n\n Thank you for installing the whois gem!\n\n If you like this gem, please support the project.\n http://pledgie.com/campaigns/11383\n\n Does your project or organization use this gem? Add it to the apps wiki.\n https://github.com/weppos/whois/wiki/apps\n\n Are you looking for a quick and convenient way to perform WHOIS queries?\n Check out RoboWhois WHOIS API.\n https://www.robowhois.com/\n\n********************************************************************************\n"
|
16
16
|
s.require_paths = ["lib"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: whois
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03
|
12
|
+
date: 2013-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- lib/whois/record/parser/whois.audns.net.au.rb
|
128
128
|
- lib/whois/record/parser/whois.ax.rb
|
129
129
|
- lib/whois/record/parser/whois.biz.rb
|
130
|
+
- lib/whois/record/parser/whois.bn.rb
|
130
131
|
- lib/whois/record/parser/whois.cat.rb
|
131
132
|
- lib/whois/record/parser/whois.cctld.by.rb
|
132
133
|
- lib/whois/record/parser/whois.cctld.uz.rb
|
@@ -152,6 +153,7 @@ files:
|
|
152
153
|
- lib/whois/record/parser/whois.domreg.lt.rb
|
153
154
|
- lib/whois/record/parser/whois.dot.tk.rb
|
154
155
|
- lib/whois/record/parser/whois.dotmobiregistry.net.rb
|
156
|
+
- lib/whois/record/parser/whois.dotpostregistry.net.rb
|
155
157
|
- lib/whois/record/parser/whois.dreamhost.com.rb
|
156
158
|
- lib/whois/record/parser/whois.educause.edu.rb
|
157
159
|
- lib/whois/record/parser/whois.eenet.ee.rb
|
@@ -280,6 +282,7 @@ files:
|
|
280
282
|
- lib/whois/record/parser/whois.tcinet.ru.rb
|
281
283
|
- lib/whois/record/parser/whois.thnic.co.th.rb
|
282
284
|
- lib/whois/record/parser/whois.tld.ee.rb
|
285
|
+
- lib/whois/record/parser/whois.tld.sy.rb
|
283
286
|
- lib/whois/record/parser/whois.tonic.to.rb
|
284
287
|
- lib/whois/record/parser/whois.twnic.net.tw.rb
|
285
288
|
- lib/whois/record/parser/whois.tznic.or.tz.rb
|
@@ -319,6 +322,7 @@ files:
|
|
319
322
|
- lib/whois/record/super_struct.rb
|
320
323
|
- lib/whois/record.rb
|
321
324
|
- lib/whois/server/adapters/afilias.rb
|
325
|
+
- lib/whois/server/adapters/arin.rb
|
322
326
|
- lib/whois/server/adapters/arpa.rb
|
323
327
|
- lib/whois/server/adapters/base.rb
|
324
328
|
- lib/whois/server/adapters/formatted.rb
|