whois 3.3.0 → 3.3.1
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.
- data/CHANGELOG.md +11 -0
- data/data/tld.json +2 -4
- data/lib/whois/errors.rb +0 -1
- data/lib/whois/record/parser/base_icann_compliant.rb +144 -0
- data/lib/whois/record/parser/whois.dreamhost.com.rb +0 -1
- data/lib/whois/record/parser/whois.enom.com.rb +2 -103
- data/lib/whois/record/parser/whois.gandi.net.rb +139 -0
- data/lib/whois/record/parser/whois.godaddy.com.rb +1 -1
- data/lib/whois/record/parser/whois.kr.rb +8 -10
- data/lib/whois/record/parser/whois.networksolutions.com.rb +1 -1
- data/lib/whois/record/parser/whois.nic.cz.rb +9 -0
- data/lib/whois/record/parser/whois.nic.es.rb +107 -0
- data/lib/whois/record/parser/whois.nic.fo.rb +0 -1
- data/lib/whois/record/parser/whois.nic.lk.rb +0 -1
- data/lib/whois/record/parser/whois.registry.om.rb +0 -1
- data/lib/whois/record/parser/whois.registry.qa.rb +0 -1
- data/lib/whois/record/parser/whois.tcinet.ru.rb +0 -1
- data/lib/whois/record/parser/whois.yoursrs.com.rb +139 -0
- data/lib/whois/record/scanners/base_icann_compliant.rb +49 -0
- data/lib/whois/record/scanners/whois.domainregistry.ie.rb +0 -2
- data/lib/whois/record/scanners/whois.gandi.net.rb +49 -0
- data/lib/whois/record/scanners/whois.nic.cz.rb +34 -0
- data/lib/whois/record/scanners/whois.yoursrs.com.rb +36 -0
- data/lib/whois/version.rb +1 -1
- data/whois.gemspec +4 -3
- metadata +10 -2
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## Release 3.3.1
|
|
5
|
+
|
|
6
|
+
- SERVER: Updated .KR, .ES (GH-267) TLD definitions.
|
|
7
|
+
|
|
8
|
+
- NEW: Added whois.nic.es parser (GH-267). [Thanks @takama]
|
|
9
|
+
|
|
10
|
+
- NEW: Added whois.gandi.net parser (GH-261). [Thanks @takama]
|
|
11
|
+
|
|
12
|
+
- CHANGED: Updated whois.enom.com parsers to the new response format (GH-269). [Thanks @takama]
|
|
13
|
+
|
|
14
|
+
|
|
4
15
|
## Release 3.3.0
|
|
5
16
|
|
|
6
17
|
- SERVER: Added .CF TLD definition.
|
data/data/tld.json
CHANGED
|
@@ -422,9 +422,7 @@
|
|
|
422
422
|
"adapter": "none"
|
|
423
423
|
},
|
|
424
424
|
".es": {
|
|
425
|
-
"host":
|
|
426
|
-
"adapter": "web",
|
|
427
|
-
"url": "https://www.nic.es/"
|
|
425
|
+
"host": "whois.nic.es"
|
|
428
426
|
},
|
|
429
427
|
".et": {
|
|
430
428
|
"host": null,
|
|
@@ -657,7 +655,7 @@
|
|
|
657
655
|
"adapter": "none"
|
|
658
656
|
},
|
|
659
657
|
".kr": {
|
|
660
|
-
"host": "whois.
|
|
658
|
+
"host": "whois.kr"
|
|
661
659
|
},
|
|
662
660
|
".kw": {
|
|
663
661
|
"host": null,
|
data/lib/whois/errors.rb
CHANGED
|
@@ -0,0 +1,144 @@
|
|
|
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
|
+
require 'whois/record/scanners/base_icann_compliant'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module Whois
|
|
15
|
+
class Record
|
|
16
|
+
class Parser
|
|
17
|
+
|
|
18
|
+
# Base parser for ICANN Compliant servers.
|
|
19
|
+
#
|
|
20
|
+
# @see http://www.icann.org/en/resources/registrars/raa/approved-with-specs-27jun13-en.htm#whois
|
|
21
|
+
#
|
|
22
|
+
# @author Simone Carletti
|
|
23
|
+
# @author Igor Dolzhikov <bluesriverz@gmail.com>
|
|
24
|
+
#
|
|
25
|
+
|
|
26
|
+
class BaseIcannCompliant < Base
|
|
27
|
+
include Scanners::Scannable
|
|
28
|
+
|
|
29
|
+
self.scanner = Scanners::BaseIcannCompliant
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
property_supported :domain do
|
|
33
|
+
node('domain:name', &:downcase)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
property_supported :domain_id do
|
|
37
|
+
node('Registry Domain ID')
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
property_supported :status do
|
|
42
|
+
status = Array.wrap(node('Domain Status'))
|
|
43
|
+
if status.empty?
|
|
44
|
+
if available?
|
|
45
|
+
:available
|
|
46
|
+
else
|
|
47
|
+
:registered
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
property_supported :available? do
|
|
53
|
+
!!node('status:available')
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
property_supported :registered? do
|
|
57
|
+
!available?
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
property_supported :created_on do
|
|
62
|
+
node('Creation Date') do |value|
|
|
63
|
+
Time.parse(value)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
property_supported :updated_on do
|
|
68
|
+
node('Updated Date') do |value|
|
|
69
|
+
Time.parse(value)
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
property_supported :expires_on do
|
|
74
|
+
node('Registrar Registration Expiration Date') do |value|
|
|
75
|
+
Time.parse(value)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
property_supported :registrar do
|
|
81
|
+
return unless node('Registrar')
|
|
82
|
+
Record::Registrar.new(
|
|
83
|
+
id: node('Registrar IANA ID'),
|
|
84
|
+
name: node('Registrar'),
|
|
85
|
+
organization: node('Registrar'),
|
|
86
|
+
url: node('Registrar URL'),
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
property_supported :registrant_contacts do
|
|
92
|
+
build_contact('Registrant', Record::Contact::TYPE_REGISTRANT)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
property_supported :admin_contacts do
|
|
96
|
+
build_contact('Admin', Record::Contact::TYPE_ADMINISTRATIVE)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
property_supported :technical_contacts do
|
|
100
|
+
build_contact('Tech', Record::Contact::TYPE_TECHNICAL)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
property_supported :nameservers do
|
|
105
|
+
Array.wrap(node('Name Server') || node('Name Servers')).reject(&:empty?).map do |name|
|
|
106
|
+
Nameserver.new(:name => name.downcase)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
private
|
|
112
|
+
|
|
113
|
+
def build_contact(element, type)
|
|
114
|
+
node("#{element} Name") do
|
|
115
|
+
Record::Contact.new(
|
|
116
|
+
:type => type,
|
|
117
|
+
:id => node("Registry #{element} ID"),
|
|
118
|
+
:name => value_for_property(element, 'Name'),
|
|
119
|
+
:organization => value_for_property(element, 'Organization'),
|
|
120
|
+
:address => value_for_property(element, 'Street'),
|
|
121
|
+
:city => value_for_property(element, 'City'),
|
|
122
|
+
:zip => value_for_property(element, 'Postal Code'),
|
|
123
|
+
:state => value_for_property(element, 'State/Province'),
|
|
124
|
+
:country_code => value_for_property(element, 'Country'),
|
|
125
|
+
:phone => [ value_for_property(element, 'Phone'),
|
|
126
|
+
value_for_property(element, 'Phone Ext')
|
|
127
|
+
].reject(&:empty?).join(' ext: '),
|
|
128
|
+
:fax => [ value_for_property(element, 'Fax'),
|
|
129
|
+
value_for_property(element, 'Fax Ext')
|
|
130
|
+
].reject(&:empty?).join(' ext: '),
|
|
131
|
+
:email => value_for_property(element, 'Email')
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def value_for_property(element, property)
|
|
137
|
+
Array.wrap(node("#{element} #{property}")).reject(&:empty?).join(', ')
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_icann_compliant'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
@@ -15,108 +15,7 @@ module Whois
|
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
17
|
# Parser for the whois.enom.com 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
|
-
# @since 2.5.0
|
|
27
|
-
class WhoisEnomCom < Base
|
|
28
|
-
|
|
29
|
-
property_not_supported :status
|
|
30
|
-
|
|
31
|
-
# The server is contacted only in case of a registered domain.
|
|
32
|
-
property_supported :available? do
|
|
33
|
-
false
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
property_supported :registered? do
|
|
37
|
-
true
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
property_supported :created_on do
|
|
42
|
-
if content_for_scanner =~ /Creation date: (.+)\n/
|
|
43
|
-
Time.parse($1)
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
property_not_supported :updated_on
|
|
48
|
-
|
|
49
|
-
property_supported :expires_on do
|
|
50
|
-
if content_for_scanner =~ /Expiration date: (.+)\n/
|
|
51
|
-
Time.parse($1)
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
property_supported :registrar do
|
|
57
|
-
Record::Registrar.new(
|
|
58
|
-
:name => "eNom Inc.",
|
|
59
|
-
:url => "http://www.enom.com/"
|
|
60
|
-
)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
property_supported :registrant_contacts do
|
|
64
|
-
build_contact("Registrant Contact", Record::Contact::TYPE_REGISTRANT)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
property_supported :admin_contacts do
|
|
68
|
-
build_contact("Administrative Contact", Record::Contact::TYPE_ADMINISTRATIVE)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
property_supported :technical_contacts do
|
|
72
|
-
build_contact("Technical Contact", Record::Contact::TYPE_TECHNICAL)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
property_supported :nameservers do
|
|
77
|
-
if content_for_scanner =~ /Name Servers:\n((\s+[^\s]+\n)+)/
|
|
78
|
-
$1.split("\n").map do |line|
|
|
79
|
-
Record::Nameserver.new(:name => line.strip)
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
private
|
|
86
|
-
|
|
87
|
-
def build_contact(element, type)
|
|
88
|
-
match = content_for_scanner.slice(/#{element}:\n((.+\n)+)/, 1)
|
|
89
|
-
return unless match
|
|
90
|
-
|
|
91
|
-
# 0 AdBrite, Inc.
|
|
92
|
-
# 1 Host Master (hostmaster@adbrite.com)
|
|
93
|
-
# 2 4159750916
|
|
94
|
-
# 3 Fax:
|
|
95
|
-
# 4 731 Market Street, Suite 500
|
|
96
|
-
# 5 San Francisco, CA 94103
|
|
97
|
-
# 6 US
|
|
98
|
-
|
|
99
|
-
lines = match.split("\n").map(&:lstrip)
|
|
100
|
-
name, email = lines[1].match(/(.*)\((.*)\)/)[1..2].map(&:strip)
|
|
101
|
-
fax = lines[3].match(/Fax: (.*)/)[1]
|
|
102
|
-
city, state, zip = lines[-2].match(/(.*),(.+?)(\d*)$/)[1..3].map(&:strip)
|
|
103
|
-
|
|
104
|
-
Record::Contact.new(
|
|
105
|
-
:type => type,
|
|
106
|
-
:id => nil,
|
|
107
|
-
:name => name,
|
|
108
|
-
:organization => lines[0],
|
|
109
|
-
:address => lines[4..-3].join("\n"),
|
|
110
|
-
:city => city,
|
|
111
|
-
:zip => zip,
|
|
112
|
-
:state => state,
|
|
113
|
-
:country_code => lines[-1],
|
|
114
|
-
:phone => lines[2],
|
|
115
|
-
:fax => fax,
|
|
116
|
-
:email => email
|
|
117
|
-
)
|
|
118
|
-
end
|
|
119
|
-
|
|
18
|
+
class WhoisEnomCom < BaseIcannCompliant
|
|
120
19
|
end
|
|
121
20
|
|
|
122
21
|
end
|
|
@@ -0,0 +1,139 @@
|
|
|
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
|
+
require 'whois/record/scanners/whois.gandi.net'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module Whois
|
|
15
|
+
class Record
|
|
16
|
+
class Parser
|
|
17
|
+
|
|
18
|
+
# Parser for the whois.gandi.net server.
|
|
19
|
+
#
|
|
20
|
+
# @see Whois::Record::Parser::Example
|
|
21
|
+
# The Example parser for the list of all available methods.
|
|
22
|
+
#
|
|
23
|
+
# @author Simone Carletti
|
|
24
|
+
# @author Igor Dolzhikov <bluesriverz@gmail.com>
|
|
25
|
+
#
|
|
26
|
+
class WhoisGandiNet < Base
|
|
27
|
+
include Scanners::Scannable
|
|
28
|
+
|
|
29
|
+
self.scanner = Scanners::WhoisGandiNet
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
property_supported :disclaimer do
|
|
33
|
+
node("field:disclaimer")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
property_supported :domain do
|
|
38
|
+
node("domain")
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
property_not_supported :domain_id
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
property_supported :status do
|
|
45
|
+
if available?
|
|
46
|
+
:available
|
|
47
|
+
else
|
|
48
|
+
:registered
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
property_supported :available? do
|
|
53
|
+
!!node("status:available")
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
property_supported :registered? do
|
|
57
|
+
!available?
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
property_supported :created_on do
|
|
62
|
+
node("created") { |str| Time.parse(str) }
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
property_supported :updated_on do
|
|
66
|
+
node("changed") { |str| Time.parse(str) }
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
property_supported :expires_on do
|
|
70
|
+
node("expires") { |str| Time.parse(str) }
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
property_supported :registrar do
|
|
75
|
+
Record::Registrar.new(
|
|
76
|
+
:name => 'GANDI Registrar',
|
|
77
|
+
:organization => 'GANDI Registrar',
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
property_supported :registrant_contacts do
|
|
83
|
+
build_contact("owner-c", Whois::Record::Contact::TYPE_REGISTRANT)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
property_supported :admin_contacts do
|
|
87
|
+
build_contact("admin-c", Whois::Record::Contact::TYPE_ADMINISTRATIVE)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
property_supported :technical_contacts do
|
|
91
|
+
build_contact("tech-c", Whois::Record::Contact::TYPE_TECHNICAL)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
property_supported :nameservers do
|
|
96
|
+
content_for_scanner.scan(/^ns\d{1}:\s(.*)/).flatten.map do |line|
|
|
97
|
+
name, ipv4 = line.strip.split(" ")
|
|
98
|
+
Record::Nameserver.new(:name => name.downcase, :ipv4 => ipv4)
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
private
|
|
104
|
+
|
|
105
|
+
def build_contact(element, type)
|
|
106
|
+
match = content_for_scanner.slice(/#{element}:\n((\s\s.+\n)*)/, 1)
|
|
107
|
+
return unless match
|
|
108
|
+
|
|
109
|
+
# nic-hdl: NG270-GANDI
|
|
110
|
+
# organisation: GANDI SAS
|
|
111
|
+
# person: NOC GANDI
|
|
112
|
+
# address: 63-65 Boulevard MASSENA
|
|
113
|
+
# zipcode: 75013
|
|
114
|
+
# city: Paris
|
|
115
|
+
# country: France
|
|
116
|
+
# phone: +33.143737851
|
|
117
|
+
# fax: +33.143731851
|
|
118
|
+
# email: 12e7da77f638acdf8d9f4d0b828ca80c-248842@contact.gandi.net
|
|
119
|
+
# lastupdated: 2013-04-04 15:53:42
|
|
120
|
+
Record::Contact.new(
|
|
121
|
+
:type => type,
|
|
122
|
+
:id => match.slice(/nic-hdl: (.*)/, 1),
|
|
123
|
+
:name => match.slice(/person: (.*)/, 1),
|
|
124
|
+
:organization => match.slice(/organisation: (.*)/, 1),
|
|
125
|
+
:address => match.slice(/address: (.*)/, 1),
|
|
126
|
+
:zip => match.slice(/zipcode: (.*)/, 1),
|
|
127
|
+
:city => match.slice(/city: (.*)/, 1),
|
|
128
|
+
:country => match.slice(/country: (.*)/, 1),
|
|
129
|
+
:phone => match.slice(/phone: (.*)/, 1),
|
|
130
|
+
:fax => match.slice(/fax: (.*)/, 1),
|
|
131
|
+
:email => match.slice(/email: (.*)/, 1),
|
|
132
|
+
:updated_on => Time.parse(match.slice(/lastupdated: (.*)/, 1)),
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
@@ -14,16 +14,14 @@ module Whois
|
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.kr parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.kr 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 WhoisKr < Base
|
|
29
27
|
|
|
@@ -36,7 +34,7 @@ module Whois
|
|
|
36
34
|
end
|
|
37
35
|
|
|
38
36
|
property_supported :available? do
|
|
39
|
-
!!(content_for_scanner =~
|
|
37
|
+
!!(content_for_scanner =~ /^Above domain name is not registered to KRNIC/)
|
|
40
38
|
end
|
|
41
39
|
|
|
42
40
|
property_supported :registered? do
|
|
@@ -51,7 +49,7 @@ module Whois
|
|
|
51
49
|
end
|
|
52
50
|
|
|
53
51
|
property_supported :updated_on do
|
|
54
|
-
if content_for_scanner =~ /Last
|
|
52
|
+
if content_for_scanner =~ /Last Updated Date\s+:\s+(.+)\n/
|
|
55
53
|
Time.parse($1)
|
|
56
54
|
end
|
|
57
55
|
end
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
require 'whois/record/parser/base_whoisd'
|
|
11
|
+
require 'whois/record/scanners/whois.nic.cz.rb'
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
module Whois
|
|
@@ -20,12 +21,20 @@ module Whois
|
|
|
20
21
|
# The Example parser for the list of all available methods.
|
|
21
22
|
#
|
|
22
23
|
class WhoisNicCz < BaseWhoisd
|
|
24
|
+
|
|
25
|
+
self.scanner = Scanners::WhoisNicCz
|
|
26
|
+
|
|
23
27
|
self.status_mapping = {
|
|
24
28
|
"paid and in zone" => :registered,
|
|
25
29
|
"update prohibited" => :registered,
|
|
26
30
|
"expired" => :expired,
|
|
27
31
|
"to be deleted" => :expired,
|
|
28
32
|
}
|
|
33
|
+
|
|
34
|
+
def response_throttled?
|
|
35
|
+
!!node("response:throttled")
|
|
36
|
+
end
|
|
37
|
+
|
|
29
38
|
end
|
|
30
39
|
|
|
31
40
|
end
|
|
@@ -0,0 +1,107 @@
|
|
|
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.nic.es server.
|
|
18
|
+
#
|
|
19
|
+
# @see Whois::Record::Parser::Example
|
|
20
|
+
# The Example parser for the list of all available methods.
|
|
21
|
+
#
|
|
22
|
+
class WhoisNicEs < Base
|
|
23
|
+
|
|
24
|
+
property_supported :domain do
|
|
25
|
+
if content_for_scanner =~ /Domain Name:\s+(.+)\n/
|
|
26
|
+
$1.downcase
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
property_not_supported :domain_id
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
property_supported :status do
|
|
34
|
+
if available?
|
|
35
|
+
:available
|
|
36
|
+
else
|
|
37
|
+
:registered
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
property_supported :available? do
|
|
42
|
+
!!(content_for_scanner =~ /There is no information available on the domain consulted/)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
property_supported :registered? do
|
|
46
|
+
!available?
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
property_supported :created_on do
|
|
51
|
+
if content_for_scanner =~ /Creation Date:\s+(.+)\n/
|
|
52
|
+
Time.parse($1)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
property_not_supported :updated_on
|
|
57
|
+
|
|
58
|
+
property_supported :expires_on do
|
|
59
|
+
if content_for_scanner =~ /Expiration Date:\s+(.+)\n/
|
|
60
|
+
Time.parse($1)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
property_supported :registrar do
|
|
66
|
+
Record::Registrar.new(
|
|
67
|
+
:name => 'ES-NIC',
|
|
68
|
+
:organization => 'ES-NIC Delegated Internet Registry for Spain',
|
|
69
|
+
)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
property_supported :registrant_contacts do
|
|
74
|
+
if content_for_scanner =~ /Registrant Name:\s+(.+)\n/
|
|
75
|
+
Record::Contact.new(
|
|
76
|
+
type: Whois::Record::Contact::TYPE_REGISTRANT,
|
|
77
|
+
id: nil,
|
|
78
|
+
name: $1.to_s.strip,
|
|
79
|
+
organization: nil,
|
|
80
|
+
address: nil,
|
|
81
|
+
city: nil,
|
|
82
|
+
zip: nil,
|
|
83
|
+
state: nil,
|
|
84
|
+
country: nil,
|
|
85
|
+
phone: nil,
|
|
86
|
+
fax: nil,
|
|
87
|
+
email: nil
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
property_not_supported :admin_contacts
|
|
93
|
+
|
|
94
|
+
property_not_supported :technical_contacts
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
property_supported :nameservers do
|
|
98
|
+
content_for_scanner.scan(/Name Server \d{1}:\s+(.+)\n/).flatten.map do |name|
|
|
99
|
+
Record::Nameserver.new(name: name)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,139 @@
|
|
|
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
|
+
require 'whois/record/scanners/whois.yoursrs.com'
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
module Whois
|
|
15
|
+
class Record
|
|
16
|
+
class Parser
|
|
17
|
+
|
|
18
|
+
# Parser for the whois.yoursrs.com server.
|
|
19
|
+
#
|
|
20
|
+
# @see Whois::Record::Parser::Example
|
|
21
|
+
# The Example parser for the list of all available methods.
|
|
22
|
+
#
|
|
23
|
+
# @author Simone Carletti
|
|
24
|
+
# @author Igor Dolzhikov <bluesriverz@gmail.com>
|
|
25
|
+
# @since 3.3.0
|
|
26
|
+
#
|
|
27
|
+
class WhoisYoursrsCom < Base
|
|
28
|
+
include Scanners::Scannable
|
|
29
|
+
|
|
30
|
+
self.scanner = Scanners::WhoisYoursrsCom
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
property_supported :domain do
|
|
34
|
+
node("Domain Name", &:downcase)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
property_not_supported :domain_id
|
|
38
|
+
|
|
39
|
+
property_supported :status do
|
|
40
|
+
Array.wrap(node("Status"))
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
property_supported :available? do
|
|
44
|
+
!!node("status:available")
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
property_supported :registered? do
|
|
48
|
+
!available?
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
property_supported :created_on do
|
|
53
|
+
node("Created On") do |value|
|
|
54
|
+
Time.parse(value)
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
property_supported :updated_on do
|
|
59
|
+
node("Last Updated On") do |value|
|
|
60
|
+
Time.parse(value)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
property_supported :expires_on do
|
|
65
|
+
node("Expiration Date") do |value|
|
|
66
|
+
Time.parse(value)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
property_supported :registrar do
|
|
72
|
+
node("Sponsoring Registrar") do |value|
|
|
73
|
+
parts = decompose_registrar(value) ||
|
|
74
|
+
Whois.bug!(ParserError, "Unknown registrar format `#{value}'")
|
|
75
|
+
|
|
76
|
+
Record::Registrar.new(
|
|
77
|
+
id: parts[0],
|
|
78
|
+
name: parts[1]
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
property_supported :registrant_contacts do
|
|
84
|
+
build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
property_supported :admin_contacts do
|
|
88
|
+
build_contact("ADMIN", Whois::Record::Contact::TYPE_ADMINISTRATIVE)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
property_supported :technical_contacts do
|
|
92
|
+
build_contact("TECH", Whois::Record::Contact::TYPE_TECHNICAL)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
property_supported :nameservers do
|
|
97
|
+
Array.wrap(node("Name Server")).reject(&:empty?).map do |name|
|
|
98
|
+
Nameserver.new(:name => name.downcase)
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
private
|
|
104
|
+
|
|
105
|
+
def build_contact(element, type)
|
|
106
|
+
node("#{element} ID") do
|
|
107
|
+
address = (1..3).
|
|
108
|
+
map { |i| node("#{element} Street#{i}") }.
|
|
109
|
+
delete_if { |i| i.nil? || i.empty? }.
|
|
110
|
+
join("\n")
|
|
111
|
+
|
|
112
|
+
Record::Contact.new(
|
|
113
|
+
:type => type,
|
|
114
|
+
:id => node("#{element} ID"),
|
|
115
|
+
:name => node("#{element} Name"),
|
|
116
|
+
:organization => node("#{element} Organization"),
|
|
117
|
+
:address => address,
|
|
118
|
+
:city => node("#{element} City"),
|
|
119
|
+
:zip => node("#{element} Postal Code"),
|
|
120
|
+
:state => node("#{element} State"),
|
|
121
|
+
:country_code => node("#{element} Country"),
|
|
122
|
+
:phone => node("#{element} Phone"),
|
|
123
|
+
:fax => node("#{element} Fax"),
|
|
124
|
+
:email => node("#{element} Email")
|
|
125
|
+
)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def decompose_registrar(value)
|
|
130
|
+
if value =~ /(.+?) \((.+?)\)/
|
|
131
|
+
[$2, $1]
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
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/scanners/base'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module Whois
|
|
14
|
+
class Record
|
|
15
|
+
module Scanners
|
|
16
|
+
|
|
17
|
+
# Scanner for the Icann Compliant-based records.
|
|
18
|
+
class BaseIcannCompliant < Base
|
|
19
|
+
|
|
20
|
+
self.tokenizers += [
|
|
21
|
+
:scan_available,
|
|
22
|
+
:skip_head,
|
|
23
|
+
:scan_keyvalue,
|
|
24
|
+
:skip_end,
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
tokenizer :scan_available do
|
|
29
|
+
if @input.skip(/^Domain not found\.\n/)
|
|
30
|
+
@ast['status:available'] = true
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
tokenizer :skip_head do
|
|
35
|
+
if @input.skip_until(/^Domain Name:/)
|
|
36
|
+
@input.scan(/\s(.+)\n/)
|
|
37
|
+
@ast['domain:name'] = @input[1].strip
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
tokenizer :skip_end do
|
|
42
|
+
@input.skip_until(/.*$/m)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
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/scanners/base'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module Whois
|
|
14
|
+
class Record
|
|
15
|
+
module Scanners
|
|
16
|
+
|
|
17
|
+
# Scanner for the whois.gandi.net record.
|
|
18
|
+
class WhoisGandiNet < Base
|
|
19
|
+
|
|
20
|
+
self.tokenizers += [
|
|
21
|
+
:scan_yaml_header,
|
|
22
|
+
:skip_empty_line,
|
|
23
|
+
:scan_available,
|
|
24
|
+
:scan_disclaimer,
|
|
25
|
+
:scan_keyvalue,
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
tokenizer :scan_yaml_header do
|
|
29
|
+
# skip the YAML prelude
|
|
30
|
+
@input.scan(/^---.*\n/)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
tokenizer :scan_available do
|
|
34
|
+
if @input.skip(/^# Not found/)
|
|
35
|
+
@ast["status:available"] = true
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
tokenizer :scan_disclaimer do
|
|
40
|
+
if @input.match?(/^#.*/)
|
|
41
|
+
@ast["field:disclaimer"] = _scan_lines_to_array(/^#(.*)\n/).join(" ")
|
|
42
|
+
@ast["field:disclaimer"].gsub!(" ", "\n").gsub!(/\n\d{4}-\d{2}-\d{2}.*CEST/,'')
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
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/scanners/base_whoisd'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module Whois
|
|
14
|
+
class Record
|
|
15
|
+
module Scanners
|
|
16
|
+
|
|
17
|
+
class WhoisNicCz < BaseWhoisd
|
|
18
|
+
|
|
19
|
+
self.tokenizers += [
|
|
20
|
+
:scan_response_throttled,
|
|
21
|
+
]
|
|
22
|
+
|
|
23
|
+
tokenizer :scan_response_throttled do
|
|
24
|
+
if @input.match?(/Your connection limit exceeded\. Please slow down and try again later/)
|
|
25
|
+
@ast["response:throttled"] = true
|
|
26
|
+
@input.skip(/^.+\n/)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
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/scanners/base'
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
module Whois
|
|
14
|
+
class Record
|
|
15
|
+
module Scanners
|
|
16
|
+
|
|
17
|
+
class WhoisYoursrsCom < Base
|
|
18
|
+
|
|
19
|
+
self.tokenizers += [
|
|
20
|
+
:skip_empty_line,
|
|
21
|
+
:scan_available,
|
|
22
|
+
:scan_keyvalue,
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
tokenizer :scan_available do
|
|
27
|
+
if @input.scan(/^No match for [\w\.]+\.\n/)
|
|
28
|
+
@ast["status:available"] = true
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
data/lib/whois/version.rb
CHANGED
data/whois.gemspec
CHANGED
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = "whois"
|
|
5
|
-
s.version = "3.
|
|
5
|
+
s.version = "3.3.0"
|
|
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-
|
|
9
|
+
s.date = "2013-10-05"
|
|
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/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_icb.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_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.comlaude.com.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.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-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.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.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/base.rb", "lib/whois/record/scanners/base_afilias.rb", "lib/whois/record/scanners/base_cocca2.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.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.srs.net.nz.rb", "lib/whois/record/scanners/whois.sx.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_cocca.rb", "lib/whois/record/parser/base_cocca2.rb", "lib/whois/record/parser/base_icb.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_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.comlaude.com.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.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.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.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-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.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.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_cocca2.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-se.se.rb", "lib/whois/record/scanners/whois.nic.cz.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.srs.net.nz.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
|
+
s.licenses = ["MIT"]
|
|
15
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"
|
|
16
17
|
s.require_paths = ["lib"]
|
|
17
18
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
|
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.3.
|
|
4
|
+
version: 3.3.1
|
|
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-10-
|
|
12
|
+
date: 2013-10-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rake
|
|
@@ -111,6 +111,7 @@ files:
|
|
|
111
111
|
- lib/whois/record/parser/base_afilias.rb
|
|
112
112
|
- lib/whois/record/parser/base_cocca.rb
|
|
113
113
|
- lib/whois/record/parser/base_cocca2.rb
|
|
114
|
+
- lib/whois/record/parser/base_icann_compliant.rb
|
|
114
115
|
- lib/whois/record/parser/base_icb.rb
|
|
115
116
|
- lib/whois/record/parser/base_shared1.rb
|
|
116
117
|
- lib/whois/record/parser/base_shared2.rb
|
|
@@ -168,6 +169,7 @@ files:
|
|
|
168
169
|
- lib/whois/record/parser/whois.eu.org.rb
|
|
169
170
|
- lib/whois/record/parser/whois.eu.rb
|
|
170
171
|
- lib/whois/record/parser/whois.fi.rb
|
|
172
|
+
- lib/whois/record/parser/whois.gandi.net.rb
|
|
171
173
|
- lib/whois/record/parser/whois.gg.rb
|
|
172
174
|
- lib/whois/record/parser/whois.godaddy.com.rb
|
|
173
175
|
- lib/whois/record/parser/whois.gov.za.rb
|
|
@@ -213,6 +215,7 @@ files:
|
|
|
213
215
|
- lib/whois/record/parser/whois.nic.dm.rb
|
|
214
216
|
- lib/whois/record/parser/whois.nic.dz.rb
|
|
215
217
|
- lib/whois/record/parser/whois.nic.ec.rb
|
|
218
|
+
- lib/whois/record/parser/whois.nic.es.rb
|
|
216
219
|
- lib/whois/record/parser/whois.nic.fo.rb
|
|
217
220
|
- lib/whois/record/parser/whois.nic.fr.rb
|
|
218
221
|
- lib/whois/record/parser/whois.nic.gd.rb
|
|
@@ -297,6 +300,7 @@ files:
|
|
|
297
300
|
- lib/whois/record/parser/whois.tznic.or.tz.rb
|
|
298
301
|
- lib/whois/record/parser/whois.ua.rb
|
|
299
302
|
- lib/whois/record/parser/whois.usp.ac.fj.rb
|
|
303
|
+
- lib/whois/record/parser/whois.yoursrs.com.rb
|
|
300
304
|
- lib/whois/record/parser/whois.za.net.rb
|
|
301
305
|
- lib/whois/record/parser/whois.za.org.rb
|
|
302
306
|
- lib/whois/record/parser/whois1.nic.bi.rb
|
|
@@ -306,6 +310,7 @@ files:
|
|
|
306
310
|
- lib/whois/record/scanners/base.rb
|
|
307
311
|
- lib/whois/record/scanners/base_afilias.rb
|
|
308
312
|
- lib/whois/record/scanners/base_cocca2.rb
|
|
313
|
+
- lib/whois/record/scanners/base_icann_compliant.rb
|
|
309
314
|
- lib/whois/record/scanners/base_shared1.rb
|
|
310
315
|
- lib/whois/record/scanners/base_shared2.rb
|
|
311
316
|
- lib/whois/record/scanners/base_shared3.rb
|
|
@@ -323,8 +328,10 @@ files:
|
|
|
323
328
|
- lib/whois/record/scanners/whois.dns.hr.rb
|
|
324
329
|
- lib/whois/record/scanners/whois.domainregistry.ie.rb
|
|
325
330
|
- lib/whois/record/scanners/whois.fi.rb
|
|
331
|
+
- lib/whois/record/scanners/whois.gandi.net.rb
|
|
326
332
|
- lib/whois/record/scanners/whois.nc.rb
|
|
327
333
|
- lib/whois/record/scanners/whois.nic-se.se.rb
|
|
334
|
+
- lib/whois/record/scanners/whois.nic.cz.rb
|
|
328
335
|
- lib/whois/record/scanners/whois.nic.hu.rb
|
|
329
336
|
- lib/whois/record/scanners/whois.nic.it.rb
|
|
330
337
|
- lib/whois/record/scanners/whois.registry.net.za.rb
|
|
@@ -332,6 +339,7 @@ files:
|
|
|
332
339
|
- lib/whois/record/scanners/whois.smallregistry.net.rb
|
|
333
340
|
- lib/whois/record/scanners/whois.srs.net.nz.rb
|
|
334
341
|
- lib/whois/record/scanners/whois.sx.rb
|
|
342
|
+
- lib/whois/record/scanners/whois.yoursrs.com.rb
|
|
335
343
|
- lib/whois/record/super_struct.rb
|
|
336
344
|
- lib/whois/record.rb
|
|
337
345
|
- lib/whois/server/adapters/afilias.rb
|