whois 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/CHANGELOG.rdoc +61 -0
  2. data/Manifest +87 -4
  3. data/README.rdoc +13 -9
  4. data/Rakefile +4 -1
  5. data/bin/ruby-whois +35 -21
  6. data/lib/whois.rb +6 -0
  7. data/lib/whois/answer.rb +30 -14
  8. data/lib/whois/answer/parser.rb +48 -11
  9. data/lib/whois/answer/parser/ast.rb +72 -0
  10. data/lib/whois/answer/parser/base.rb +14 -9
  11. data/lib/whois/answer/parser/blank.rb +1 -1
  12. data/lib/whois/answer/parser/scanners/verisign.rb +117 -0
  13. data/lib/whois/answer/parser/whois.aero.rb +74 -0
  14. data/lib/whois/answer/parser/whois.afilias-grs.info.rb +72 -0
  15. data/lib/whois/answer/parser/whois.afilias.info.rb +72 -0
  16. data/lib/whois/answer/parser/whois.crsnic.net.rb +5 -115
  17. data/lib/whois/answer/parser/whois.denic.de.rb +28 -25
  18. data/lib/whois/answer/parser/whois.domainregistry.ie.rb +74 -0
  19. data/lib/whois/answer/parser/whois.educause.edu.rb +76 -0
  20. data/lib/whois/answer/parser/whois.eu.org.rb +73 -0
  21. data/lib/whois/answer/parser/whois.iana.org.rb +75 -0
  22. data/lib/whois/answer/parser/whois.nic.asia.rb +74 -0
  23. data/lib/whois/answer/parser/whois.nic.fr.rb +77 -0
  24. data/lib/whois/answer/parser/whois.nic.gov.rb +71 -0
  25. data/lib/whois/answer/parser/whois.nic.hu.rb +332 -0
  26. data/lib/whois/answer/parser/whois.nic.it.rb +5 -23
  27. data/lib/whois/answer/parser/whois.nic.name.rb +73 -0
  28. data/lib/whois/answer/parser/whois.nic.tv.rb +99 -0
  29. data/lib/whois/answer/parser/whois.publicinterestregistry.net.rb +6 -24
  30. data/lib/whois/answer/parser/whois.za.net.rb +75 -0
  31. data/lib/whois/answer/parser/whois.za.org.rb +75 -0
  32. data/lib/whois/client.rb +4 -3
  33. data/lib/whois/definitions/tld.notes.txt +1 -0
  34. data/lib/whois/definitions/tlds.rb +11 -49
  35. data/lib/whois/version.rb +5 -6
  36. data/lib/whois/whois.rb +0 -6
  37. data/test/answer/parser/base_test.rb +21 -0
  38. data/test/answer/parser/blank_test.rb +1 -1
  39. data/test/answer/parser/whois.aero_test.rb +51 -0
  40. data/test/answer/parser/whois.afilias-grs.info_test.rb +51 -0
  41. data/test/answer/parser/whois.afilias.info_test.rb +51 -0
  42. data/test/answer/parser/{whois_crsnic_net_test.rb → whois.crsnic.net_test.rb} +15 -68
  43. data/test/answer/parser/{whois_denic_de_test.rb → whois.denic.de_test.rb} +9 -34
  44. data/test/answer/parser/whois.domainregistry.ie_test.rb +51 -0
  45. data/test/answer/parser/whois.educause.edu_test.rb +51 -0
  46. data/test/answer/parser/whois.eu.org_test.rb +51 -0
  47. data/test/answer/parser/whois.iana.org_test.rb +51 -0
  48. data/test/answer/parser/whois.nic.asia_test.rb +51 -0
  49. data/test/answer/parser/whois.nic.fr_test.rb +51 -0
  50. data/test/answer/parser/whois.nic.gov_test.rb +51 -0
  51. data/test/answer/parser/whois.nic.hu_test.rb +226 -0
  52. data/test/answer/parser/{whois_nic_it_test.rb → whois.nic.it_test.rb} +3 -25
  53. data/test/answer/parser/whois.nic.name_test.rb +51 -0
  54. data/test/answer/parser/whois.nic.tv_test.rb +122 -0
  55. data/test/answer/parser/{whois_publicinterestregistry_net_test.rb → whois.publicinterestregistry.net_test.rb} +4 -26
  56. data/test/answer/parser/whois.za.net_test.rb +51 -0
  57. data/test/answer/parser/whois.za.org_test.rb +51 -0
  58. data/test/answer/parser_test.rb +44 -3
  59. data/test/answer_test.rb +27 -13
  60. data/test/client_test.rb +18 -11
  61. data/test/list_tld +319 -0
  62. data/test/test_helper.rb +24 -0
  63. data/test/testcases/responses/whois.aero/available.txt +1 -0
  64. data/test/testcases/responses/whois.aero/registered.txt +102 -0
  65. data/test/testcases/responses/whois.afilias-grs.info/available.txt +1 -0
  66. data/test/testcases/responses/whois.afilias-grs.info/bz/available.txt +1 -0
  67. data/test/testcases/responses/whois.afilias-grs.info/bz/registered.txt +122 -0
  68. data/test/testcases/responses/whois.afilias-grs.info/gi/available.txt +1 -0
  69. data/test/testcases/responses/whois.afilias-grs.info/gi/registered.txt +98 -0
  70. data/test/testcases/responses/whois.afilias-grs.info/hn/available.txt +1 -0
  71. data/test/testcases/responses/whois.afilias-grs.info/hn/registered.txt +85 -0
  72. data/test/testcases/responses/whois.afilias-grs.info/lc/available.txt +1 -0
  73. data/test/testcases/responses/whois.afilias-grs.info/lc/registered.txt +83 -0
  74. data/test/testcases/responses/whois.afilias-grs.info/mn/available.txt +1 -0
  75. data/test/testcases/responses/whois.afilias-grs.info/mn/registered.txt +100 -0
  76. data/test/testcases/responses/whois.afilias-grs.info/registered.txt +122 -0
  77. data/test/testcases/responses/whois.afilias-grs.info/sc/available.txt +1 -0
  78. data/test/testcases/responses/whois.afilias-grs.info/sc/registered.txt +85 -0
  79. data/test/testcases/responses/whois.afilias-grs.info/vc/available.txt +1 -0
  80. data/test/testcases/responses/whois.afilias-grs.info/vc/registered.txt +100 -0
  81. data/test/testcases/responses/whois.afilias.info/available.txt +1 -0
  82. data/test/testcases/responses/whois.afilias.info/registered.txt +104 -0
  83. data/test/testcases/responses/whois.crsnic.net/MULTIPLE.txt +3 -0
  84. data/test/testcases/responses/whois.domainregistry.ie/available.txt +7 -0
  85. data/test/testcases/responses/whois.domainregistry.ie/registered.txt +26 -0
  86. data/test/testcases/responses/whois.educause.edu/available.txt +28 -0
  87. data/test/testcases/responses/whois.educause.edu/registered.txt +66 -0
  88. data/test/testcases/responses/whois.eu.org/available.txt +1 -0
  89. data/test/testcases/responses/whois.eu.org/registered.txt +19 -0
  90. data/test/testcases/responses/whois.iana.org/MULTIPLE.txt +3 -0
  91. data/test/testcases/responses/whois.iana.org/available.txt +7 -0
  92. data/test/testcases/responses/whois.iana.org/registered.txt +89 -0
  93. data/test/testcases/responses/whois.nic.asia/available.txt +1 -0
  94. data/test/testcases/responses/whois.nic.asia/registered.txt +159 -0
  95. data/test/testcases/responses/whois.nic.fr/MULTIPLE.txt +4 -0
  96. data/test/testcases/responses/whois.nic.fr/available.txt +19 -0
  97. data/test/testcases/responses/whois.nic.fr/registered.txt +98 -0
  98. data/test/testcases/responses/whois.nic.gov/available.txt +1 -0
  99. data/test/testcases/responses/whois.nic.gov/registered.txt +5 -0
  100. data/test/testcases/responses/whois.nic.hu/available.txt +12 -0
  101. data/test/testcases/responses/whois.nic.hu/in_progress.txt +13 -0
  102. data/test/testcases/responses/whois.nic.hu/registered.txt +65 -0
  103. data/test/testcases/responses/whois.nic.name/available.txt +29 -0
  104. data/test/testcases/responses/whois.nic.name/registered.txt +36 -0
  105. data/test/testcases/responses/whois.nic.name/reserved.txt +30 -0
  106. data/test/testcases/responses/whois.nic.tv/available.txt +44 -0
  107. data/test/testcases/responses/whois.nic.tv/registered.txt +54 -0
  108. data/test/testcases/responses/whois.za.net/available.txt +9 -0
  109. data/test/testcases/responses/whois.za.net/registered.txt +42 -0
  110. data/test/testcases/responses/whois.za.org/available.txt +9 -0
  111. data/test/testcases/responses/whois.za.org/registered.txt +44 -0
  112. data/whois.gemspec +9 -6
  113. metadata +138 -15
