whois 3.4.4 → 3.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +32 -7
- data/README.md +3 -5
- data/data/tld.json +36 -0
- data/lib/whois/record/parser/base_afilias.rb +5 -5
- data/lib/whois/record/parser/base_afilias2.rb +141 -0
- data/lib/whois/record/parser/base_cocca2.rb +1 -1
- data/lib/whois/record/parser/base_icann_compliant.rb +1 -1
- data/lib/whois/record/parser/base_shared2.rb +1 -1
- data/lib/whois/record/parser/kero.yachay.pe.rb +3 -0
- data/lib/whois/record/parser/whois.afilias.info.rb +7 -2
- data/lib/whois/record/parser/whois.ati.tn.rb +8 -9
- data/lib/whois/record/parser/whois.denic.de.rb +3 -3
- data/lib/whois/record/parser/whois.networksolutions.com.rb +0 -1
- data/lib/whois/record/parser/whois.nic.cd.rb +5 -2
- data/lib/whois/record/parser/whois.nic.ec.rb +8 -50
- data/lib/whois/record/parser/whois.nic.lv.rb +2 -0
- data/lib/whois/record/parser/whois.nic.org.uy.rb +13 -14
- data/lib/whois/record/parser/whois.nic.tr.rb +21 -4
- data/lib/whois/record/parser/whois.nic.uk.rb +1 -1
- data/lib/whois/record/parser/whois.nic.xxx.rb +7 -18
- data/lib/whois/record/parser/whois.pandi.or.id.rb +4 -58
- data/lib/whois/record/parser/whois.pir.org.rb +3 -4
- data/lib/whois/record/parser/whois.registry.om.rb +3 -0
- data/lib/whois/record/parser/whois.rrpproxy.net.rb +5 -81
- data/lib/whois/record/parser/whois.yoursrs.com.rb +1 -11
- data/lib/whois/record/scanners/base_afilias.rb +5 -1
- data/lib/whois/record/scanners/base_icann_compliant.rb +1 -1
- data/lib/whois/record/scanners/whois.yoursrs.com.rb +1 -1
- data/lib/whois/version.rb +1 -1
- data/whois.gemspec +3 -3
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ca8a304b1268c40f3c297867bee7979d0bae483c
|
|
4
|
+
data.tar.gz: 7747603cc0d7d1aaf375ec0b9ce3598ff8778cd9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fd0d822ba6741e485a8c6d64e8aba78101f2786c211200184e4f8eef3737fac23748357adf716a24c05f7e76ee211c9150201dfdbe7077a5ea26c46b640104b0
|
|
7
|
+
data.tar.gz: 473a15ae1c5c8ed04ee183b3f7e599a296db12e05f98d375e8c1b9f9d3fca4ff4bdd60a708776e16c398d9a7a63af4b68e1e10bbaf9603ef9d15daff2f7d024c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## Release 3.4.5
|
|
5
|
+
|
|
6
|
+
- SERVER: Added new IDN TLDs: .XN--3BST00M, .XN--3DS443G, .XN--55QX5D, .XN--6FRZ82G, .XN--6QQ986B3XL, .XN--FIQ228C5HS, .XN--FIQ64B, .XN--IO0A7I, .XN--CG4BKI, .XN--MGBAB2BD, .XN--55QW42G, .XN--ZFR164B
|
|
7
|
+
|
|
8
|
+
- NEW: Added :invalid check for whois.nic.tr (GH-302).
|
|
9
|
+
|
|
10
|
+
- FIXED: kero.yachay.pe crashes when the status is `suspended`.
|
|
11
|
+
|
|
12
|
+
- FIXED: whois.nic.cd crashes because the registry is no longer returning a status.
|
|
13
|
+
|
|
14
|
+
- FIXED: whois.nic.org.uy crashes when update date is empty.
|
|
15
|
+
|
|
16
|
+
- FIXED: whois.nic.cx crashes when update date is empty.
|
|
17
|
+
|
|
18
|
+
- FIXED: whois.ati.tn crashes when contact update is "None".
|
|
19
|
+
|
|
20
|
+
- CHANGED: Updated whois.nic.ec parser to the new response format.
|
|
21
|
+
|
|
22
|
+
- CHANGED: Updated whois.pandi.or.id parser to the new response format.
|
|
23
|
+
|
|
24
|
+
- CHANGED: Updated whois.rrpproxy.net parser to the new response format.
|
|
25
|
+
|
|
26
|
+
- CHANGED: Afilias is using a slightly different whois response for some TLDs, including .INFO and .XXX (GH-304)
|
|
27
|
+
|
|
28
|
+
|
|
4
29
|
## Release 3.4.4
|
|
5
30
|
|
|
6
31
|
- CHANGED: Updated IBC parser and fixtures (.IO, .AC, .SH and .TM).
|
|
@@ -197,7 +222,7 @@
|
|
|
197
222
|
|
|
198
223
|
## Release 3.1.2
|
|
199
224
|
|
|
200
|
-
- NEW: Added full whois.comlaude.com parser (GH-222). [Thanks @delwyn]
|
|
225
|
+
- NEW: Added full whois.comlaude.com parser (GH-222). [Thanks @delwyn]
|
|
201
226
|
|
|
202
227
|
- NEW: Added #domain, #domain_id to whois.tcinet.ru.
|
|
203
228
|
|
|
@@ -952,7 +977,7 @@
|
|
|
952
977
|
- CHANGED: Renamed Whois::Server::Adapters::Base#append_to_buffer to buffer_append.
|
|
953
978
|
|
|
954
979
|
- CHANGED: Whois::Answer::Parser::Base#response_throttled? and Whois::Answer::Parser::Base#invalid?
|
|
955
|
-
are not defined by default. Define the method in the implementation,
|
|
980
|
+
are not defined by default. Define the method in the implementation,
|
|
956
981
|
and Whois::Answer::Parser will automatically use it.
|
|
957
982
|
|
|
958
983
|
- CHANGED: Removed &block from method definition to avoid creating block objects when yield is used (GH-66)
|
|
@@ -1235,7 +1260,7 @@ WARNING: Whois >= 1.5.0 requires Ruby 1.8.7 or newer.
|
|
|
1235
1260
|
|
|
1236
1261
|
- FIXED: Property cache is missing for some parsers (GH-18)
|
|
1237
1262
|
|
|
1238
|
-
- FIXED: In some circumstances the whois.jprs.js parser may raise
|
|
1263
|
+
- FIXED: In some circumstances the whois.jprs.js parser may raise
|
|
1239
1264
|
an Argument out of range error trying to parse the #updated_on property.
|
|
1240
1265
|
|
|
1241
1266
|
- FIXED: The whois.nic.uk parser fails to parse #nameservers when
|
|
@@ -1288,7 +1313,7 @@ WARNING: Whois >= 1.5.0 requires Ruby 1.8.7 or newer.
|
|
|
1288
1313
|
|
|
1289
1314
|
## Release 1.3.8
|
|
1290
1315
|
|
|
1291
|
-
- FIXED: The Verisign WHOIS adapter crashes in some rare circumstances
|
|
1316
|
+
- FIXED: The Verisign WHOIS adapter crashes in some rare circumstances
|
|
1292
1317
|
when the response from the Verisign database returns a "not defined" value
|
|
1293
1318
|
for the Referral Whois Server (GH-42)
|
|
1294
1319
|
|
|
@@ -1785,8 +1810,8 @@ WARNING: Whois >= 1.5.0 requires Ruby 1.8.7 or newer.
|
|
|
1785
1810
|
|
|
1786
1811
|
- NEW: .ac TLD parser (whois.nic.ac).
|
|
1787
1812
|
|
|
1788
|
-
- NEW: Added ability to flag a property as :defined, :implemented and :supported.
|
|
1789
|
-
Parsers now can mark a property as supported or not supported using
|
|
1813
|
+
- NEW: Added ability to flag a property as :defined, :implemented and :supported.
|
|
1814
|
+
Parsers now can mark a property as supported or not supported using
|
|
1790
1815
|
'property_supported' and 'property_not_supported' methods
|
|
1791
1816
|
in order to distinguish between properties not supported by the answer
|
|
1792
1817
|
and methods that still need to be implemented because the parser is incomplete.
|
|
@@ -1945,7 +1970,7 @@ WARNING: Whois >= 1.5.0 requires Ruby 1.8.7 or newer.
|
|
|
1945
1970
|
- CHANGED: A whois query now returns a custom Whois::Response object instead of a simple string.
|
|
1946
1971
|
The previous interface is still supported, so you can continue to compare the response with Strings
|
|
1947
1972
|
but this behavior will be deprecated in a future release.
|
|
1948
|
-
|
|
1973
|
+
|
|
1949
1974
|
r = Whois::query("domain.com")
|
|
1950
1975
|
# supported but deprecated in a future version
|
|
1951
1976
|
r ## "NOT FOUND"
|
data/README.md
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# Whois
|
|
2
2
|
|
|
3
|
-
<tt>Whois</tt> is an intelligent pure Ruby WHOIS client and parser.
|
|
3
|
+
<tt>Whois</tt> is an intelligent — pure Ruby — WHOIS client and parser.
|
|
4
4
|
|
|
5
|
-
[
|
|
6
|
-
|
|
7
|
-
<tt>Whois</tt> is a OS-independent library and doesn't require any external binaries or C libraries: it is a 100% Ruby software.
|
|
5
|
+
This library was extracted from [RoboWhois](https://www.robowhois.com/) and [RoboDomain](http://robodomain.com/). It has been performing queries in production since July 2009.
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
[](http://travis-ci.org/weppos/whois)
|
|
10
8
|
|
|
11
9
|
|
|
12
10
|
## Donate a coffee
|
data/data/tld.json
CHANGED
|
@@ -1317,5 +1317,41 @@
|
|
|
1317
1317
|
},
|
|
1318
1318
|
".xn--ygbi2ammx": {
|
|
1319
1319
|
"host": "whois.pnina.ps"
|
|
1320
|
+
},
|
|
1321
|
+
".xn--3bst00m": {
|
|
1322
|
+
"host": "whois.gtld.knet.cn"
|
|
1323
|
+
},
|
|
1324
|
+
".xn--3ds443g": {
|
|
1325
|
+
"host": "whois.afilias-srs.net"
|
|
1326
|
+
},
|
|
1327
|
+
".xn--55qx5d": {
|
|
1328
|
+
"host": "whois.ngtld.cn"
|
|
1329
|
+
},
|
|
1330
|
+
".xn--6frz82g": {
|
|
1331
|
+
"host": "whois.afilias.net"
|
|
1332
|
+
},
|
|
1333
|
+
".xn--6qq986b3xl": {
|
|
1334
|
+
"host": "whois.gtld.knet.cn"
|
|
1335
|
+
},
|
|
1336
|
+
".xn--fiq228c5hs": {
|
|
1337
|
+
"host": "whois.afilias-srs.net"
|
|
1338
|
+
},
|
|
1339
|
+
".xn--fiq64b": {
|
|
1340
|
+
"host": "whois.gtld.knet.cn"
|
|
1341
|
+
},
|
|
1342
|
+
".xn--io0a7i": {
|
|
1343
|
+
"host": "whois.ngtld.cn"
|
|
1344
|
+
},
|
|
1345
|
+
".xn--cg4bki": {
|
|
1346
|
+
"host": "whois.kr"
|
|
1347
|
+
},
|
|
1348
|
+
".xn--mgbab2bd": {
|
|
1349
|
+
"host": "whois.bazaar.coreregistry.net"
|
|
1350
|
+
},
|
|
1351
|
+
".xn--55qw42g": {
|
|
1352
|
+
"host": "whois.conac.cn"
|
|
1353
|
+
},
|
|
1354
|
+
".xn--zfr164b": {
|
|
1355
|
+
"host": "whois.conac.cn"
|
|
1320
1356
|
}
|
|
1321
1357
|
}
|
|
@@ -72,12 +72,12 @@ module Whois
|
|
|
72
72
|
|
|
73
73
|
property_supported :registrar do
|
|
74
74
|
node("Sponsoring Registrar") do |value|
|
|
75
|
-
|
|
75
|
+
id, name = decompose_registrar(value) ||
|
|
76
76
|
Whois.bug!(ParserError, "Unknown registrar format `#{value}'")
|
|
77
77
|
|
|
78
78
|
Record::Registrar.new(
|
|
79
|
-
id:
|
|
80
|
-
name:
|
|
79
|
+
id: id,
|
|
80
|
+
name: name
|
|
81
81
|
)
|
|
82
82
|
end
|
|
83
83
|
end
|
|
@@ -106,7 +106,7 @@ module Whois
|
|
|
106
106
|
|
|
107
107
|
def build_contact(element, type)
|
|
108
108
|
node("#{element} ID") do
|
|
109
|
-
address =
|
|
109
|
+
address = ["", "1", "2", "3"].
|
|
110
110
|
map { |i| node("#{element} Street#{i}") }.
|
|
111
111
|
delete_if { |i| i.nil? || i.empty? }.
|
|
112
112
|
join("\n")
|
|
@@ -122,7 +122,7 @@ module Whois
|
|
|
122
122
|
:state => node("#{element} State/Province"),
|
|
123
123
|
:country_code => node("#{element} Country"),
|
|
124
124
|
:phone => node("#{element} Phone"),
|
|
125
|
-
:fax => node("#{element} FAX"),
|
|
125
|
+
:fax => node("#{element} FAX") || node("#{element} Fax"),
|
|
126
126
|
:email => node("#{element} Email")
|
|
127
127
|
)
|
|
128
128
|
end
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# Ruby Whois
|
|
3
|
+
#
|
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2009-2014 Simone Carletti <weppos@weppos.net>
|
|
7
|
+
#++
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
require 'whois/record/parser/base'
|
|
11
|
+
require 'whois/record/scanners/base_afilias'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module Whois
|
|
15
|
+
class Record
|
|
16
|
+
class Parser
|
|
17
|
+
|
|
18
|
+
# Base parser for Afilias servers.
|
|
19
|
+
#
|
|
20
|
+
# @abstract
|
|
21
|
+
class BaseAfilias2 < Base
|
|
22
|
+
include Scanners::Scannable
|
|
23
|
+
|
|
24
|
+
self.scanner = Scanners::BaseAfilias
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
property_supported :disclaimer do
|
|
28
|
+
node("field:disclaimer")
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
property_supported :domain do
|
|
33
|
+
node("Domain Name", &:downcase)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
property_supported :domain_id do
|
|
37
|
+
node("Domain ID")
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
property_supported :status do
|
|
42
|
+
Array.wrap(node("Domain Status"))
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
property_supported :available? do
|
|
46
|
+
!!node("status:available")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
property_supported :registered? do
|
|
50
|
+
!available?
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
property_supported :created_on do
|
|
55
|
+
node("Creation Date") do |value|
|
|
56
|
+
Time.parse(value)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
property_supported :updated_on do
|
|
61
|
+
node("Updated Date") do |value|
|
|
62
|
+
Time.parse(value)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
property_supported :expires_on do
|
|
67
|
+
node("Registry Expiry Date") do |value|
|
|
68
|
+
Time.parse(value)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
property_supported :registrar do
|
|
74
|
+
node("Sponsoring Registrar") do |value|
|
|
75
|
+
id, name = decompose_registrar(value) ||
|
|
76
|
+
Whois.bug!(ParserError, "Unknown registrar format `#{value}'")
|
|
77
|
+
|
|
78
|
+
Record::Registrar.new(
|
|
79
|
+
id: id,
|
|
80
|
+
name: name
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
property_supported :registrant_contacts do
|
|
86
|
+
build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
property_supported :admin_contacts do
|
|
90
|
+
build_contact("Admin", Whois::Record::Contact::TYPE_ADMINISTRATIVE)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
property_supported :technical_contacts do
|
|
94
|
+
build_contact("Tech", Whois::Record::Contact::TYPE_TECHNICAL)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
property_supported :nameservers do
|
|
99
|
+
Array.wrap(node("Name Server")).reject(&:empty?).map do |name|
|
|
100
|
+
Nameserver.new(:name => name.downcase)
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
private
|
|
106
|
+
|
|
107
|
+
def build_contact(element, type)
|
|
108
|
+
node("#{element} ID") do
|
|
109
|
+
address = ["", "1", "2", "3"].
|
|
110
|
+
map { |i| node("#{element} Street#{i}") }.
|
|
111
|
+
delete_if { |i| i.nil? || i.empty? }.
|
|
112
|
+
join("\n")
|
|
113
|
+
|
|
114
|
+
Record::Contact.new(
|
|
115
|
+
:type => type,
|
|
116
|
+
:id => node("#{element} ID"),
|
|
117
|
+
:name => node("#{element} Name"),
|
|
118
|
+
:organization => node("#{element} Organization"),
|
|
119
|
+
:address => address,
|
|
120
|
+
:city => node("#{element} City"),
|
|
121
|
+
:zip => node("#{element} Postal Code"),
|
|
122
|
+
:state => node("#{element} State/Province"),
|
|
123
|
+
:country_code => node("#{element} Country"),
|
|
124
|
+
:phone => node("#{element} Phone"),
|
|
125
|
+
:fax => node("#{element} FAX") || node("#{element} Fax"),
|
|
126
|
+
:email => node("#{element} Email")
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
def decompose_registrar(value)
|
|
132
|
+
if value =~ /(.+?) \((.+?)\)/
|
|
133
|
+
[$2, $1]
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
@@ -111,7 +111,7 @@ module Whois
|
|
|
111
111
|
node("#{element} Name") do
|
|
112
112
|
Record::Contact.new(
|
|
113
113
|
type: type,
|
|
114
|
-
id: node("Registry #{element} ID"),
|
|
114
|
+
id: node("Registry #{element} ID").presence,
|
|
115
115
|
name: value_for_property(element, 'Name'),
|
|
116
116
|
organization: value_for_property(element, 'Organization'),
|
|
117
117
|
address: value_for_property(element, 'Street'),
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_afilias2'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
@@ -15,7 +15,12 @@ module Whois
|
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
17
|
# Parser for the whois.afilias.info server.
|
|
18
|
-
class WhoisAfiliasInfo <
|
|
18
|
+
class WhoisAfiliasInfo < BaseAfilias2
|
|
19
|
+
|
|
20
|
+
self.scanner = Scanners::BaseAfilias, {
|
|
21
|
+
pattern_disclaimer: /^Access to/
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
end
|
|
20
25
|
|
|
21
26
|
end
|
|
@@ -99,15 +99,14 @@ module Whois
|
|
|
99
99
|
def build_contact(element, type)
|
|
100
100
|
node("#{element} Name") do
|
|
101
101
|
Record::Contact.new(
|
|
102
|
-
:
|
|
103
|
-
:
|
|
104
|
-
:
|
|
105
|
-
:
|
|
106
|
-
:
|
|
107
|
-
:
|
|
108
|
-
:
|
|
109
|
-
:
|
|
110
|
-
:updated_on => node("#{element} Updated") { |value| Time.parse(value) }
|
|
102
|
+
type: type,
|
|
103
|
+
name: node("#{element} Name"),
|
|
104
|
+
address: node("#{element} Address"),
|
|
105
|
+
phone: node("#{element} Tel"),
|
|
106
|
+
fax: node("#{element} Fax"),
|
|
107
|
+
email: node("#{element} Email"),
|
|
108
|
+
created_on: node("#{element} Created") { |value| Time.parse(value) },
|
|
109
|
+
updated_on: node("#{element} Updated") { |value| Time.parse(value) if value != "None" }
|
|
111
110
|
)
|
|
112
111
|
end
|
|
113
112
|
end
|
|
@@ -46,12 +46,13 @@ module Whois
|
|
|
46
46
|
:available
|
|
47
47
|
when "invalid"
|
|
48
48
|
:invalid
|
|
49
|
-
# NEWSTATUS
|
|
49
|
+
# NEWSTATUS inactive
|
|
50
50
|
# The domain is registered, but there is not DNS entry for it.
|
|
51
51
|
when "failed"
|
|
52
52
|
:registered
|
|
53
53
|
else
|
|
54
54
|
if response_error?
|
|
55
|
+
# NEWSTATUS invalid
|
|
55
56
|
:invalid
|
|
56
57
|
else
|
|
57
58
|
Whois.bug!(ParserError, "Unknown status `#{node("Status")}'.")
|
|
@@ -132,7 +133,6 @@ module Whois
|
|
|
132
133
|
end
|
|
133
134
|
|
|
134
135
|
|
|
135
|
-
# NEWPROPERTY
|
|
136
136
|
def version
|
|
137
137
|
cached_properties_fetch :version do
|
|
138
138
|
if content_for_scanner =~ /^% Version: (.+)$/
|
|
@@ -141,7 +141,7 @@ module Whois
|
|
|
141
141
|
end
|
|
142
142
|
end
|
|
143
143
|
|
|
144
|
-
# NEWPROPERTY
|
|
144
|
+
# NEWPROPERTY invalid?
|
|
145
145
|
def invalid?
|
|
146
146
|
cached_properties_fetch :invalid? do
|
|
147
147
|
node("Status") == "invalid" ||
|
|
@@ -22,8 +22,11 @@ module Whois
|
|
|
22
22
|
class WhoisNicCd < BaseCocca2
|
|
23
23
|
|
|
24
24
|
property_supported :status do
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
if node("Domain ID")
|
|
26
|
+
:registered
|
|
27
|
+
else
|
|
28
|
+
:available
|
|
29
|
+
end
|
|
27
30
|
end
|
|
28
31
|
|
|
29
32
|
end
|
|
@@ -8,69 +8,27 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
require 'whois/record/parser/base'
|
|
11
|
+
require 'whois/record/parser/base_cocca'
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
module Whois
|
|
14
15
|
class Record
|
|
15
16
|
class Parser
|
|
16
17
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic.ec parser
|
|
19
|
-
#
|
|
20
18
|
# Parser for the whois.nic.ec server.
|
|
21
19
|
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
# Please consider to contribute implementing missing methods.
|
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
|
26
|
-
# and examples.
|
|
20
|
+
# @see Whois::Record::Parser::Example
|
|
21
|
+
# The Example parser for the list of all available methods.
|
|
27
22
|
#
|
|
28
|
-
class WhoisNicEc <
|
|
29
|
-
|
|
23
|
+
class WhoisNicEc < BaseCocca
|
|
30
24
|
property_supported :status do
|
|
31
|
-
if
|
|
32
|
-
|
|
25
|
+
if content_for_scanner =~ /Status:\s+(.+?)\n/
|
|
26
|
+
super()
|
|
33
27
|
else
|
|
34
|
-
:registered
|
|
35
|
-
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
property_supported :available? do
|
|
39
|
-
!!(content_for_scanner =~ /Domain not registered/)
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
property_supported :registered? do
|
|
43
|
-
!available?
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
property_supported :created_on do
|
|
48
|
-
if content_for_scanner =~ /^Fecha de Creacion:(.*)\n/
|
|
49
|
-
Time.parse($1)
|
|
28
|
+
registrar ? :registered : :available
|
|
29
|
+
# Whois.bug!(ParserError, "Unable to parse status.")
|
|
50
30
|
end
|
|
51
31
|
end
|
|
52
|
-
|
|
53
|
-
property_supported :updated_on do
|
|
54
|
-
if content_for_scanner =~ /^Ultima Modificacion:(.*)\n/
|
|
55
|
-
Time.parse($1)
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
property_supported :expires_on do
|
|
60
|
-
if content_for_scanner =~ /^Fecha de Expiracion:(.*)\n/
|
|
61
|
-
Time.parse($1)
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
property_supported :nameservers do
|
|
67
|
-
if content_for_scanner =~ /Servidores de dominio \(Name Servers\)\n((.+\n)+)\n/
|
|
68
|
-
$1.split("\n").map do |name|
|
|
69
|
-
Record::Nameserver.new(:name => name)
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
|
|
74
32
|
end
|
|
75
33
|
|
|
76
34
|
end
|
|
@@ -14,25 +14,24 @@ module Whois
|
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic.org.uy parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.nic.org.uy server.
|
|
21
18
|
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
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.
|
|
27
25
|
#
|
|
28
26
|
class WhoisNicOrgUy < Base
|
|
29
27
|
|
|
30
28
|
property_supported :status do
|
|
31
29
|
if content_for_scanner =~ /Estatus del dominio: (.+?)\n/
|
|
32
30
|
case $1.downcase
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
when "activo"
|
|
32
|
+
:registered
|
|
33
|
+
else
|
|
34
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
|
36
35
|
end
|
|
37
36
|
else
|
|
38
37
|
:available
|
|
@@ -40,7 +39,7 @@ module Whois
|
|
|
40
39
|
end
|
|
41
40
|
|
|
42
41
|
property_supported :available? do
|
|
43
|
-
!!(content_for_scanner =~ /No match for "(
|
|
42
|
+
!!(content_for_scanner =~ /No match for "(.+?)"/)
|
|
44
43
|
end
|
|
45
44
|
|
|
46
45
|
property_supported :registered? do
|
|
@@ -49,13 +48,13 @@ module Whois
|
|
|
49
48
|
|
|
50
49
|
|
|
51
50
|
property_supported :created_on do
|
|
52
|
-
if content_for_scanner =~ /Fecha de Creacion: (
|
|
51
|
+
if content_for_scanner =~ /Fecha de Creacion: (.+)\n/
|
|
53
52
|
Time.parse($1)
|
|
54
53
|
end
|
|
55
54
|
end
|
|
56
55
|
|
|
57
56
|
property_supported :updated_on do
|
|
58
|
-
if content_for_scanner =~ /Ultima Actualizacion: (
|
|
57
|
+
if content_for_scanner =~ /Ultima Actualizacion: (.+)\n/
|
|
59
58
|
Time.parse($1)
|
|
60
59
|
end
|
|
61
60
|
end
|
|
@@ -30,7 +30,10 @@ module Whois
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
property_supported :status do
|
|
33
|
-
|
|
33
|
+
# NEWSTATUS invalid
|
|
34
|
+
if invalid?
|
|
35
|
+
:invalid
|
|
36
|
+
elsif available?
|
|
34
37
|
:available
|
|
35
38
|
else
|
|
36
39
|
:registered
|
|
@@ -38,11 +41,11 @@ module Whois
|
|
|
38
41
|
end
|
|
39
42
|
|
|
40
43
|
property_supported :available? do
|
|
41
|
-
!!(content_for_scanner =~ /No match found for "(.+)"/)
|
|
44
|
+
!invalid? && !!(content_for_scanner =~ /No match found for "(.+)"/)
|
|
42
45
|
end
|
|
43
46
|
|
|
44
47
|
property_supported :registered? do
|
|
45
|
-
!available?
|
|
48
|
+
!invalid? && !available?
|
|
46
49
|
end
|
|
47
50
|
|
|
48
51
|
|
|
@@ -110,7 +113,21 @@ module Whois
|
|
|
110
113
|
end
|
|
111
114
|
end
|
|
112
115
|
|
|
113
|
-
|
|
116
|
+
|
|
117
|
+
def response_error?
|
|
118
|
+
content_for_scanner =~ /Invalid input/
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
# NEWPROPERTY invalid?
|
|
123
|
+
def invalid?
|
|
124
|
+
cached_properties_fetch :invalid? do
|
|
125
|
+
response_error?
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
private
|
|
114
131
|
|
|
115
132
|
def build_contact(element, type)
|
|
116
133
|
textblock = content_for_scanner.slice(/^\*\* #{element}:\n((?:.+\n)+)\n/, 1)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_afilias2'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
@@ -15,7 +15,12 @@ module Whois
|
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
17
|
# Parser for the whois.nic.xxx server.
|
|
18
|
-
class WhoisNicXxx <
|
|
18
|
+
class WhoisNicXxx < BaseAfilias2
|
|
19
|
+
|
|
20
|
+
self.scanner = Scanners::BaseAfilias, {
|
|
21
|
+
pattern_disclaimer: /^Access to/
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
|
|
20
25
|
property_supported :status do
|
|
21
26
|
if reserved?
|
|
@@ -26,27 +31,11 @@ module Whois
|
|
|
26
31
|
end
|
|
27
32
|
|
|
28
33
|
|
|
29
|
-
property_supported :updated_on do
|
|
30
|
-
node("Last Updated On") do |value|
|
|
31
|
-
Time.parse(value) unless value.empty?
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
|
|
36
34
|
# NEWPROPERTY
|
|
37
35
|
def reserved?
|
|
38
36
|
!!node("status:reserved")
|
|
39
37
|
end
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
private
|
|
43
|
-
|
|
44
|
-
def decompose_registrar(value)
|
|
45
|
-
if value =~ /(.+?) \((.+?)\)/
|
|
46
|
-
[$1, $2]
|
|
47
|
-
end
|
|
48
|
-
end
|
|
49
|
-
|
|
50
39
|
end
|
|
51
40
|
|
|
52
41
|
end
|
|
@@ -8,72 +8,18 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
require 'whois/record/parser/base'
|
|
11
|
+
require 'whois/record/parser/whois.centralnic.com.rb'
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
module Whois
|
|
14
15
|
class Record
|
|
15
16
|
class Parser
|
|
16
17
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.pandi.or.id parser
|
|
19
|
-
#
|
|
20
18
|
# Parser for the whois.pandi.or.id server.
|
|
21
19
|
#
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
|
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
|
26
|
-
# and examples.
|
|
27
|
-
#
|
|
28
|
-
class WhoisPandiOrId < Base
|
|
29
|
-
|
|
30
|
-
property_supported :status do
|
|
31
|
-
if content_for_scanner =~ /domain-status:\s+(.+)\n/
|
|
32
|
-
case $1.downcase
|
|
33
|
-
when "object is active"
|
|
34
|
-
:registered
|
|
35
|
-
else
|
|
36
|
-
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
|
37
|
-
end
|
|
38
|
-
else
|
|
39
|
-
:available
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
property_supported :available? do
|
|
44
|
-
!!(content_for_scanner =~ /%ERROR:101: no entries found/)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
property_supported :registered? do
|
|
48
|
-
!available?
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
property_supported :created_on do
|
|
53
|
-
if content_for_scanner =~ /created:\s+(.*)\n/
|
|
54
|
-
Time.parse($1)
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
property_supported :updated_on do
|
|
59
|
-
if content_for_scanner =~ /last-update:\s+(.*)\n/
|
|
60
|
-
Time.parse($1)
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
property_supported :expires_on do
|
|
65
|
-
if content_for_scanner =~ /expires:\s+(.*)\n/
|
|
66
|
-
Time.parse($1)
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
property_supported :nameservers do
|
|
72
|
-
content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |name|
|
|
73
|
-
Record::Nameserver.new(:name => name)
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
20
|
+
# It aliases the whois.centralnic.com parser because
|
|
21
|
+
# it looks like the response is the same of Centralnic.
|
|
22
|
+
class WhoisPandiOrId < WhoisCentralnicCom
|
|
77
23
|
end
|
|
78
24
|
|
|
79
25
|
end
|
|
@@ -31,15 +31,14 @@ module Whois
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
property_supported :status do
|
|
34
|
-
|
|
34
|
+
Array.wrap(node("Domain Status"))
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
property_supported :registrar do
|
|
38
38
|
node('Sponsoring Registrar') do |name|
|
|
39
39
|
Record::Registrar.new(
|
|
40
|
-
:
|
|
41
|
-
:
|
|
42
|
-
:organization => node('Sponsoring Registrar')
|
|
40
|
+
id: node('Sponsoring Registrar IANA ID'),
|
|
41
|
+
name: node('Sponsoring Registrar')
|
|
43
42
|
)
|
|
44
43
|
end
|
|
45
44
|
end
|
|
@@ -20,89 +20,13 @@ module Whois
|
|
|
20
20
|
# @see Whois::Record::Parser::Example
|
|
21
21
|
# The Example parser for the list of all available methods.
|
|
22
22
|
#
|
|
23
|
-
class WhoisRrpproxyNet <
|
|
24
|
-
|
|
23
|
+
class WhoisRrpproxyNet < BaseIcannCompliant
|
|
24
|
+
self.scanner = Scanners::BaseIcannCompliant, {
|
|
25
|
+
pattern_available: /^No match for "[\w\.]+"\.\n/
|
|
26
|
+
}
|
|
25
27
|
|
|
26
|
-
self.scanner = Scanners::BaseShared3
|
|
27
28
|
|
|
28
|
-
|
|
29
|
-
property_supported :disclaimer do
|
|
30
|
-
node("field:disclaimer")
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
property_supported :domain do
|
|
35
|
-
node('DOMAIN', &:downcase)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
property_not_supported :domain_id
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
property_supported :status do
|
|
42
|
-
if available?
|
|
43
|
-
:available
|
|
44
|
-
else
|
|
45
|
-
:registered
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
property_supported :available? do
|
|
50
|
-
!!node("status:available")
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
property_supported :registered? do
|
|
54
|
-
!available?
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
property_supported :registrar do
|
|
58
|
-
return unless registered?
|
|
59
|
-
Record::Registrar.new(
|
|
60
|
-
name: 'Key-Systems',
|
|
61
|
-
organization: 'Key-Systems GmbH',
|
|
62
|
-
url: 'http://www.domaindiscount24.com/'
|
|
63
|
-
)
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
property_supported :registrant_contacts do
|
|
67
|
-
build_contact('owner', Whois::Record::Contact::TYPE_REGISTRANT)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
property_supported :admin_contacts do
|
|
71
|
-
build_contact('admin', Whois::Record::Contact::TYPE_ADMINISTRATIVE)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
property_supported :technical_contacts do
|
|
75
|
-
build_contact('tech', Whois::Record::Contact::TYPE_TECHNICAL)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
property_supported :nameservers do
|
|
79
|
-
node('nameserver') do |array|
|
|
80
|
-
array.map do |name|
|
|
81
|
-
Nameserver.new(name: name)
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
private
|
|
87
|
-
|
|
88
|
-
def build_contact(element, type)
|
|
89
|
-
node("#{element}-contact") do
|
|
90
|
-
Record::Contact.new(
|
|
91
|
-
type: type,
|
|
92
|
-
id: node("#{element}-contact"),
|
|
93
|
-
name: [node("#{element}-fname"), node("#{element}-lname")].join(' '),
|
|
94
|
-
organization: node("#{element}-organization"),
|
|
95
|
-
address: node("#{element}-street"),
|
|
96
|
-
city: node("#{element}-city"),
|
|
97
|
-
zip: node("#{element}-zip"),
|
|
98
|
-
state: nil,
|
|
99
|
-
country_code: node("#{element}-country"),
|
|
100
|
-
phone: node("#{element}-phone"),
|
|
101
|
-
fax: node("#{element}-fax"),
|
|
102
|
-
email: node("#{element}-email")
|
|
103
|
-
)
|
|
104
|
-
end
|
|
105
|
-
end
|
|
29
|
+
property_not_supported :expires_on
|
|
106
30
|
|
|
107
31
|
end
|
|
108
32
|
|
|
@@ -67,12 +67,8 @@ module Whois
|
|
|
67
67
|
|
|
68
68
|
property_supported :registrar do
|
|
69
69
|
node("Sponsoring Registrar") do |value|
|
|
70
|
-
parts = decompose_registrar(value) ||
|
|
71
|
-
Whois.bug!(ParserError, "Unknown registrar format `#{value}'")
|
|
72
|
-
|
|
73
70
|
Record::Registrar.new(
|
|
74
|
-
|
|
75
|
-
name: parts[1]
|
|
71
|
+
name: value
|
|
76
72
|
)
|
|
77
73
|
end
|
|
78
74
|
end
|
|
@@ -124,12 +120,6 @@ module Whois
|
|
|
124
120
|
end
|
|
125
121
|
end
|
|
126
122
|
|
|
127
|
-
def decompose_registrar(value)
|
|
128
|
-
if value =~ /(.+?) \((.+?)\)/
|
|
129
|
-
[$2, $1]
|
|
130
|
-
end
|
|
131
|
-
end
|
|
132
|
-
|
|
133
123
|
end
|
|
134
124
|
|
|
135
125
|
end
|
|
@@ -49,7 +49,11 @@ module Whois
|
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
tokenizer :scan_disclaimer do
|
|
52
|
-
if
|
|
52
|
+
if settings[:pattern_disclaimer]
|
|
53
|
+
if @input.match?(settings[:pattern_disclaimer])
|
|
54
|
+
@ast["field:disclaimer"] = _scan_lines_to_array(/^(.+)\n/).join(" ")
|
|
55
|
+
end
|
|
56
|
+
elsif @input.pos == 0 && @input.match?(/^(.+\n){3,}\n/)
|
|
53
57
|
@ast["field:disclaimer"] = _scan_lines_to_array(/^(.+)\n/).join(" ")
|
|
54
58
|
end
|
|
55
59
|
end
|
data/lib/whois/version.rb
CHANGED
data/whois.gemspec
CHANGED
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = "whois"
|
|
5
|
-
s.version = "3.4.
|
|
5
|
+
s.version = "3.4.5"
|
|
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 = "2014-
|
|
9
|
+
s.date = "2014-03-06"
|
|
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/asn16.json", "data/asn32.json", "data/ipv4.json", "data/ipv6.json", "data/tld.json", "lib/whois/client.rb", "lib/whois/core_ext/array/extract_options.rb", "lib/whois/core_ext/array/wrap.rb", "lib/whois/core_ext/class/attribute.rb", "lib/whois/core_ext/kernel/singleton_class.rb", "lib/whois/core_ext/module/remove_method.rb", "lib/whois/core_ext/object/blank.rb", "lib/whois/core_ext.rb", "lib/whois/errors.rb", "lib/whois/record/contact.rb", "lib/whois/record/nameserver.rb", "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_icann_compliant.rb", "lib/whois/record/parser/base_icb.rb", "lib/whois/record/parser/base_iisse.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_shared3.rb", "lib/whois/record/parser/base_verisign.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/ccwhois.verisign-grs.com.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/whois.1und1.info.rb", "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.ascio.com.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.comlaude.com.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.cf.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.gandi.net.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.iis.nu.rb", "lib/whois/record/parser/whois.iis.se.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.meridiantld.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.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.bj.rb", "lib/whois/record/parser/whois.nic.bo.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.es.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gd.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.me.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.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.nf.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.pairnic.com.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.rrpproxy.net.rb", "lib/whois/record/parser/whois.schlund.info.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.tucows.com.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.udag.net.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.verisign-grs.com.rb", "lib/whois/record/parser/whois.website.ws.rb", "lib/whois/record/parser/whois.wildwestdomains.com.rb", "lib/whois/record/parser/whois.yoursrs.com.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/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_cocca2.rb", "lib/whois/record/scanners/base_icann_compliant.rb", "lib/whois/record/scanners/base_iisse.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_shared3.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/scannable.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.fi.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.cz.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.srs.net.nz.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/scanners/whois.tucows.com.rb", "lib/whois/record/scanners/whois.yoursrs.com.rb", "lib/whois/record/super_struct.rb", "lib/whois/record.rb", "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"]
|
|
13
|
+
s.files = ["LICENSE.txt", ".yardopts", "CHANGELOG.md", "README.md", "whois.gemspec", "bin/ruby-whois", "data/asn16.json", "data/asn32.json", "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/object", "lib/whois/core_ext/object/blank.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_afilias2.rb", "lib/whois/record/parser/base_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_icann_compliant.rb", "lib/whois/record/parser/base_icb.rb", "lib/whois/record/parser/base_iisse.rb", "lib/whois/record/parser/base_shared1.rb", "lib/whois/record/parser/base_shared2.rb", "lib/whois/record/parser/base_shared3.rb", "lib/whois/record/parser/base_verisign.rb", "lib/whois/record/parser/base_whoisd.rb", "lib/whois/record/parser/blank.rb", "lib/whois/record/parser/ccwhois.verisign-grs.com.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/whois.1und1.info.rb", "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.ascio.com.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.comlaude.com.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.cf.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.gandi.net.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.iis.nu.rb", "lib/whois/record/parser/whois.iis.se.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.meridiantld.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.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.bj.rb", "lib/whois/record/parser/whois.nic.bo.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.es.rb", "lib/whois/record/parser/whois.nic.fo.rb", "lib/whois/record/parser/whois.nic.fr.rb", "lib/whois/record/parser/whois.nic.gd.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.me.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.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.nf.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.pairnic.com.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.rrpproxy.net.rb", "lib/whois/record/parser/whois.schlund.info.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.tucows.com.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.udag.net.rb", "lib/whois/record/parser/whois.usp.ac.fj.rb", "lib/whois/record/parser/whois.verisign-grs.com.rb", "lib/whois/record/parser/whois.website.ws.rb", "lib/whois/record/parser/whois.wildwestdomains.com.rb", "lib/whois/record/parser/whois.yoursrs.com.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_cocca2.rb", "lib/whois/record/scanners/base_icann_compliant.rb", "lib/whois/record/scanners/base_iisse.rb", "lib/whois/record/scanners/base_shared1.rb", "lib/whois/record/scanners/base_shared2.rb", "lib/whois/record/scanners/base_shared3.rb", "lib/whois/record/scanners/base_whoisd.rb", "lib/whois/record/scanners/iana.rb", "lib/whois/record/scanners/scannable.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.fi.rb", "lib/whois/record/scanners/whois.nc.rb", "lib/whois/record/scanners/whois.nic.cz.rb", "lib/whois/record/scanners/whois.nic.it.rb", "lib/whois/record/scanners/whois.pir.org.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.srs.net.nz.rb", "lib/whois/record/scanners/whois.sx.rb", "lib/whois/record/scanners/whois.tucows.com.rb", "lib/whois/record/scanners/whois.yoursrs.com.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.licenses = ["MIT"]
|
|
16
16
|
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"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: whois
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.
|
|
4
|
+
version: 3.4.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Simone Carletti
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-03-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -100,6 +100,7 @@ files:
|
|
|
100
100
|
- lib/whois/record/nameserver.rb
|
|
101
101
|
- lib/whois/record/parser/base.rb
|
|
102
102
|
- lib/whois/record/parser/base_afilias.rb
|
|
103
|
+
- lib/whois/record/parser/base_afilias2.rb
|
|
103
104
|
- lib/whois/record/parser/base_cocca.rb
|
|
104
105
|
- lib/whois/record/parser/base_cocca2.rb
|
|
105
106
|
- lib/whois/record/parser/base_icann_compliant.rb
|