whois 3.2.1 → 3.3.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/README.md +1 -1
- data/data/asn16.json +212 -0
- data/data/asn32.json +17 -0
- data/data/tld.json +1 -2
- data/lib/whois/errors.rb +1 -1
- data/lib/whois/record/parser/whois.cira.ca.rb +2 -0
- data/lib/whois/record/parser/whois.dot.cf.rb +73 -0
- data/lib/whois/record/parser/whois.dot.tk.rb +11 -13
- data/lib/whois/record/parser/whois.fi.rb +3 -1
- data/lib/whois/record/parser/whois.godaddy.com.rb +26 -44
- data/lib/whois/record/parser/whois.jprs.jp.rb +1 -1
- data/lib/whois/record/parser/whois.nic-se.se.rb +53 -32
- data/lib/whois/record/parser/whois.nic.ch.rb +30 -2
- data/lib/whois/record/parser/whois.nic.lk.rb +1 -1
- data/lib/whois/record/parser/whois.ua.rb +3 -1
- data/lib/whois/record/scanners/base.rb +1 -1
- data/lib/whois/record/scanners/whois.nic-se.se.rb +46 -0
- data/lib/whois/server.rb +20 -1
- data/lib/whois/version.rb +2 -2
- data/lib/whois.rb +11 -7
- data/whois.gemspec +1 -1
- metadata +8 -3
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
|
|
4
|
+
## Release 3.3.0
|
|
5
|
+
|
|
6
|
+
- SERVER: Added .CF TLD definition.
|
|
7
|
+
|
|
8
|
+
- NEW: Added whois.dot.cf parser.
|
|
9
|
+
|
|
10
|
+
- NEW: Added support for ASN queries (GH-243). [Thanks @linrock]
|
|
11
|
+
|
|
12
|
+
- FIXED: Added contact support for whois.nic.ch (GH-246). [Thanks @Pietr]
|
|
13
|
+
|
|
14
|
+
- CHANGED: Deprecated Whois.query. Replaced with Whois.lookup to match client. Fixed README to use Whois.whois instead of Whois.lookup
|
|
15
|
+
|
|
16
|
+
- FIXED: whois.nic.lk crashes when the update date is 'null'.
|
|
17
|
+
|
|
18
|
+
- FIXED: whois.cira.ca should support 'pending delete' status.
|
|
19
|
+
|
|
20
|
+
- FIXED: whois.fi should support 'Grace Period' status (GH-252). [Thanks @Pietr]
|
|
21
|
+
|
|
22
|
+
- FIXED: additional status for whois.ua (GH-244). [Thanks @Pietr]
|
|
23
|
+
|
|
24
|
+
- FIXED: whois.jprs.jp should support 'Registered' status (GH-253). [Thanks @Pietr]
|
|
25
|
+
|
|
26
|
+
|
|
3
27
|
## Release 3.2.1
|
|
4
28
|
|
|
5
29
|
- NEW: Added full whois.nic.tr parser.
|
|
@@ -23,7 +47,7 @@
|
|
|
23
47
|
|
|
24
48
|
## Release 3.2.0
|
|
25
49
|
|
|
26
|
-
- SERVER: Added .JP.NET (GH-240), XN--J1AMH TLD
|
|
50
|
+
- SERVER: Added .JP.NET (GH-240), XN--J1AMH TLD definitions.
|
|
27
51
|
|
|
28
52
|
- NEW: Added #domain_id to CoCCA parsers.
|
|
29
53
|
|
|
@@ -1892,4 +1916,4 @@ API might change at any time without previous notice.
|
|
|
1892
1916
|
|
|
1893
1917
|
## Release 0.1.0
|
|
1894
1918
|
|
|
1895
|
-
* First release
|
|
1919
|
+
* First release
|
data/README.md
CHANGED
|
@@ -91,7 +91,7 @@ The query method is stateless. For this reason, you can safely re-use the same c
|
|
|
91
91
|
|
|
92
92
|
If you just need a WHOIS response and you don't care about a full control of the WHOIS client, the {Whois} module provides an all-in-one method called {Whois.whois}. This is the simplest way to send a WHOIS request.
|
|
93
93
|
|
|
94
|
-
Whois.
|
|
94
|
+
Whois.whois("google.com")
|
|
95
95
|
# => #<Whois::Record>
|
|
96
96
|
|
|
97
97
|
Did I mention you can even use blocks?
|
data/data/asn16.json
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
{
|
|
2
|
+
"248 251": {
|
|
3
|
+
"host": "whois.ripe.net"
|
|
4
|
+
},
|
|
5
|
+
"306 371": {
|
|
6
|
+
"host": "whois.nic.mil"
|
|
7
|
+
},
|
|
8
|
+
"379 508": {
|
|
9
|
+
"host": "whois.nic.mil"
|
|
10
|
+
},
|
|
11
|
+
"1101 1200": {
|
|
12
|
+
"host": "whois.ripe.net"
|
|
13
|
+
},
|
|
14
|
+
"1267 1275": {
|
|
15
|
+
"host": "whois.ripe.net"
|
|
16
|
+
},
|
|
17
|
+
"1877 1901": {
|
|
18
|
+
"host": "whois.ripe.net"
|
|
19
|
+
},
|
|
20
|
+
"2043 2043": {
|
|
21
|
+
"host": "whois.ripe.net"
|
|
22
|
+
},
|
|
23
|
+
"2047 2047": {
|
|
24
|
+
"host": "whois.ripe.net"
|
|
25
|
+
},
|
|
26
|
+
"2057 2136": {
|
|
27
|
+
"host": "whois.ripe.net"
|
|
28
|
+
},
|
|
29
|
+
"2387 2488": {
|
|
30
|
+
"host": "whois.ripe.net"
|
|
31
|
+
},
|
|
32
|
+
"2497 2528": {
|
|
33
|
+
"host": "whois.nic.ad.jp"
|
|
34
|
+
},
|
|
35
|
+
"2585 2614": {
|
|
36
|
+
"host": "whois.ripe.net"
|
|
37
|
+
},
|
|
38
|
+
"2773 2822": {
|
|
39
|
+
"host": "whois.ripe.net"
|
|
40
|
+
},
|
|
41
|
+
"2830 2879": {
|
|
42
|
+
"host": "whois.ripe.net"
|
|
43
|
+
},
|
|
44
|
+
"3154 3353": {
|
|
45
|
+
"host": "whois.ripe.net"
|
|
46
|
+
},
|
|
47
|
+
"4608 4864": {
|
|
48
|
+
"host": "whois.apnic.net"
|
|
49
|
+
},
|
|
50
|
+
"5120 5376": {
|
|
51
|
+
"host": "whois.nic.mil"
|
|
52
|
+
},
|
|
53
|
+
"5377 5631": {
|
|
54
|
+
"host": "whois.ripe.net"
|
|
55
|
+
},
|
|
56
|
+
"5800 6055": {
|
|
57
|
+
"host": "whois.nic.mil"
|
|
58
|
+
},
|
|
59
|
+
"6656 6911": {
|
|
60
|
+
"host": "whois.ripe.net"
|
|
61
|
+
},
|
|
62
|
+
"7467 7722": {
|
|
63
|
+
"host": "whois.apnic.net"
|
|
64
|
+
},
|
|
65
|
+
"8192 9215": {
|
|
66
|
+
"host": "whois.ripe.net"
|
|
67
|
+
},
|
|
68
|
+
"9591 9622": {
|
|
69
|
+
"host": "whois.nic.ad.jp"
|
|
70
|
+
},
|
|
71
|
+
"9628 9647": {
|
|
72
|
+
"host": "whois.nic.or.kr"
|
|
73
|
+
},
|
|
74
|
+
"9683 9712": {
|
|
75
|
+
"host": "whois.nic.or.kr"
|
|
76
|
+
},
|
|
77
|
+
"9753 9784": {
|
|
78
|
+
"host": "whois.nic.or.kr"
|
|
79
|
+
},
|
|
80
|
+
"9840 9871": {
|
|
81
|
+
"host": "whois.nic.or.kr"
|
|
82
|
+
},
|
|
83
|
+
"9943 9982": {
|
|
84
|
+
"host": "whois.nic.or.kr"
|
|
85
|
+
},
|
|
86
|
+
"9990 10021": {
|
|
87
|
+
"host": "whois.nic.ad.jp"
|
|
88
|
+
},
|
|
89
|
+
"9216 10067": {
|
|
90
|
+
"host": "whois.apnic.net"
|
|
91
|
+
},
|
|
92
|
+
"10034 10073": {
|
|
93
|
+
"host": "whois.nic.or.kr"
|
|
94
|
+
},
|
|
95
|
+
"10154 10198": {
|
|
96
|
+
"host": "whois.nic.or.kr"
|
|
97
|
+
},
|
|
98
|
+
"10074 10239": {
|
|
99
|
+
"host": "whois.apnic.net"
|
|
100
|
+
},
|
|
101
|
+
"12288 13311": {
|
|
102
|
+
"host": "whois.ripe.net"
|
|
103
|
+
},
|
|
104
|
+
"15360 16383": {
|
|
105
|
+
"host": "whois.ripe.net"
|
|
106
|
+
},
|
|
107
|
+
"17503 17534": {
|
|
108
|
+
"host": "whois.nic.ad.jp"
|
|
109
|
+
},
|
|
110
|
+
"17567 17616": {
|
|
111
|
+
"host": "whois.nic.or.kr"
|
|
112
|
+
},
|
|
113
|
+
"17673 17704": {
|
|
114
|
+
"host": "whois.nic.ad.jp"
|
|
115
|
+
},
|
|
116
|
+
"17832 17880": {
|
|
117
|
+
"host": "whois.nic.or.kr"
|
|
118
|
+
},
|
|
119
|
+
"17408 18431": {
|
|
120
|
+
"host": "whois.apnic.net"
|
|
121
|
+
},
|
|
122
|
+
"17930 17961": {
|
|
123
|
+
"host": "whois.nic.ad.jp"
|
|
124
|
+
},
|
|
125
|
+
"18067 18098": {
|
|
126
|
+
"host": "whois.nic.ad.jp"
|
|
127
|
+
},
|
|
128
|
+
"18121 18152": {
|
|
129
|
+
"host": "whois.nic.ad.jp"
|
|
130
|
+
},
|
|
131
|
+
"18259 18290": {
|
|
132
|
+
"host": "whois.nic.ad.jp"
|
|
133
|
+
},
|
|
134
|
+
"18259 18290": {
|
|
135
|
+
"host": "whois.nic.ad.jp"
|
|
136
|
+
},
|
|
137
|
+
"20480 21503": {
|
|
138
|
+
"host": "whois.ripe.net"
|
|
139
|
+
},
|
|
140
|
+
"23552 24575": {
|
|
141
|
+
"host": "whois.apnic.net"
|
|
142
|
+
},
|
|
143
|
+
"23552 23601": {
|
|
144
|
+
"host": "whois.nic.or.kr"
|
|
145
|
+
},
|
|
146
|
+
"23612 23643": {
|
|
147
|
+
"host": "whois.nic.ad.jp"
|
|
148
|
+
},
|
|
149
|
+
"24576 25599": {
|
|
150
|
+
"host": "whois.ripe.net"
|
|
151
|
+
},
|
|
152
|
+
"26592 26623": {
|
|
153
|
+
"host": "whois.lacnic.net"
|
|
154
|
+
},
|
|
155
|
+
"27648 28671": {
|
|
156
|
+
"host": "whois.lacnic.net"
|
|
157
|
+
},
|
|
158
|
+
"28672 29695": {
|
|
159
|
+
"host": "whois.ripe.net"
|
|
160
|
+
},
|
|
161
|
+
"30980 30999": {
|
|
162
|
+
"host": "whois.afrinic.net"
|
|
163
|
+
},
|
|
164
|
+
"30720 31743": {
|
|
165
|
+
"host": "whois.ripe.net"
|
|
166
|
+
},
|
|
167
|
+
"34515 34519": {
|
|
168
|
+
"host": "whois.afrinic.net"
|
|
169
|
+
},
|
|
170
|
+
"33792 35839": {
|
|
171
|
+
"host": "whois.ripe.net"
|
|
172
|
+
},
|
|
173
|
+
"36864 37887": {
|
|
174
|
+
"host": "whois.afrinic.net"
|
|
175
|
+
},
|
|
176
|
+
"37888 38911": {
|
|
177
|
+
"host": "whois.apnic.net"
|
|
178
|
+
},
|
|
179
|
+
"38912 39935": {
|
|
180
|
+
"host": "whois.ripe.net"
|
|
181
|
+
},
|
|
182
|
+
"40960 45055": {
|
|
183
|
+
"host": "whois.ripe.net"
|
|
184
|
+
},
|
|
185
|
+
"45056 46079": {
|
|
186
|
+
"host": "whois.apnic.net"
|
|
187
|
+
},
|
|
188
|
+
"47104 52223": {
|
|
189
|
+
"host": "whois.ripe.net"
|
|
190
|
+
},
|
|
191
|
+
"52224 53247": {
|
|
192
|
+
"host": "whois.lacnic.net"
|
|
193
|
+
},
|
|
194
|
+
"55296 56319": {
|
|
195
|
+
"host": "whois.apnic.net"
|
|
196
|
+
},
|
|
197
|
+
"56320 58367": {
|
|
198
|
+
"host": "whois.ripe.net"
|
|
199
|
+
},
|
|
200
|
+
"58368 59391": {
|
|
201
|
+
"host": "whois.apnic.net"
|
|
202
|
+
},
|
|
203
|
+
"59392 61439": {
|
|
204
|
+
"host": "whois.ripe.net"
|
|
205
|
+
},
|
|
206
|
+
"61440 61951": {
|
|
207
|
+
"host": "whois.lacnic.net"
|
|
208
|
+
},
|
|
209
|
+
"1 63487": {
|
|
210
|
+
"host": "whois.arin.net"
|
|
211
|
+
}
|
|
212
|
+
}
|
data/data/asn32.json
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"131072 133119": {
|
|
3
|
+
"host": "whois.apnic.net"
|
|
4
|
+
},
|
|
5
|
+
"196608 199679": {
|
|
6
|
+
"host": "whois.ripe.net"
|
|
7
|
+
},
|
|
8
|
+
"262144 263679": {
|
|
9
|
+
"host": "whois.lacnic.net"
|
|
10
|
+
},
|
|
11
|
+
"327680 328703": {
|
|
12
|
+
"host": "whois.afrinic.net"
|
|
13
|
+
},
|
|
14
|
+
"393216 394239": {
|
|
15
|
+
"host": "whois.arin.net"
|
|
16
|
+
}
|
|
17
|
+
}
|
data/data/tld.json
CHANGED
data/lib/whois/errors.rb
CHANGED
|
@@ -0,0 +1,73 @@
|
|
|
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.dot.cf 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
|
+
class WhoisDotCf < Base
|
|
27
|
+
|
|
28
|
+
property_supported :status do
|
|
29
|
+
if available?
|
|
30
|
+
:available
|
|
31
|
+
else
|
|
32
|
+
:registered
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
property_supported :available? do
|
|
37
|
+
!!(content_for_scanner =~ /domain name not known/)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
property_supported :registered? do
|
|
41
|
+
!available?
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
property_supported :created_on do
|
|
46
|
+
if content_for_scanner =~ /Domain registered:\s(.+)\n/
|
|
47
|
+
Time.strptime($1, "%m/%d/%Y")
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
property_not_supported :updated_on
|
|
52
|
+
|
|
53
|
+
property_supported :expires_on do
|
|
54
|
+
if content_for_scanner =~ /Record will expire on:\s(.+)\n/
|
|
55
|
+
value = $1.strip
|
|
56
|
+
Time.strptime(value, "%m/%d/%Y") if value.present?
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
property_supported :nameservers do
|
|
62
|
+
if content_for_scanner =~ /Domain Nameservers:\n((.+\n)+)\s+\n/
|
|
63
|
+
$1.split("\n").map do |name|
|
|
64
|
+
Record::Nameserver.new(name: name.strip.downcase)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -14,16 +14,14 @@ module Whois
|
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.dot.tk parser
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.dot.tk 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 WhoisDotTk < Base
|
|
29
27
|
|
|
@@ -45,16 +43,16 @@ module Whois
|
|
|
45
43
|
|
|
46
44
|
|
|
47
45
|
property_supported :created_on do
|
|
48
|
-
if content_for_scanner =~ /Domain registered:\s
|
|
49
|
-
|
|
46
|
+
if content_for_scanner =~ /Domain registered:\s(.+)\n/
|
|
47
|
+
Time.strptime($1, "%m/%d/%Y")
|
|
50
48
|
end
|
|
51
49
|
end
|
|
52
50
|
|
|
53
51
|
property_not_supported :updated_on
|
|
54
52
|
|
|
55
53
|
property_supported :expires_on do
|
|
56
|
-
if content_for_scanner =~ /Record will expire on:\s
|
|
57
|
-
|
|
54
|
+
if content_for_scanner =~ /Record will expire on:\s(.+)\n/
|
|
55
|
+
Time.strptime($1, "%m/%d/%Y")
|
|
58
56
|
end
|
|
59
57
|
end
|
|
60
58
|
|
|
@@ -62,7 +60,7 @@ module Whois
|
|
|
62
60
|
property_supported :nameservers do
|
|
63
61
|
if content_for_scanner =~ /Domain Nameservers:\n((.+\n)+)\s+\n/
|
|
64
62
|
$1.split("\n").map do |name|
|
|
65
|
-
Record::Nameserver.new(:
|
|
63
|
+
Record::Nameserver.new(name: name.strip.downcase)
|
|
66
64
|
end
|
|
67
65
|
end
|
|
68
66
|
end
|
|
@@ -43,8 +43,10 @@ module Whois
|
|
|
43
43
|
case node("status", &:downcase)
|
|
44
44
|
when "granted"
|
|
45
45
|
:registered
|
|
46
|
+
when "grace period"
|
|
47
|
+
:registered
|
|
46
48
|
else
|
|
47
|
-
Whois.bug!(ParserError, "Unknown status `#{
|
|
49
|
+
Whois.bug!(ParserError, "Unknown status `#{node("status")}'.")
|
|
48
50
|
end
|
|
49
51
|
else
|
|
50
52
|
:available
|
|
@@ -57,76 +57,58 @@ module Whois
|
|
|
57
57
|
|
|
58
58
|
property_supported :registrar do
|
|
59
59
|
Record::Registrar.new(
|
|
60
|
-
:name => content_for_scanner[/
|
|
60
|
+
:name => content_for_scanner[/Registrar: (.+)\n/, 1],
|
|
61
61
|
:url => "http://www.godaddy.com/"
|
|
62
62
|
)
|
|
63
63
|
end
|
|
64
64
|
|
|
65
65
|
property_supported :registrant_contacts do
|
|
66
|
-
build_contact('Registrant
|
|
66
|
+
build_contact('Registrant', Record::Contact::TYPE_REGISTRANT)
|
|
67
67
|
end
|
|
68
68
|
|
|
69
69
|
property_supported :admin_contacts do
|
|
70
|
-
build_contact('
|
|
70
|
+
build_contact('Admin', Record::Contact::TYPE_ADMINISTRATIVE)
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
property_supported :technical_contacts do
|
|
74
|
-
build_contact('
|
|
74
|
+
build_contact('Tech', Record::Contact::TYPE_TECHNICAL)
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
|
|
78
77
|
property_supported :nameservers do
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
Record::Nameserver.new(:name => line.strip)
|
|
82
|
-
end
|
|
78
|
+
content_for_scanner.scan(/Name Server: (.+)\n/).map do |line|
|
|
79
|
+
Record::Nameserver.new(:name => line[0].strip)
|
|
83
80
|
end
|
|
84
81
|
end
|
|
85
82
|
|
|
86
|
-
|
|
87
83
|
private
|
|
88
84
|
|
|
89
85
|
def build_contact(element, type)
|
|
90
|
-
match = content_for_scanner.slice(/#{element}\n((.+\n)+)\n/, 1)
|
|
91
|
-
return unless match
|
|
92
|
-
|
|
93
|
-
# Lines 1 and 5 may be absent, depending on the record.
|
|
94
|
-
# The parser attempts to correct for this, but may be a bit flaky
|
|
95
|
-
# on non-standard data.
|
|
96
|
-
#
|
|
97
|
-
# 0 GoDaddy.com, Inc., GoDaddy.com, Inc. dns@jomax.net
|
|
98
|
-
# 1 GoDaddy.com, Inc.
|
|
99
|
-
# 2 14455 N Hayden Rd Suite 219
|
|
100
|
-
# 3 Scottsdale, Arizona 85260
|
|
101
|
-
# 4 United States
|
|
102
|
-
# 5 +1.4805058800 Fax -- +1.4805058844
|
|
103
|
-
|
|
104
|
-
lines = $1.split("\n").map(&:strip)
|
|
105
|
-
|
|
106
|
-
phone = nil
|
|
107
|
-
fax = nil
|
|
108
|
-
if lines[-1].to_s =~ /Fax --/
|
|
109
|
-
phone, fax = lines.delete_at(-1).to_s.scan(/^(.*) Fax --(.*)$/).first
|
|
110
|
-
phone = phone.strip
|
|
111
|
-
fax = fax.strip
|
|
112
|
-
end
|
|
113
|
-
|
|
114
86
|
Record::Contact.new(
|
|
115
87
|
:type => type,
|
|
116
88
|
:id => nil,
|
|
117
|
-
:name =>
|
|
118
|
-
:organization =>
|
|
119
|
-
:address =>
|
|
120
|
-
:city =>
|
|
121
|
-
:zip =>
|
|
122
|
-
:state =>
|
|
123
|
-
:country =>
|
|
124
|
-
:phone =>
|
|
125
|
-
:fax =>
|
|
126
|
-
:email =>
|
|
89
|
+
:name => value_for_property(element, 'Name'),
|
|
90
|
+
:organization => value_for_property(element, 'Organization'),
|
|
91
|
+
:address => value_for_property(element, 'Street'),
|
|
92
|
+
:city => value_for_property(element, 'City'),
|
|
93
|
+
:zip => value_for_property(element, 'Postal Code'),
|
|
94
|
+
:state => value_for_property(element, 'State/Province'),
|
|
95
|
+
:country => value_for_property(element, 'Country'),
|
|
96
|
+
:phone => value_for_property(element, 'Phone'),
|
|
97
|
+
:fax => value_for_property(element, 'Fax'),
|
|
98
|
+
:email => value_for_property(element, 'Email')
|
|
127
99
|
)
|
|
128
100
|
end
|
|
129
101
|
|
|
102
|
+
def value_for_property(element, property)
|
|
103
|
+
matches = content_for_scanner.scan(/#{element} #{property}:\s(.+)\n/)
|
|
104
|
+
value = matches.collect(&:first).join(', ')
|
|
105
|
+
if value == ""
|
|
106
|
+
nil
|
|
107
|
+
else
|
|
108
|
+
value
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
130
112
|
end
|
|
131
113
|
|
|
132
114
|
end
|
|
@@ -8,44 +8,39 @@
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
require 'whois/record/parser/base'
|
|
11
|
-
|
|
11
|
+
require 'whois/record/scanners/whois.nic-se.se.rb'
|
|
12
12
|
|
|
13
13
|
module Whois
|
|
14
14
|
class Record
|
|
15
15
|
class Parser
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
# = whois.nic-se.se
|
|
19
|
-
#
|
|
20
17
|
# Parser for the whois.nic-se.se server.
|
|
21
18
|
#
|
|
22
|
-
# NOTE: This parser is just a stub and provides only a few basic methods
|
|
23
|
-
# to check for domain availability and get domain status.
|
|
24
|
-
# Please consider to contribute implementing missing methods.
|
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
|
26
|
-
# and examples.
|
|
27
|
-
#
|
|
28
19
|
# @author Simone Carletti <weppos@weppos.net>
|
|
29
20
|
# @author Mikkel Kristensen <mikkel@tdx.dk>
|
|
21
|
+
# @author Pieter Agten <pieter.agten@gmail.com>
|
|
30
22
|
#
|
|
31
23
|
class WhoisNicSeSe < Base
|
|
24
|
+
include Scanners::Scannable
|
|
25
|
+
|
|
26
|
+
self.scanner = Scanners::WhoisNicSeSe
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
property_supported :disclaimer do
|
|
30
|
+
node("field:disclaimer")
|
|
31
|
+
end
|
|
32
|
+
|
|
32
33
|
|
|
33
34
|
property_supported :status do
|
|
34
|
-
|
|
35
|
-
if content_for_scanner =~ /status:\s+(.+?)\n/
|
|
36
|
-
case $1.downcase
|
|
37
|
-
when "ok" then :registered
|
|
38
|
-
when "inactive" then :inactive
|
|
39
|
-
else
|
|
40
|
-
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
|
41
|
-
end
|
|
42
|
-
else
|
|
35
|
+
if available?
|
|
43
36
|
:available
|
|
37
|
+
else
|
|
38
|
+
:registered
|
|
44
39
|
end
|
|
45
40
|
end
|
|
46
41
|
|
|
47
42
|
property_supported :available? do
|
|
48
|
-
!!(
|
|
43
|
+
!!node("status:available")
|
|
49
44
|
end
|
|
50
45
|
|
|
51
46
|
property_supported :registered? do
|
|
@@ -54,21 +49,33 @@ module Whois
|
|
|
54
49
|
|
|
55
50
|
|
|
56
51
|
property_supported :created_on do
|
|
57
|
-
|
|
58
|
-
Time.parse($1)
|
|
59
|
-
end
|
|
52
|
+
node("created") { |value| Time.parse(value) }
|
|
60
53
|
end
|
|
61
54
|
|
|
62
55
|
property_supported :expires_on do
|
|
63
|
-
|
|
64
|
-
Time.parse($1)
|
|
65
|
-
end
|
|
56
|
+
node("expires") { |value| Time.parse(value) }
|
|
66
57
|
end
|
|
67
58
|
|
|
68
59
|
property_supported :updated_on do
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
60
|
+
node("modified") { |value| Time.parse(value) unless value == '-' }
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
property_supported :registrar do
|
|
65
|
+
node("registrar") { |name| Record::Registrar.new(:name => name) unless name == '-' }
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
property_supported :registrant_contacts do
|
|
70
|
+
build_contact(Whois::Record::Contact::TYPE_REGISTRANT, node("holder"))
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
property_supported :admin_contacts do
|
|
74
|
+
build_contact(Whois::Record::Contact::TYPE_ADMINISTRATIVE, node("admin-c"))
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
property_supported :technical_contacts do
|
|
78
|
+
build_contact(Whois::Record::Contact::TYPE_TECHNICAL, node("tech-c"))
|
|
72
79
|
end
|
|
73
80
|
|
|
74
81
|
|
|
@@ -78,12 +85,26 @@ module Whois
|
|
|
78
85
|
# nserver: ns2.loopia.se 93.188.0.21
|
|
79
86
|
#
|
|
80
87
|
property_supported :nameservers do
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
88
|
+
node("nserver") do |values|
|
|
89
|
+
values.map do |line|
|
|
90
|
+
name, ipv4 = line.split(/\s+/)
|
|
91
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
|
92
|
+
end
|
|
84
93
|
end
|
|
85
94
|
end
|
|
86
95
|
|
|
96
|
+
|
|
97
|
+
private
|
|
98
|
+
|
|
99
|
+
def build_contact(type, id)
|
|
100
|
+
return if id.nil? || id == "-"
|
|
101
|
+
|
|
102
|
+
Record::Contact.new(
|
|
103
|
+
type: type,
|
|
104
|
+
id: id
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
|
|
87
108
|
end
|
|
88
109
|
|
|
89
110
|
end
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
require 'whois/record/parser/base'
|
|
11
11
|
|
|
12
|
-
|
|
13
12
|
module Whois
|
|
14
13
|
class Record
|
|
15
14
|
class Parser
|
|
@@ -50,6 +49,36 @@ module Whois
|
|
|
50
49
|
|
|
51
50
|
property_not_supported :expires_on
|
|
52
51
|
|
|
52
|
+
# Registrant is given in the following format:
|
|
53
|
+
#
|
|
54
|
+
# Holder of domain name:
|
|
55
|
+
# Name
|
|
56
|
+
# Address line 1
|
|
57
|
+
# Address line 2
|
|
58
|
+
# Address line n
|
|
59
|
+
# Contractual Language: language
|
|
60
|
+
#
|
|
61
|
+
property_supported :registrant_contacts do
|
|
62
|
+
if content_for_scanner =~ /Holder of domain name:\n(.+?)\n(.+?)\nContractual Language:.*\n\n/m
|
|
63
|
+
Record::Contact.new({ :name => $1, :address => $2, :type => Whois::Record::Contact::TYPE_REGISTRANT })
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Technical contact is given in the following format:
|
|
68
|
+
#
|
|
69
|
+
# Technical contact:
|
|
70
|
+
# Name
|
|
71
|
+
# Address line 1
|
|
72
|
+
# Address line 2
|
|
73
|
+
# Address line n
|
|
74
|
+
#
|
|
75
|
+
property_supported :technical_contacts do
|
|
76
|
+
if content_for_scanner =~ /Technical contact:\n(.+?)\n(.+?)\n\n/m
|
|
77
|
+
Record::Contact.new({ :name => $1, :address => $2, :type => Whois::Record::Contact::TYPE_TECHNICAL })
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
property_not_supported :admin_contacts
|
|
53
82
|
|
|
54
83
|
# Nameservers are listed in the following formats:
|
|
55
84
|
#
|
|
@@ -77,7 +106,6 @@ module Whois
|
|
|
77
106
|
end
|
|
78
107
|
|
|
79
108
|
end
|
|
80
|
-
|
|
81
109
|
end
|
|
82
110
|
end
|
|
83
111
|
end
|
|
@@ -28,8 +28,10 @@ module Whois
|
|
|
28
28
|
def status
|
|
29
29
|
if content =~ /status:\s+(.+?)\n/
|
|
30
30
|
case (s = $1.downcase)
|
|
31
|
-
when "ok"
|
|
31
|
+
when "ok", "clienthold", "autorenewgraceperiod"
|
|
32
32
|
:registered
|
|
33
|
+
when "redemptionperiod", "pendingdelete"
|
|
34
|
+
:redemption
|
|
33
35
|
else
|
|
34
36
|
Whois.bug!(ParserError, "Unknown status `#{s}'.")
|
|
35
37
|
end
|
|
@@ -54,7 +54,7 @@ module Whois
|
|
|
54
54
|
# Scan a key/value pair and stores the result in the current target.
|
|
55
55
|
# target is the global @ast if no '_section' is set, else '_section' is used.
|
|
56
56
|
tokenizer :scan_keyvalue do
|
|
57
|
-
if @input.scan(/(.+?):(.*?)\n/)
|
|
57
|
+
if @input.scan(/(.+?):(.*?)(\n|\z)/)
|
|
58
58
|
key, value = @input[1].strip, @input[2].strip
|
|
59
59
|
target = @tmp['_section'] ? (@ast[@tmp['_section']] ||= {}) : @ast
|
|
60
60
|
|
|
@@ -0,0 +1,46 @@
|
|
|
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 WhoisNicSeSe < Base
|
|
18
|
+
|
|
19
|
+
self.tokenizers += [
|
|
20
|
+
:skip_empty_line,
|
|
21
|
+
:scan_available,
|
|
22
|
+
:scan_disclaimer,
|
|
23
|
+
:scan_keyvalue,
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
tokenizer :scan_available do
|
|
28
|
+
@ast["status:available"] = true if @input.skip(/".*" not found\.\n/)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
tokenizer :scan_disclaimer do
|
|
32
|
+
if @input.match?(/# Copyright \(c\) [\d-]* \.SE \(The Internet Infrastructure Foundation\)\.\n# All rights reserved\.\n\n/)
|
|
33
|
+
lines = []
|
|
34
|
+
while !@input.match?(/# Result of search for registered domain names under\n/) && @input.scan(/#?(.*)\n/)
|
|
35
|
+
lines << @input[1].strip unless @input[1].strip == ""
|
|
36
|
+
end
|
|
37
|
+
@input.skip_until(/# printed with .+ bits\.\n/m)
|
|
38
|
+
@ast["field:disclaimer"] = lines.join(" ")
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
data/lib/whois/server.rb
CHANGED
|
@@ -235,7 +235,12 @@ module Whois
|
|
|
235
235
|
return server
|
|
236
236
|
end
|
|
237
237
|
|
|
238
|
-
#
|
|
238
|
+
# ASN match
|
|
239
|
+
if matches_asn?(string)
|
|
240
|
+
return find_for_asn(string)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
# Game Over
|
|
239
244
|
raise ServerNotFound, "Unable to find a WHOIS server for `#{string}'"
|
|
240
245
|
end
|
|
241
246
|
|
|
@@ -259,6 +264,9 @@ module Whois
|
|
|
259
264
|
string =~ /@/
|
|
260
265
|
end
|
|
261
266
|
|
|
267
|
+
def self.matches_asn?(string)
|
|
268
|
+
string =~ /^as\d+$/i
|
|
269
|
+
end
|
|
262
270
|
|
|
263
271
|
def self.find_for_ip(string)
|
|
264
272
|
begin
|
|
@@ -286,6 +294,17 @@ module Whois
|
|
|
286
294
|
nil
|
|
287
295
|
end
|
|
288
296
|
|
|
297
|
+
def self.find_for_asn(string)
|
|
298
|
+
asn = string[/\d+/].to_i
|
|
299
|
+
asn_type = asn <= 65535 ? :asn16 : :asn32
|
|
300
|
+
definitions(asn_type).each do |definition|
|
|
301
|
+
if (range = definition.first.split.map(&:to_i)) && asn >= range.first && asn <= range.last
|
|
302
|
+
return factory(asn_type, *definition)
|
|
303
|
+
end
|
|
304
|
+
end
|
|
305
|
+
raise AllocationUnknown, "Unknown AS number - `#{asn}'."
|
|
306
|
+
end
|
|
307
|
+
|
|
289
308
|
|
|
290
309
|
def self.valid_ipv4?(addr)
|
|
291
310
|
if /\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z/ =~ addr
|
data/lib/whois/version.rb
CHANGED
data/lib/whois.rb
CHANGED
|
@@ -31,18 +31,22 @@ module Whois
|
|
|
31
31
|
# @return [Whois::Record] The record containing the response from the WHOIS server.
|
|
32
32
|
#
|
|
33
33
|
# @example
|
|
34
|
-
# Whois.
|
|
34
|
+
# Whois.lookup("google.com")
|
|
35
35
|
# # => #<Whois::Record>
|
|
36
36
|
#
|
|
37
37
|
# # Equivalent to
|
|
38
38
|
# Whois::Client.new.lookup("google.com")
|
|
39
39
|
#
|
|
40
|
-
def
|
|
40
|
+
def lookup(object)
|
|
41
41
|
Client.new.lookup(object)
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
-
alias_method :whois, :
|
|
44
|
+
alias_method :whois, :lookup
|
|
45
45
|
|
|
46
|
+
def query(object)
|
|
47
|
+
deprecate("Whois.query is now Whois.lookup")
|
|
48
|
+
lookup(object)
|
|
49
|
+
end
|
|
46
50
|
|
|
47
51
|
# Checks whether the object represented by <tt>object</tt> is available.
|
|
48
52
|
#
|
|
@@ -67,10 +71,10 @@ module Whois
|
|
|
67
71
|
# # => true
|
|
68
72
|
#
|
|
69
73
|
def available?(object)
|
|
70
|
-
result =
|
|
74
|
+
result = lookup(object).available?
|
|
71
75
|
if result.nil?
|
|
72
76
|
warn "This method is not supported for this kind of object.\n" +
|
|
73
|
-
"Use Whois.
|
|
77
|
+
"Use Whois.lookup('#{object}') instead."
|
|
74
78
|
end
|
|
75
79
|
result
|
|
76
80
|
end
|
|
@@ -98,10 +102,10 @@ module Whois
|
|
|
98
102
|
# # => false
|
|
99
103
|
#
|
|
100
104
|
def registered?(object)
|
|
101
|
-
result =
|
|
105
|
+
result = lookup(object).registered?
|
|
102
106
|
if result.nil?
|
|
103
107
|
warn "This method is not supported for this kind of object.\n" +
|
|
104
|
-
"Use Whois.
|
|
108
|
+
"Use Whois.lookup('#{object}') instead."
|
|
105
109
|
end
|
|
106
110
|
result
|
|
107
111
|
end
|
data/whois.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
|
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", "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.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.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"]
|
|
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"]
|
|
14
14
|
s.homepage = "http://www.ruby-whois.org/"
|
|
15
15
|
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
16
|
s.require_paths = ["lib"]
|
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.
|
|
4
|
+
version: 3.3.0
|
|
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-
|
|
12
|
+
date: 2013-10-05 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rake
|
|
@@ -91,6 +91,8 @@ files:
|
|
|
91
91
|
- README.md
|
|
92
92
|
- whois.gemspec
|
|
93
93
|
- bin/ruby-whois
|
|
94
|
+
- data/asn16.json
|
|
95
|
+
- data/asn32.json
|
|
94
96
|
- data/ipv4.json
|
|
95
97
|
- data/ipv6.json
|
|
96
98
|
- data/tld.json
|
|
@@ -155,6 +157,7 @@ files:
|
|
|
155
157
|
- lib/whois/record/parser/whois.domainregistry.ie.rb
|
|
156
158
|
- lib/whois/record/parser/whois.domainregistry.my.rb
|
|
157
159
|
- lib/whois/record/parser/whois.domreg.lt.rb
|
|
160
|
+
- lib/whois/record/parser/whois.dot.cf.rb
|
|
158
161
|
- lib/whois/record/parser/whois.dot.tk.rb
|
|
159
162
|
- lib/whois/record/parser/whois.dotmobiregistry.net.rb
|
|
160
163
|
- lib/whois/record/parser/whois.dotpostregistry.net.rb
|
|
@@ -321,6 +324,7 @@ files:
|
|
|
321
324
|
- lib/whois/record/scanners/whois.domainregistry.ie.rb
|
|
322
325
|
- lib/whois/record/scanners/whois.fi.rb
|
|
323
326
|
- lib/whois/record/scanners/whois.nc.rb
|
|
327
|
+
- lib/whois/record/scanners/whois.nic-se.se.rb
|
|
324
328
|
- lib/whois/record/scanners/whois.nic.hu.rb
|
|
325
329
|
- lib/whois/record/scanners/whois.nic.it.rb
|
|
326
330
|
- lib/whois/record/scanners/whois.registry.net.za.rb
|
|
@@ -345,7 +349,8 @@ files:
|
|
|
345
349
|
- lib/whois/version.rb
|
|
346
350
|
- lib/whois.rb
|
|
347
351
|
homepage: http://www.ruby-whois.org/
|
|
348
|
-
licenses:
|
|
352
|
+
licenses:
|
|
353
|
+
- MIT
|
|
349
354
|
post_install_message: ! "********************************************************************************\n\n
|
|
350
355
|
\ Thank you for installing the whois gem!\n\n If you like this gem, please support
|
|
351
356
|
the project.\n http://pledgie.com/campaigns/11383\n\n Does your project or organization
|