whois 1.2.1 → 1.2.2
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.rdoc +23 -0
- data/Manifest +27 -4
- data/README.rdoc +5 -8
- data/Rakefile +14 -0
- data/data/ip_del_list +11 -3
- data/data/servers_charset_list +2 -1
- data/data/tld_serv_list +15 -7
- data/lib/whois/answer/contact.rb +15 -15
- data/lib/whois/answer/parser/NOTES.txt +10 -13
- data/lib/whois/answer/parser/saudinic.net.sa.rb +36 -0
- data/lib/whois/answer/parser/whois.audns.net.au.rb +71 -0
- data/lib/whois/answer/parser/whois.ausregistry.net.au.rb +3 -39
- data/lib/whois/answer/parser/whois.cnnic.net.cn.rb +0 -1
- data/lib/whois/answer/parser/whois.jprs.jp.rb +3 -3
- data/lib/whois/answer/parser/whois.nic.co.rb +77 -0
- data/lib/whois/answer/parser/whois.nic.net.sa.rb +73 -0
- data/lib/whois/answer/parser/whois.tonic.to.rb +108 -0
- data/lib/whois/answer/parser.rb +5 -5
- data/lib/whois/answer/part.rb +1 -1
- data/lib/whois/answer/registrar.rb +4 -4
- data/lib/whois/client.rb +22 -10
- data/lib/whois/definitions/ipv4.rb +11 -3
- data/lib/whois/definitions/ipv4.txt +226 -0
- data/lib/whois/definitions/ipv6.txt +32 -0
- data/lib/whois/definitions/tlds.rb +12 -6
- data/lib/whois/definitions/tlds.txt +360 -0
- data/lib/whois/version.rb +2 -2
- data/lib/whois.rb +36 -17
- data/test/list_tld +21 -15
- data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/available.txt +0 -0
- data/test/testcases/responses/{whois.ausregistry.net.au → whois.audns.net.au}/registered.txt +0 -0
- data/test/testcases/responses/whois.jprs.jp/jp/available.txt +17 -0
- data/test/testcases/responses/whois.jprs.jp/{registered.txt → jp/registered.txt} +0 -0
- data/test/testcases/responses/whois.jprs.jp/ne.jp/available.txt +17 -0
- data/test/testcases/responses/whois.jprs.jp/ne.jp/registered.txt +19 -0
- data/test/testcases/responses/whois.nic.co/available.txt +28 -0
- data/test/testcases/responses/whois.nic.co/registered.txt +82 -0
- data/test/testcases/responses/whois.nic.net.sa/available.txt +5 -0
- data/test/testcases/responses/whois.nic.net.sa/registered.txt +17 -0
- data/test/testcases/responses/whois.tonic.to/1.txt +1 -0
- data/test/testcases/responses/whois.tonic.to/available.txt +2 -0
- data/test/testcases/responses/whois.tonic.to/incomplete.txt +1 -0
- data/test/testcases/responses/whois.tonic.to/registered.txt +3 -0
- data/test/whois/answer/parser/saudinic.net.sa_test.rb +12 -0
- data/test/whois/answer/parser/whois.audns.net.au_test.rb +70 -0
- data/test/whois/answer/parser/whois.ausregistry.net.au_test.rb +3 -61
- data/test/whois/answer/parser/whois.jprs.jp_test.rb +93 -14
- data/test/whois/answer/parser/whois.nic.co_test.rb +64 -0
- data/test/whois/answer/parser/whois.nic.net.sa_test.rb +84 -0
- data/test/whois/answer/parser/whois.tonic.to_test.rb +125 -0
- data/whois.gemspec +5 -5
- metadata +44 -8
- data/test/testcases/responses/whois.jprs.jp/available.txt +0 -8
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = Ruby Whois
|
|
3
|
+
#
|
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
|
5
|
+
#
|
|
6
|
+
#
|
|
7
|
+
# Category:: Net
|
|
8
|
+
# Package:: Whois
|
|
9
|
+
# Author:: Simone Carletti <weppos@weppos.net>
|
|
10
|
+
# License:: MIT License
|
|
11
|
+
#
|
|
12
|
+
#--
|
|
13
|
+
#
|
|
14
|
+
#++
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
require 'whois/answer/parser/base'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Whois
|
|
21
|
+
class Answer
|
|
22
|
+
class Parser
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# = whois.nic.co parser
|
|
26
|
+
#
|
|
27
|
+
# Parser for the whois.nic.co server.
|
|
28
|
+
#
|
|
29
|
+
# NOTE: This parser is just a stub and provides only a few basic methods
|
|
30
|
+
# to check for domain availability and get domain status.
|
|
31
|
+
# Please consider to contribute implementing missing methods.
|
|
32
|
+
# See WhoisNicIt parser for an explanation of all available methods
|
|
33
|
+
# and examples.
|
|
34
|
+
#
|
|
35
|
+
class WhoisNicCo < Base
|
|
36
|
+
|
|
37
|
+
property_supported :status do
|
|
38
|
+
@status ||= content_for_scanner.scan(/Domain Status:\s+(.*?)\n/).flatten
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
property_supported :available? do
|
|
42
|
+
@available ||= !!(content_for_scanner =~ /Not found:/)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
property_supported :registered? do
|
|
46
|
+
!available?
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
property_supported :created_on do
|
|
51
|
+
@created_on ||= if content_for_scanner =~ /Domain Registration Date:\s+(.*)\n/
|
|
52
|
+
Time.parse($1)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
property_supported :updated_on do
|
|
57
|
+
@updated_on ||= if content_for_scanner =~ /Domain Last Updated Date:\s+(.*)\n/
|
|
58
|
+
Time.parse($1)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
property_supported :expires_on do
|
|
63
|
+
@expires_on ||= if content_for_scanner =~ /Domain Expiration Date:\s+(.*)\n/
|
|
64
|
+
Time.parse($1)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
property_supported :nameservers do
|
|
70
|
+
@nameservers ||= content_for_scanner.scan(/Name Server:\s+(.*)\n/).flatten.map(&:downcase)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = Ruby Whois
|
|
3
|
+
#
|
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
|
5
|
+
#
|
|
6
|
+
#
|
|
7
|
+
# Category:: Net
|
|
8
|
+
# Package:: Whois
|
|
9
|
+
# Author:: Simone Carletti <weppos@weppos.net>
|
|
10
|
+
# License:: MIT License
|
|
11
|
+
#
|
|
12
|
+
#--
|
|
13
|
+
#
|
|
14
|
+
#++
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
require 'whois/answer/parser/base'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Whois
|
|
21
|
+
class Answer
|
|
22
|
+
class Parser
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# = whois.nic.net.sa parser
|
|
26
|
+
#
|
|
27
|
+
# Parser for the whois.nic.net.sa server.
|
|
28
|
+
#
|
|
29
|
+
# NOTE: This parser is just a stub and provides only a few basic methods
|
|
30
|
+
# to check for domain availability and get domain status.
|
|
31
|
+
# Please consider to contribute implementing missing methods.
|
|
32
|
+
# See WhoisNicIt parser for an explanation of all available methods
|
|
33
|
+
# and examples.
|
|
34
|
+
#
|
|
35
|
+
class WhoisNicNetSa < Base
|
|
36
|
+
|
|
37
|
+
property_supported :status do
|
|
38
|
+
@status ||= if available?
|
|
39
|
+
:available
|
|
40
|
+
else
|
|
41
|
+
:registered
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
property_supported :available? do
|
|
46
|
+
@available ||= !!(content_for_scanner =~ /^No match\.$/)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
property_supported :registered? do
|
|
50
|
+
@registered ||= !available?
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
property_supported :created_on do
|
|
55
|
+
@created_on ||= if content_for_scanner =~ /reg-date:\s+(.*)\n/
|
|
56
|
+
Time.parse($1)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
property_not_supported :updated_on
|
|
61
|
+
|
|
62
|
+
property_not_supported :expires_on
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
property_supported :nameservers do
|
|
66
|
+
@nameservers ||= content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
#
|
|
2
|
+
# = Ruby Whois
|
|
3
|
+
#
|
|
4
|
+
# An intelligent pure Ruby WHOIS client and parser.
|
|
5
|
+
#
|
|
6
|
+
#
|
|
7
|
+
# Category:: Net
|
|
8
|
+
# Package:: Whois
|
|
9
|
+
# Author:: Simone Carletti <weppos@weppos.net>
|
|
10
|
+
# License:: MIT License
|
|
11
|
+
#
|
|
12
|
+
#--
|
|
13
|
+
#
|
|
14
|
+
#++
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
require 'whois/answer/parser/base'
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Whois
|
|
21
|
+
class Answer
|
|
22
|
+
class Parser
|
|
23
|
+
|
|
24
|
+
#
|
|
25
|
+
# = whois.tonic.to parser
|
|
26
|
+
#
|
|
27
|
+
# Parser for the whois.tonic.to server.
|
|
28
|
+
#
|
|
29
|
+
class WhoisTonicTo < Base
|
|
30
|
+
|
|
31
|
+
property_not_supported :disclaimer
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
property_not_supported :domain
|
|
35
|
+
|
|
36
|
+
property_not_supported :domain_id
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
property_not_supported :referral_whois
|
|
40
|
+
|
|
41
|
+
property_not_supported :referral_url
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
property_supported :status do
|
|
45
|
+
@status ||= if incomplete_response?
|
|
46
|
+
:unknown
|
|
47
|
+
else
|
|
48
|
+
if available?
|
|
49
|
+
:available
|
|
50
|
+
else
|
|
51
|
+
:registered
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
property_supported :available? do
|
|
57
|
+
@available ||= (!incomplete_response? && !!(content_for_scanner =~ /No match for/))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
property_supported :registered? do
|
|
61
|
+
@registered ||= (!incomplete_response? && !available?)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
property_not_supported :created_on
|
|
66
|
+
|
|
67
|
+
property_not_supported :updated_on
|
|
68
|
+
|
|
69
|
+
property_not_supported :expires_on
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
property_not_supported :registrar
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
property_not_supported :registrant_contact
|
|
76
|
+
|
|
77
|
+
property_not_supported :admin_contact
|
|
78
|
+
|
|
79
|
+
property_not_supported :technical_contact
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
property_not_supported :nameservers
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
property_supported :changed? do |other|
|
|
86
|
+
!unchanged?(other)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
property_supported :unchanged? do |other|
|
|
90
|
+
(self === other) ||
|
|
91
|
+
(self.content == other.content)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
protected
|
|
96
|
+
|
|
97
|
+
# Very often the .to server returns a partial response, which is a response
|
|
98
|
+
# containing an emtpy line.
|
|
99
|
+
# It seems to be a very poorly-designed throttle mecanism.
|
|
100
|
+
def incomplete_response?
|
|
101
|
+
content_for_scanner.strip == ""
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
data/lib/whois/answer/parser.rb
CHANGED
|
@@ -148,7 +148,7 @@ module Whois
|
|
|
148
148
|
end
|
|
149
149
|
|
|
150
150
|
|
|
151
|
-
#
|
|
151
|
+
# Returns the proper parser instance for given <tt>part</tt>.
|
|
152
152
|
# The parser class is selected according to the
|
|
153
153
|
# value of the <tt>#host</tt> attribute for given <tt>part</tt>.
|
|
154
154
|
#
|
|
@@ -170,7 +170,7 @@ module Whois
|
|
|
170
170
|
parser_klass(part.host).new(part)
|
|
171
171
|
end
|
|
172
172
|
|
|
173
|
-
#
|
|
173
|
+
# Detects the proper parser class according to given <tt>host</tt>
|
|
174
174
|
# and returns the class constant.
|
|
175
175
|
#
|
|
176
176
|
# This method autoloads missing parser classes. If you want to define
|
|
@@ -206,7 +206,7 @@ module Whois
|
|
|
206
206
|
Parser::Blank
|
|
207
207
|
end
|
|
208
208
|
|
|
209
|
-
#
|
|
209
|
+
# Converts <tt>host</tt> to the corresponding parser class name.
|
|
210
210
|
#
|
|
211
211
|
# host - A String with the host
|
|
212
212
|
#
|
|
@@ -224,7 +224,7 @@ module Whois
|
|
|
224
224
|
gsub(/(?:^|_)(.)/) { $1.upcase }
|
|
225
225
|
end
|
|
226
226
|
|
|
227
|
-
#
|
|
227
|
+
# Requires the file at <tt>whois/answer/parser/#{name}</tt>.
|
|
228
228
|
#
|
|
229
229
|
# name - A string with the file name
|
|
230
230
|
#
|
|
@@ -235,7 +235,7 @@ module Whois
|
|
|
235
235
|
end
|
|
236
236
|
|
|
237
237
|
|
|
238
|
-
def self.properties # :nodoc
|
|
238
|
+
def self.properties # :nodoc:
|
|
239
239
|
Whois.deprecate("Whois::Answer::Parser.properties is deprecated. Use the Whois::Answer::Parser::PROPERTIES constant.")
|
|
240
240
|
PROPERTIES
|
|
241
241
|
end
|
data/lib/whois/answer/part.rb
CHANGED
|
@@ -24,7 +24,7 @@ module Whois
|
|
|
24
24
|
# = Part
|
|
25
25
|
#
|
|
26
26
|
# A single <tt>Whois::Answer</tt> fragment. For instance,
|
|
27
|
-
# in case of thin server,
|
|
27
|
+
# in case of thin server, a <tt>Whois::Answer</tt> may be composed by
|
|
28
28
|
# one or more parts corresponding to all responses
|
|
29
29
|
# returned by the WHOIS servers.
|
|
30
30
|
#
|
|
@@ -27,10 +27,10 @@ module Whois
|
|
|
27
27
|
#
|
|
28
28
|
# A Registrar is composed by the following attributes:
|
|
29
29
|
#
|
|
30
|
-
# <tt>:id</tt>::
|
|
31
|
-
# <tt>:name</tt>::
|
|
32
|
-
# <tt>:organization</tt>::
|
|
33
|
-
# <tt>:url</tt>::
|
|
30
|
+
# * <tt>:id</tt>::
|
|
31
|
+
# * <tt>:name</tt>::
|
|
32
|
+
# * <tt>:organization</tt>::
|
|
33
|
+
# * <tt>:url</tt>::
|
|
34
34
|
#
|
|
35
35
|
# Be aware that every WHOIS server can return a different number of details
|
|
36
36
|
# or no details at all.
|
data/lib/whois/client.rb
CHANGED
|
@@ -21,7 +21,7 @@ module Whois
|
|
|
21
21
|
|
|
22
22
|
class Client
|
|
23
23
|
|
|
24
|
-
# The maximum time to run a whois query expressed in seconds
|
|
24
|
+
# The Integer maximum time to run a whois query, expressed in seconds.
|
|
25
25
|
DEFAULT_TIMEOUT = 10
|
|
26
26
|
|
|
27
27
|
attr_accessor :timeout
|
|
@@ -31,23 +31,30 @@ module Whois
|
|
|
31
31
|
# :call-seq:
|
|
32
32
|
# new { |client| ... } => client
|
|
33
33
|
# new(options = {}) { |client| ... } => client
|
|
34
|
-
#
|
|
35
|
-
# Initializes a new Whois::Client with <tt>options</tt>.
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
34
|
+
#
|
|
35
|
+
# Initializes a new <tt>Whois::Client</tt> with <tt>options</tt>.
|
|
36
|
+
#
|
|
37
|
+
# options - The Hash options used to refine the selection (default: {}):
|
|
38
|
+
# :timeout - The Integer script timeout, expressed in seconds (default: DEFAULT_TIMEOUT).
|
|
39
|
+
#
|
|
40
|
+
# If <tt>block</tt> is given, yields <tt>self</tt>.
|
|
41
|
+
#
|
|
42
|
+
# Examples
|
|
43
|
+
#
|
|
39
44
|
# client = Whois::Client.new do |c|
|
|
40
45
|
# c.timeout = nil
|
|
41
46
|
# end
|
|
42
47
|
# client.query("google.com")
|
|
43
48
|
#
|
|
49
|
+
#
|
|
50
|
+
# Returns a <tt>Whois::Client</tt>.
|
|
44
51
|
def initialize(options = {}, &block)
|
|
45
52
|
self.timeout = options[:timeout] || DEFAULT_TIMEOUT
|
|
46
53
|
yield(self) if block_given?
|
|
47
54
|
end
|
|
48
55
|
|
|
49
56
|
|
|
50
|
-
class Query # :nodoc
|
|
57
|
+
class Query # :nodoc:
|
|
51
58
|
# IPv6?
|
|
52
59
|
# RPSL?
|
|
53
60
|
# email?
|
|
@@ -59,12 +66,17 @@ module Whois
|
|
|
59
66
|
end
|
|
60
67
|
|
|
61
68
|
|
|
62
|
-
# Queries the right
|
|
63
|
-
#
|
|
69
|
+
# Queries the right WHOIS server for <tt>qstring</tt> and returns
|
|
70
|
+
# the response from the server.
|
|
71
|
+
#
|
|
72
|
+
# qstring - The String to be sent as query parameter.
|
|
73
|
+
#
|
|
74
|
+
# Examples
|
|
64
75
|
#
|
|
65
76
|
# client.query("google.com")
|
|
66
77
|
# # => #<Whois::Answer>
|
|
67
78
|
#
|
|
79
|
+
# Returns a <tt>Whois::Answer</tt> instance.
|
|
68
80
|
def query(qstring)
|
|
69
81
|
string = qstring.to_s
|
|
70
82
|
Timeout::timeout(timeout) do
|
|
@@ -75,4 +87,4 @@ module Whois
|
|
|
75
87
|
|
|
76
88
|
end
|
|
77
89
|
|
|
78
|
-
end
|
|
90
|
+
end
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
Whois::Server.define :ipv4, "1.0.0.0/8", "whois.apnic.net"
|
|
2
2
|
Whois::Server.define :ipv4, "2.0.0.0/8", "whois.ripe.net"
|
|
3
|
+
Whois::Server.define :ipv4, "14.0.0.0/8", "whois.apnic.net"
|
|
3
4
|
Whois::Server.define :ipv4, "24.132.0.0/14", "whois.ripe.net"
|
|
4
5
|
Whois::Server.define :ipv4, "27.0.0.0/8", "whois.apnic.net"
|
|
6
|
+
Whois::Server.define :ipv4, "31.0.0.0/8", "whois.ripe.net"
|
|
5
7
|
Whois::Server.define :ipv4, "41.0.0.0/8", "whois.afrinic.net"
|
|
6
8
|
Whois::Server.define :ipv4, "43.0.0.0/8", "whois.v6nic.net"
|
|
7
9
|
Whois::Server.define :ipv4, "46.0.0.0/8", "whois.ripe.net"
|
|
@@ -20,14 +22,16 @@ Whois::Server.define :ipv4, "77.0.0.0/8", "whois.ripe.net"
|
|
|
20
22
|
Whois::Server.define :ipv4, "78.0.0.0/7", "whois.ripe.net"
|
|
21
23
|
Whois::Server.define :ipv4, "80.0.0.0/4", "whois.ripe.net"
|
|
22
24
|
Whois::Server.define :ipv4, "96.0.0.0/6", "whois.arin.net"
|
|
25
|
+
Whois::Server.define :ipv4, "107.0.0.0/8", "whois.arin.net"
|
|
23
26
|
Whois::Server.define :ipv4, "108.0.0.0/8", "whois.arin.net"
|
|
24
27
|
Whois::Server.define :ipv4, "109.0.0.0/8", "whois.ripe.net"
|
|
25
28
|
Whois::Server.define :ipv4, "110.0.0.0/7", "whois.apnic.net"
|
|
26
29
|
Whois::Server.define :ipv4, "96.0.0.0/4", nil, {:adapter=>Whois::Server::Adapters::None}
|
|
27
|
-
Whois::Server.define :ipv4, "
|
|
28
|
-
Whois::Server.define :ipv4, "119.192.0.0/11", "whois.nic.or.kr"
|
|
30
|
+
Whois::Server.define :ipv4, "112.160.0.0/11", "whois.nic.or.kr"
|
|
29
31
|
Whois::Server.define :ipv4, "115.0.0.0/12", "whois.nic.or.kr"
|
|
30
32
|
Whois::Server.define :ipv4, "115.16.0.0/13", "whois.nic.or.kr"
|
|
33
|
+
Whois::Server.define :ipv4, "118.32.0.0/11", "whois.nic.or.kr"
|
|
34
|
+
Whois::Server.define :ipv4, "119.192.0.0/11", "whois.nic.or.kr"
|
|
31
35
|
Whois::Server.define :ipv4, "112.0.0.0/5", "whois.apnic.net"
|
|
32
36
|
Whois::Server.define :ipv4, "121.128.0.0/10", "whois.nic.or.kr"
|
|
33
37
|
Whois::Server.define :ipv4, "125.128.0.0/11", "whois.nic.or.kr"
|
|
@@ -88,9 +92,14 @@ Whois::Server.define :ipv4, "165.148.0.0/15", "whois.afrinic.net"
|
|
|
88
92
|
Whois::Server.define :ipv4, "169.208.0.0/12", "whois.apnic.net"
|
|
89
93
|
Whois::Server.define :ipv4, "171.16.0.0/12", "whois.ripe.net"
|
|
90
94
|
Whois::Server.define :ipv4, "171.32.0.0/15", "whois.ripe.net"
|
|
95
|
+
Whois::Server.define :ipv4, "175.192.0.0/10", "whois.nic.or.kr"
|
|
91
96
|
Whois::Server.define :ipv4, "175.0.0.0/8", "whois.apnic.net"
|
|
97
|
+
Whois::Server.define :ipv4, "176.0.0.0/8", "whois.ripe.net"
|
|
98
|
+
Whois::Server.define :ipv4, "177.0.0.0/8", "whois.lacnic.net"
|
|
92
99
|
Whois::Server.define :ipv4, "178.0.0.0/8", "whois.ripe.net"
|
|
93
100
|
Whois::Server.define :ipv4, "180.0.0.0/8", "whois.apnic.net"
|
|
101
|
+
Whois::Server.define :ipv4, "181.0.0.0/8", "whois.lacnic.net"
|
|
102
|
+
Whois::Server.define :ipv4, "183.96.0.0/11", "whois.nic.or.kr"
|
|
94
103
|
Whois::Server.define :ipv4, "182.0.0.0/7", "whois.apnic.net"
|
|
95
104
|
Whois::Server.define :ipv4, "186.0.0.0/7", "whois.lacnic.net"
|
|
96
105
|
Whois::Server.define :ipv4, "188.0.0.0/8", "whois.ripe.net"
|
|
@@ -214,5 +223,4 @@ Whois::Server.define :ipv4, "222.112.0.0/13", "whois.nic.or.kr"
|
|
|
214
223
|
Whois::Server.define :ipv4, "222.120.0.0/15", "whois.nic.or.kr"
|
|
215
224
|
Whois::Server.define :ipv4, "222.122.0.0/16", "whois.nic.or.kr"
|
|
216
225
|
Whois::Server.define :ipv4, "222.232.0.0/13", "whois.nic.or.kr"
|
|
217
|
-
Whois::Server.define :ipv4, "223.0.0.0/8", nil, {:adapter=>Whois::Server::Adapters::None}
|
|
218
226
|
Whois::Server.define :ipv4, "220.0.0.0/6", "whois.apnic.net"
|