@@ -0,0 +1,99 @@
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
+ require 'whois/answer/parser/scanners/verisign'
19
+
20
+
21
+ module Whois
22
+ class Answer
23
+ class Parser
24
+
25
+ #
26
+ # = whois.nic.tv parser
27
+ #
28
+ # Parser for the whois.nic.tv server.
29
+ #
30
+ class WhoisNicTv < Base
31
+ include Ast
32
+
33
+ register_method :disclaimer do
34
+ node("Disclaimer")
35
+ end
36
+
37
+
38
+ register_method :domain do
39
+ node("Domain Name") { |raw| raw.downcase }
40
+ end
41
+
42
+ register_method :domain_id do
43
+ nil
44
+ end
45
+
46
+
47
+ register_method :referral_whois do
48
+ node("Whois Server")
49
+ end
50
+
51
+ register_method :referral_url do
52
+ node("Referral URL")
53
+ end
54
+
55
+
56
+ register_method :status do
57
+ node("Status")
58
+ end
59
+
60
+ register_method :available? do
61
+ node("Registrar").nil?
62
+ end
63
+
64
+ register_method :registered? do
65
+ !available?
66
+ end
67
+
68
+
69
+ register_method :created_on do
70
+ node("Creation Date") { |raw| Time.parse(raw) }
71
+ end
72
+
73
+ register_method :updated_on do
74
+ node("Updated Date") { |raw| Time.parse(raw) }
75
+ end
76
+
77
+ register_method :expires_on do
78
+ node("Expiration Date") { |raw| Time.parse(raw) }
79
+ end
80
+
81
+
82
+ register_method :registrar do
83
+ # Return nil because when the response contains more than one registrar section
84
+ # the response can be messy. See, for instance, the Verisign response for google.com.
85
+ nil
86
+ end
87
+
88
+
89
+ protected
90
+
91
+ def parse
92
+ Scanners::VerisignScanner.new(content.to_s).parse
93
+ end
94
+
95
+ end
96
+
97
+ end
98
+ end
99
+ end
@@ -27,6 +27,7 @@ module Whois
27
27
  # Parser for the whois.publicinterestregistry.net server.
