whois 3.1.3 → 3.2.0
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 +26 -2
- data/data/tld.json +8 -2
- data/lib/whois/record/parser/base.rb +1 -1
- data/lib/whois/record/parser/base_afilias.rb +3 -11
- data/lib/whois/record/parser/base_cocca2.rb +4 -3
- data/lib/whois/record/parser/base_icb.rb +95 -0
- data/lib/whois/record/parser/base_shared1.rb +4 -11
- data/lib/whois/record/parser/base_shared2.rb +4 -11
- data/lib/whois/record/parser/base_shared3.rb +5 -12
- data/lib/whois/record/parser/base_whoisd.rb +4 -13
- data/lib/whois/record/parser/jobswhois.verisign-grs.com.rb +8 -11
- data/lib/whois/record/parser/whois.ati.tn.rb +6 -15
- data/lib/whois/record/parser/whois.audns.net.au.rb +4 -12
- data/lib/whois/record/parser/whois.cctld.by.rb +4 -11
- data/lib/whois/record/parser/whois.centralnic.com.rb +4 -12
- data/lib/whois/record/parser/whois.cira.ca.rb +15 -20
- data/lib/whois/record/parser/whois.cnnic.cn.rb +3 -11
- data/lib/whois/record/parser/whois.crsnic.net.rb +5 -12
- data/lib/whois/record/parser/whois.denic.de.rb +4 -11
- data/lib/whois/record/parser/whois.dns.hr.rb +4 -12
- data/lib/whois/record/parser/whois.dns.pl.rb +12 -1
- data/lib/whois/record/parser/whois.domainregistry.ie.rb +4 -11
- data/lib/whois/record/parser/whois.fi.rb +54 -20
- data/lib/whois/record/parser/whois.iana.org.rb +4 -11
- data/lib/whois/record/parser/whois.jprs.jp.rb +7 -0
- data/lib/whois/record/parser/whois.nc.rb +5 -13
- data/lib/whois/record/parser/whois.nic.ac.rb +5 -53
- data/lib/whois/record/parser/whois.nic.cc.rb +4 -11
- data/lib/whois/record/parser/whois.nic.hu.rb +4 -11
- data/lib/whois/record/parser/whois.nic.io.rb +5 -53
- data/lib/whois/record/parser/whois.nic.it.rb +3 -10
- data/lib/whois/record/parser/whois.nic.sh.rb +5 -53
- data/lib/whois/record/parser/whois.nic.tv.rb +4 -11
- data/lib/whois/record/parser/whois.norid.no.rb +7 -9
- data/lib/whois/record/parser/whois.registry.net.za.rb +6 -7
- data/lib/whois/record/parser/whois.rnids.rs.rb +4 -12
- data/lib/whois/record/parser/whois.smallregistry.net.rb +4 -11
- data/lib/whois/record/parser/whois.srs.net.nz.rb +64 -22
- data/lib/whois/record/parser/whois.sx.rb +5 -13
- data/lib/whois/record/parser/whois1.nic.bi.rb +2 -2
- data/lib/whois/record/scanners/{nodable.rb → scannable.rb} +15 -7
- data/lib/whois/record/scanners/whois.centralnic.com.rb +0 -2
- data/lib/whois/record/scanners/whois.fi.rb +44 -0
- data/lib/whois/record/scanners/whois.srs.net.nz.rb +35 -0
- data/lib/whois/server/adapters/arin.rb +2 -3
- data/lib/whois/version.rb +2 -2
- data/whois.gemspec +5 -5
- metadata +19 -6
- checksums.yaml +0 -15
|
@@ -20,9 +20,11 @@ module Whois
|
|
|
20
20
|
# @see Whois::Record::Parser::Example
|
|
21
21
|
# The Example parser for the list of all available methods.
|
|
22
22
|
#
|
|
23
|
-
# @since 2.4.0
|
|
24
23
|
class WhoisNc < Base
|
|
25
|
-
include Scanners::
|
|
24
|
+
include Scanners::Scannable
|
|
25
|
+
|
|
26
|
+
self.scanner = Scanners::WhoisNc
|
|
27
|
+
|
|
26
28
|
|
|
27
29
|
property_not_supported :disclaimer
|
|
28
30
|
|
|
@@ -104,7 +106,7 @@ module Whois
|
|
|
104
106
|
|
|
105
107
|
property_supported :nameservers do
|
|
106
108
|
nameservers = []
|
|
107
|
-
index
|
|
109
|
+
index = 1
|
|
108
110
|
while line = node("Domain server #{index}")
|
|
109
111
|
nameservers << line
|
|
110
112
|
index += 1
|
|
@@ -115,16 +117,6 @@ module Whois
|
|
|
115
117
|
end
|
|
116
118
|
end
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
# Initializes a new {Scanners::WhoisNc} instance
|
|
120
|
-
# passing the {#content_for_scanner}
|
|
121
|
-
# and calls +parse+ on it.
|
|
122
|
-
#
|
|
123
|
-
# @return [Hash]
|
|
124
|
-
def parse
|
|
125
|
-
Scanners::WhoisNc.new(content_for_scanner).parse
|
|
126
|
-
end
|
|
127
|
-
|
|
128
120
|
end
|
|
129
121
|
|
|
130
122
|
end
|
|
@@ -7,67 +7,19 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_icb'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic.ac parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.nic.ac server.
|
|
21
18
|
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
property_supported :domain do
|
|
28
|
-
if content_for_scanner =~ /Domain "(.+?)"/
|
|
29
|
-
$1.downcase
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
property_not_supported :domain_id
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
property_supported :status do
|
|
37
|
-
if available?
|
|
38
|
-
:available
|
|
39
|
-
else
|
|
40
|
-
:registered
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
property_supported :available? do
|
|
45
|
-
!!(content_for_scanner =~ /- Available/)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
property_supported :registered? do
|
|
49
|
-
!available?
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
property_not_supported :created_on
|
|
54
|
-
|
|
55
|
-
property_not_supported :updated_on
|
|
56
|
-
|
|
57
|
-
property_not_supported :expires_on
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
property_not_supported :registrar
|
|
61
|
-
|
|
62
|
-
property_not_supported :registrant_contacts
|
|
63
|
-
|
|
64
|
-
property_not_supported :admin_contacts
|
|
65
|
-
|
|
66
|
-
property_not_supported :technical_contacts
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
property_not_supported :nameservers
|
|
70
|
-
|
|
19
|
+
# @see Whois::Record::Parser::Example
|
|
20
|
+
# The Example parser for the list of all available methods.
|
|
21
|
+
#
|
|
22
|
+
class WhoisNicAc < BaseIcb
|
|
71
23
|
end
|
|
72
24
|
|
|
73
25
|
end
|
|
@@ -17,7 +17,10 @@ module Whois
|
|
|
17
17
|
|
|
18
18
|
# Parser for the whois.nic.cc server.
|
|
19
19
|
class WhoisNicCc < Base
|
|
20
|
-
include Scanners::
|
|
20
|
+
include Scanners::Scannable
|
|
21
|
+
|
|
22
|
+
self.scanner = Scanners::Verisign
|
|
23
|
+
|
|
21
24
|
|
|
22
25
|
property_supported :disclaimer do
|
|
23
26
|
node("Disclaimer")
|
|
@@ -86,16 +89,6 @@ module Whois
|
|
|
86
89
|
node("Referral URL")
|
|
87
90
|
end
|
|
88
91
|
|
|
89
|
-
|
|
90
|
-
# Initializes a new {Scanners::Verisign} instance
|
|
91
|
-
# passing the {#content_for_scanner}
|
|
92
|
-
# and calls +parse+ on it.
|
|
93
|
-
#
|
|
94
|
-
# @return [Hash]
|
|
95
|
-
def parse
|
|
96
|
-
Scanners::Verisign.new(content_for_scanner).parse
|
|
97
|
-
end
|
|
98
|
-
|
|
99
92
|
end
|
|
100
93
|
|
|
101
94
|
end
|
|
@@ -21,7 +21,10 @@ module Whois
|
|
|
21
21
|
# @author Gábor Vészi <veszig@done.hu>
|
|
22
22
|
#
|
|
23
23
|
class WhoisNicHu < Base
|
|
24
|
-
include Scanners::
|
|
24
|
+
include Scanners::Scannable
|
|
25
|
+
|
|
26
|
+
self.scanner = Scanners::WhoisNicHu
|
|
27
|
+
|
|
25
28
|
|
|
26
29
|
property_supported :disclaimer do
|
|
27
30
|
node("field:disclaimer")
|
|
@@ -126,16 +129,6 @@ module Whois
|
|
|
126
129
|
end
|
|
127
130
|
|
|
128
131
|
|
|
129
|
-
# Initializes a new {Scanners::WhoisNicHu} instance
|
|
130
|
-
# passing the {#content_for_scanner}
|
|
131
|
-
# and calls +parse+ on it.
|
|
132
|
-
#
|
|
133
|
-
# @return [Hash]
|
|
134
|
-
def parse
|
|
135
|
-
Scanners::WhoisNicHu.new(content_for_scanner).parse
|
|
136
|
-
end
|
|
137
|
-
|
|
138
|
-
|
|
139
132
|
private
|
|
140
133
|
|
|
141
134
|
def build_contact(element, type)
|
|
@@ -7,67 +7,19 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_icb'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic.io parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.nic.io server.
|
|
21
18
|
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
property_supported :domain do
|
|
28
|
-
if content_for_scanner =~ /Domain "(.+?)"/
|
|
29
|
-
$1.downcase
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
property_not_supported :domain_id
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
property_supported :status do
|
|
37
|
-
if available?
|
|
38
|
-
:available
|
|
39
|
-
else
|
|
40
|
-
:registered
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
property_supported :available? do
|
|
45
|
-
!!(content_for_scanner =~ /- Available/)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
property_supported :registered? do
|
|
49
|
-
!available?
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
property_not_supported :created_on
|
|
54
|
-
|
|
55
|
-
property_not_supported :updated_on
|
|
56
|
-
|
|
57
|
-
property_not_supported :expires_on
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
property_not_supported :registrar
|
|
61
|
-
|
|
62
|
-
property_not_supported :registrant_contacts
|
|
63
|
-
|
|
64
|
-
property_not_supported :admin_contacts
|
|
65
|
-
|
|
66
|
-
property_not_supported :technical_contacts
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
property_not_supported :nameservers
|
|
70
|
-
|
|
19
|
+
# @see Whois::Record::Parser::Example
|
|
20
|
+
# The Example parser for the list of all available methods.
|
|
21
|
+
#
|
|
22
|
+
class WhoisNicIo < BaseIcb
|
|
71
23
|
end
|
|
72
24
|
|
|
73
25
|
end
|
|
@@ -17,7 +17,9 @@ module Whois
|
|
|
17
17
|
|
|
18
18
|
# Parser for the whois.nic.it server.
|
|
19
19
|
class WhoisNicIt < Base
|
|
20
|
-
include Scanners::
|
|
20
|
+
include Scanners::Scannable
|
|
21
|
+
|
|
22
|
+
self.scanner = Scanners::WhoisNicIt
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
property_supported :disclaimer do
|
|
@@ -128,15 +130,6 @@ module Whois
|
|
|
128
130
|
!!node("response:unavailable")
|
|
129
131
|
end
|
|
130
132
|
|
|
131
|
-
# Initializes a new {Scanners::WhoisNicIt} instance
|
|
132
|
-
# passing the {#content_for_scanner}
|
|
133
|
-
# and calls +parse+ on it.
|
|
134
|
-
#
|
|
135
|
-
# @return [Hash]
|
|
136
|
-
def parse
|
|
137
|
-
Scanners::WhoisNicIt.new(content_for_scanner).parse
|
|
138
|
-
end
|
|
139
|
-
|
|
140
133
|
|
|
141
134
|
private
|
|
142
135
|
|
|
@@ -7,67 +7,19 @@
|
|
|
7
7
|
#++
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
require 'whois/record/parser/
|
|
10
|
+
require 'whois/record/parser/base_icb'
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic.sh parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.nic.sh server.
|
|
21
18
|
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
property_supported :domain do
|
|
28
|
-
if content_for_scanner =~ /Domain "(.+?)"/
|
|
29
|
-
$1.downcase
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
property_not_supported :domain_id
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
property_supported :status do
|
|
37
|
-
if available?
|
|
38
|
-
:available
|
|
39
|
-
else
|
|
40
|
-
:registered
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
property_supported :available? do
|
|
45
|
-
!!(content_for_scanner =~ /- Available/)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
property_supported :registered? do
|
|
49
|
-
!available?
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
property_not_supported :created_on
|
|
54
|
-
|
|
55
|
-
property_not_supported :updated_on
|
|
56
|
-
|
|
57
|
-
property_not_supported :expires_on
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
property_not_supported :registrar
|
|
61
|
-
|
|
62
|
-
property_not_supported :registrant_contacts
|
|
63
|
-
|
|
64
|
-
property_not_supported :admin_contacts
|
|
65
|
-
|
|
66
|
-
property_not_supported :technical_contacts
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
property_not_supported :nameservers
|
|
70
|
-
|
|
19
|
+
# @see Whois::Record::Parser::Example
|
|
20
|
+
# The Example parser for the list of all available methods.
|
|
21
|
+
#
|
|
22
|
+
class WhoisNicSh < BaseIcb
|
|
71
23
|
end
|
|
72
24
|
|
|
73
25
|
end
|
|
@@ -17,7 +17,10 @@ module Whois
|
|
|
17
17
|
|
|
18
18
|
# Parser for the whois.nic.tv server.
|
|
19
19
|
class WhoisNicTv < Base
|
|
20
|
-
include Scanners::
|
|
20
|
+
include Scanners::Scannable
|
|
21
|
+
|
|
22
|
+
self.scanner = Scanners::Verisign
|
|
23
|
+
|
|
21
24
|
|
|
22
25
|
property_supported :disclaimer do
|
|
23
26
|
node("Disclaimer")
|
|
@@ -79,16 +82,6 @@ module Whois
|
|
|
79
82
|
node("Referral URL")
|
|
80
83
|
end
|
|
81
84
|
|
|
82
|
-
|
|
83
|
-
# Initializes a new {Scanners::Verisign} instance
|
|
84
|
-
# passing the {#content_for_scanner}
|
|
85
|
-
# and calls +parse+ on it.
|
|
86
|
-
#
|
|
87
|
-
# @return [Hash]
|
|
88
|
-
def parse
|
|
89
|
-
Scanners::Verisign.new(content_for_scanner).parse
|
|
90
|
-
end
|
|
91
|
-
|
|
92
85
|
end
|
|
93
86
|
|
|
94
87
|
end
|
|
@@ -14,16 +14,14 @@ module Whois
|
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.norid.no parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.norid.no 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 WhoisNoridNo < 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 =~ /^% No match/)
|
|
40
38
|
end
|
|
41
39
|
|
|
42
40
|
property_supported :registered? do
|
|
@@ -25,7 +25,10 @@ module Whois
|
|
|
25
25
|
# The Example parser for the list of all available methods.
|
|
26
26
|
#
|
|
27
27
|
class WhoisRegistryNetZa < Base
|
|
28
|
-
include Scanners::
|
|
28
|
+
include Scanners::Scannable
|
|
29
|
+
|
|
30
|
+
self.scanner = Scanners::WhoisRegistryNetZa
|
|
31
|
+
|
|
29
32
|
|
|
30
33
|
property_supported :disclaimer do
|
|
31
34
|
node("node:disclaimer")
|
|
@@ -98,12 +101,7 @@ module Whois
|
|
|
98
101
|
end
|
|
99
102
|
|
|
100
103
|
|
|
101
|
-
|
|
102
|
-
Scanners::WhoisRegistryNetZa.new(content_for_scanner).parse
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
private
|
|
104
|
+
private
|
|
107
105
|
|
|
108
106
|
def build_registrant_contacts
|
|
109
107
|
Whois::Record::Contact.new(
|
|
@@ -127,6 +125,7 @@ module Whois
|
|
|
127
125
|
def parse_date(date_string)
|
|
128
126
|
Time.parse(date_string) if date_string
|
|
129
127
|
end
|
|
128
|
+
|
|
130
129
|
end
|
|
131
130
|
|
|
132
131
|
end
|
|
@@ -20,9 +20,11 @@ module Whois
|
|
|
20
20
|
# @see Whois::Record::Parser::Example
|
|
21
21
|
# The Example parser for the list of all available methods.
|
|
22
22
|
#
|
|
23
|
-
# @since 2.4.0
|
|
24
23
|
class WhoisRnidsRs < Base
|
|
25
|
-
include Scanners::
|
|
24
|
+
include Scanners::Scannable
|
|
25
|
+
|
|
26
|
+
self.scanner = Scanners::WhoisRnidsRs
|
|
27
|
+
|
|
26
28
|
|
|
27
29
|
property_not_supported :disclaimer
|
|
28
30
|
|
|
@@ -105,16 +107,6 @@ module Whois
|
|
|
105
107
|
end
|
|
106
108
|
|
|
107
109
|
|
|
108
|
-
# Initializes a new {Scanners::WhoisRnidsRs} instance
|
|
109
|
-
# passing the {#content_for_scanner}
|
|
110
|
-
# and calls +parse+ on it.
|
|
111
|
-
#
|
|
112
|
-
# @return [Hash]
|
|
113
|
-
def parse
|
|
114
|
-
Scanners::WhoisRnidsRs.new(content_for_scanner).parse
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
|
|
118
110
|
private
|
|
119
111
|
|
|
120
112
|
def build_contact(element, type)
|