28
28
  #
29
29
  class WhoisPublicinterestregistryNet < Base
30
+ include Ast
30
31
 
31
32
  register_method :disclaimer do
32
33
  node("Disclaimer")
@@ -111,7 +112,11 @@ module Whois
111
112
 
112
113
 
113
114
  protected
114
-
115
+
116
+ def parse
117
+ Scanner.new(content.to_s).parse
118
+ end
119
+
115
120
  def contact(element)
116
121
  node("#{element} ID") do |registrant_id|
117
122
  Answer::Contact.new(
@@ -133,29 +138,6 @@ module Whois
133
138
  end
134
139
 
135
140
 
136
- def ast
137
- @ast ||= parse
138
- end
139
-
140
- def node(key, &block)
141
- if block_given?
142
- value = ast[key]
143
- value = yield(value) unless value.nil?
144
- value
145
- else
146
- ast[key]
147
- end
148
- end
149
-
150
- def node?(key)
151
- !ast[key].nil?
152
- end
153
-
154
- def parse
155
- Scanner.new(content.to_s).parse
156
- end
157
-
158
-
159
141
  class Scanner
160
142
 
161
143
  def initialize(content)
@@ -0,0 +1,75 @@
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.za.net parser
26
+ #
27
+ # Parser for the whois.za.net 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 WhoisZaNet < Base
36
+
37
+ register_method :status do
38
+ if available?
39
+ :available
40
+ else
41
+ :registered
42
+ end
43
+ end
44
+
45
+ register_method :available? do
46
+ @available ||= !!(content.to_s =~ /No such domain:/)
47
+ end
48
+
49
+ register_method :registered? do
50
+ !available?
51
+ end
52
+
53
+
54
+ register_method :created_on do
55
+ @created_on ||= if content.to_s =~ /Record Created\s+:\s+(.*)\n/
56
+ Time.parse($1)
57
+ end
58
+ end
59
+
60
+ register_method :updated_on do
61
+ @updated_on ||= if content.to_s =~ /Record Last Updated\s+:\s+(.*)\n/
62
+ Time.parse($1)
63
+ end
64
+ end
65
+
66
+ # TODO: NotAvailable
67
+ register_method :expires_on do
68
+ nil
69
+ end
70
+
71
+ end
72
+
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,75 @@
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.za.org parser
26
+ #
27
+ # Parser for the whois.za.org 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 WhoisZaOrg < Base
36
+
37
+ register_method :status do
38
+ if available?
39
+ :available
40
+ else
41
+ :registered
42
+ end
43
+ end
44
+
45
+ register_method :available? do
46
+ @available ||= !!(content.to_s =~ /No such domain:/)
47
+ end
48
+
49
+ register_method :registered? do
50
+ !available?
51
+ end
52
+
53
+
54
+ register_method :created_on do
55
+ @created_on ||= if content.to_s =~ /Record Created\s+:\s+(.*)\n/
56
+ Time.parse($1)
57
+ end
58
+ end
59
+
60
+ register_method :updated_on do
61
+ @updated_on ||= if content.to_s =~ /Record Last Updated\s+:\s+(.*)\n/
62
+ Time.parse($1)
63
+ end
64
+ end
65
+
66
+ # TODO: NotAvailable
67
+ register_method :expires_on do
68
+ nil
69
+ end
70
+
71
+ end
72
+
73
+ end
74
+ end
75
+ end
data/lib/whois/client.rb CHANGED
@@ -58,8 +58,8 @@ module Whois
58
58
  # domain?
59
59
  # network?
60
60
  end
61
-
62
-
61
+
62
+
63
63
  # Queries the right whois server for <tt>qstring</tt> and returns
64
64
  # a <tt>Whois::Answer</tt> instance containing the response from the server.
65
65
  #
@@ -67,12 +67,13 @@ module Whois
67
67
  # # => #<Whois::Answer>
68
68
  #
69
69
  def query(qstring)
70
+ qstring = qstring.to_s
70
71
  Timeout::timeout(timeout) do
71
72
  @server = Server.guess(qstring)
72
73
  @server.query(qstring)
73
74
  end
74
75
  end
75
-
76
+
76
77
  end
77
78
 
78
79
  end
@@ -0,0 +1 @@
1
+ mn whois.nic.mn # http://www.iana.org/domains/root/db/mn.html tested and not working. maintenance page
@@ -24,7 +24,7 @@ Whois::Server.define :tld, ".net", "whois.crsnic.net", {:adapter=>Whois::Server:
24
24
  Whois::Server.define :tld, ".eu.org", "whois.eu.org"
25
25
  Whois::Server.define :tld, ".za.org", "whois.za.org"
26
26
  Whois::Server.define :tld, ".org", "whois.publicinterestregistry.net"
27
- Whois::Server.define :tld, ".edu", "whois.educause.net"
27
+ Whois::Server.define :tld, ".edu", "whois.educause.edu"
28
28
  Whois::Server.define :tld, ".gov", "whois.nic.gov"
29
29
  Whois::Server.define :tld, ".int", "whois.iana.org"
30
30
  Whois::Server.define :tld, ".mil", nil, {:adapter=>Whois::Server::Adapters::None}
@@ -80,7 +80,7 @@ Whois::Server.define :tld, ".bt", nil, {:web=>"http://www.nic.bt/", :adapter=>Wh
80
80
  Whois::Server.define :tld, ".bv", nil, {:adapter=>Whois::Server::Adapters::None}
81
81
  Whois::Server.define :tld, ".by", nil, {:web=>"http://www.tld.by/indexeng.html", :adapter=>Whois::Server::Adapters::Web}
82
82
  Whois::Server.define :tld, ".bw", nil, {:adapter=>Whois::Server::Adapters::None}
83
- Whois::Server.define :tld, ".bz", "whois.afilias-grs.info"
83
+ Whois::Server.define :tld, ".bz", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
84
84
  Whois::Server.define :tld, ".co.ca", "whois.co.ca"
85
85
  Whois::Server.define :tld, ".ca", "whois.cira.ca"
86
86
  Whois::Server.define :tld, ".cc", "whois.nic.cc", {:adapter=>Whois::Server::Adapters::Verisign}
@@ -108,7 +108,7 @@ Whois::Server.define :tld, ".dk", "whois.dk-hostmaster.dk"
108
108
  Whois::Server.define :tld, ".dm", "whois.nic.dm"
109
109
  Whois::Server.define :tld, ".do", nil, {:web=>"http://www.nic.do/whois-h.php3", :adapter=>Whois::Server::Adapters::Web}
110
110
  Whois::Server.define :tld, ".dz", nil, {:web=>"https://www.nic.dz/", :adapter=>Whois::Server::Adapters::Web}
111
- Whois::Server.define :tld, ".ec", nil, {:web=>"http://www.nic.ec/whois/eng/whois.asp", :adapter=>Whois::Server::Adapters::Web}
111
+ Whois::Server.define :tld, ".ec", "whois.nic.ec"
112
112
  Whois::Server.define :tld, ".ee", "whois.eenet.ee"
113
113
  Whois::Server.define :tld, ".eg", nil, {:adapter=>Whois::Server::Adapters::None}
114
114
  Whois::Server.define :tld, ".er", nil, {:adapter=>Whois::Server::Adapters::None}
@@ -128,8 +128,8 @@ Whois::Server.define :tld, ".ge", nil, {:web=>"http://whois.sanet.ge/", :adapter
128
128
  Whois::Server.define :tld, ".gf", "whois.nplus.gf"
129
129
  Whois::Server.define :tld, ".gg", "whois.gg"
130
130
  Whois::Server.define :tld, ".gh", nil, {:web=>"http://www.nic.gh/customer/search_c.htm", :adapter=>Whois::Server::Adapters::Web}
131
- Whois::Server.define :tld, ".gi", "whois.afilias-grs.info"
132
- Whois::Server.define :tld, ".gl", nil, {:adapter=>Whois::Server::Adapters::None}
131
+ Whois::Server.define :tld, ".gi", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
132
+ Whois::Server.define :tld, ".gl", "whois.nic.gl"
133
133
  Whois::Server.define :tld, ".gm", "whois.ripe.net"
134
134
  Whois::Server.define :tld, ".gn", nil, {:adapter=>Whois::Server::Adapters::None}
135
135
  Whois::Server.define :tld, ".gp", "whois.nic.gp"
@@ -142,7 +142,7 @@ Whois::Server.define :tld, ".gw", nil, {:adapter=>Whois::Server::Adapters::None}
142
142
  Whois::Server.define :tld, ".gy", "whois.registry.gy"
143
143
  Whois::Server.define :tld, ".hk", "whois.hkdnr.net.hk"
144
144
  Whois::Server.define :tld, ".hm", "whois.registry.hm"
145
- Whois::Server.define :tld, ".hn", "whois.afilias-grs.info"
145
+ Whois::Server.define :tld, ".hn", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
146
146
  Whois::Server.define :tld, ".hr", nil, {:web=>"http://www.dns.hr/pretrazivanje.html", :adapter=>Whois::Server::Adapters::Web}
147
147
  Whois::Server.define :tld, ".ht", "whois.nic.ht"
148
148
  Whois::Server.define :tld, ".hu", "whois.nic.hu"
@@ -173,7 +173,7 @@ Whois::Server.define :tld, ".ky", nil, {:web=>"http://kynseweb.messagesecure.com
173
173
  Whois::Server.define :tld, ".kz", "whois.nic.kz"
174
174
  Whois::Server.define :tld, ".la", "whois.nic.la"
175
175
  Whois::Server.define :tld, ".lb", nil, {:web=>"http://www.aub.edu.lb/lbdr/search.html", :adapter=>Whois::Server::Adapters::Web}
176
- Whois::Server.define :tld, ".lc", "whois.afilias-grs.info"
176
+ Whois::Server.define :tld, ".lc", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
177
177
  Whois::Server.define :tld, ".li", "whois.nic.li"
178
178
  Whois::Server.define :tld, ".lk", "whois.nic.lk"
179
179
  Whois::Server.define :tld, ".lr", nil, {:adapter=>Whois::Server::Adapters::None}
@@ -184,14 +184,14 @@ Whois::Server.define :tld, ".lv", "whois.nic.lv"
184
184
  Whois::Server.define :tld, ".ly", "whois.nic.ly"
185
185
  Whois::Server.define :tld, ".ma", "whois.iam.net.ma"
186
186
  Whois::Server.define :tld, ".mc", "whois.ripe.net"
187
- Whois::Server.define :tld, ".md", nil, {:web=>"http://www.dns.md/wh1.php", :adapter=>Whois::Server::Adapters::Web}
187
+ Whois::Server.define :tld, ".md", "whois.nic.md"
188
188
  Whois::Server.define :tld, ".me", "whois.meregistry.net"
189
189
  Whois::Server.define :tld, ".mg", "whois.nic.mg"
190
190
  Whois::Server.define :tld, ".mh", nil, {:adapter=>Whois::Server::Adapters::None}
191
191
  Whois::Server.define :tld, ".mk", nil, {:web=>"http://dns.marnet.net.mk/registar.php", :adapter=>Whois::Server::Adapters::Web}
192
192
  Whois::Server.define :tld, ".ml", nil, {:adapter=>Whois::Server::Adapters::None}
193
193
  Whois::Server.define :tld, ".mm", "whois.nic.mm"
194
- Whois::Server.define :tld, ".mn", "whois.afilias-grs.info"
194
+ Whois::Server.define :tld, ".mn", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
195
195
  Whois::Server.define :tld, ".mo", nil, {:web=>"http://www.monic.net.mo/", :adapter=>Whois::Server::Adapters::Web}
196
196
  Whois::Server.define :tld, ".mp", nil, {:adapter=>Whois::Server::Adapters::None}
197
197
  Whois::Server.define :tld, ".mq", "whois.nic.mq"
@@ -241,7 +241,7 @@ Whois::Server.define :tld, ".ru", "whois.ripn.net"
241
241
  Whois::Server.define :tld, ".rw", nil, {:web=>"http://www.nic.rw/cgi-bin/whoisrw.pl", :adapter=>Whois::Server::Adapters::Web}
242
242
  Whois::Server.define :tld, ".sa", "saudinic.net.sa"
243
243
  Whois::Server.define :tld, ".sb", "whois.nic.net.sb"
244
- Whois::Server.define :tld, ".sc", "whois.afilias-grs.info"
244
+ Whois::Server.define :tld, ".sc", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
245
245
  Whois::Server.define :tld, ".sd", nil, {:adapter=>Whois::Server::Adapters::None}
246
246
  Whois::Server.define :tld, ".se", "whois.nic-se.se"
247
247
  Whois::Server.define :tld, ".sg", "whois.nic.net.sg"
@@ -296,7 +296,7 @@ Whois::Server.define :tld, ".com.uy", nil, {:web=>"https://nic.anteldata.com.uy/
296
296
  Whois::Server.define :tld, ".uy", "whois.nic.org.uy"
297
297
  Whois::Server.define :tld, ".uz", "whois.cctld.uz"
298
298
  Whois::Server.define :tld, ".va", "whois.ripe.net"
299
- Whois::Server.define :tld, ".vc", "whois.afilias-grs.info"
299
+ Whois::Server.define :tld, ".vc", "whois.afilias-grs.info", {:adapter=>Whois::Server::Adapters::Afilias}
300
300
  Whois::Server.define :tld, ".ve", "whois.nic.ve"
301
301
  Whois::Server.define :tld, ".vg", "whois.adamsnames.tc"
302
302
  Whois::Server.define :tld, ".vi", nil, {:web=>"http://www.nic.vi/whoisform.htm", :adapter=>Whois::Server::Adapters::Web}
@@ -314,41 +314,3 @@ Whois::Server.define :tld, ".org.za", nil, {:web=>"http://www.org.za/", :adapter
314
314
  Whois::Server.define :tld, ".za", nil, {:adapter=>Whois::Server::Adapters::None}
315
315
  Whois::Server.define :tld, ".zm", nil, {:adapter=>Whois::Server::Adapters::None}
316
316
  Whois::Server.define :tld, ".zw", nil, {:adapter=>Whois::Server::Adapters::None}
317
- Whois::Server.define :tld, "-dom", "whois.networksolutions.com"
318
- Whois::Server.define :tld, "-org", "whois.networksolutions.com"
319
- Whois::Server.define :tld, "-hst", "whois.networksolutions.com"
320
- Whois::Server.define :tld, "-arin", "whois.arin.net"
321
- Whois::Server.define :tld, "-ripe", "whois.ripe.net"
322
- Whois::Server.define :tld, "-mnt", "whois.ripe.net"
323
- Whois::Server.define :tld, "-lacnic", "whois.lacnic.net"
324
- Whois::Server.define :tld, "-afrinic", "whois.afrinic.net"
325
- Whois::Server.define :tld, "-ap", "whois.apnic.net"
326
- Whois::Server.define :tld, "-ar", "whois.aunic.net"
327
- Whois::Server.define :tld, "-cn", "whois.cnnic.net.cn"
328
- Whois::Server.define :tld, "-cz", "whois.nic.cz"
329
- Whois::Server.define :tld, "-dk", "whois.dk-hostmaster.dk"
330
- Whois::Server.define :tld, "-il", "whois.isoc.org.il"
331
- Whois::Server.define :tld, "-is", "whois.isnet.is"
332
- Whois::Server.define :tld, "-kg", "whois.domain.kg"
333
- Whois::Server.define :tld, "-ti", "whois.telstra.net"
334
- Whois::Server.define :tld, "-tw", "whois.twnic.net"
335
- Whois::Server.define :tld, "-6bone", "whois.6bone.net"
336
- Whois::Server.define :tld, "-coop", "whois.nic.coop"
337
- Whois::Server.define :tld, "-cknic", "whois.nic.ck"
338
- Whois::Server.define :tld, "-idnic", "whois.idnic.net.id"
339
- Whois::Server.define :tld, "-itnic", "whois.nic.it"
340
- Whois::Server.define :tld, "-frnic", "whois.nic.fr"
341
- Whois::Server.define :tld, "-gandi", "whois.gandi.net"
342
- Whois::Server.define :tld, "-kenic", "whois.kenic.or.ke"
343
- Whois::Server.define :tld, "-lrms", "whois.afilias.info"
344
- Whois::Server.define :tld, "-metu", "whois.metu.edu.tr"
345
- Whois::Server.define :tld, "-nicat", "whois.nic.at"
346
- Whois::Server.define :tld, "-nicir", "whois.nic.ir"
347
- Whois::Server.define :tld, "-norid", "whois.norid.no"
348
- Whois::Server.define :tld, "-ripn", "whois.ripn.net"
349
- Whois::Server.define :tld, "-rotld", "whois.rotld.ro"
350
- Whois::Server.define :tld, "-sgnic", "whois.nic.net.sg"
351
- Whois::Server.define :tld, "-tel", "whois.nic.tel"
352
- Whois::Server.define :tld, "-uanic", "whois.com.ua"
353
- Whois::Server.define :tld, "-uynic", "www.rau.edu.uy"
354
- Whois::Server.define :tld, "-sixxs", "whois.sixxs.net"