ryodo 0.2.4.1 → 0.2.5
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.
- checksums.yaml +4 -4
- data/.gitignore +5 -6
- data/Gemfile.lock +38 -19
- data/README.md +59 -41
- data/Rakefile +2 -42
- data/checks/matching.rb +42 -25
- data/data/suffix.dat +137 -20
- data/lib/ryodo/rule_set.rb +6 -7
- data/lib/ryodo/version.rb +1 -1
- data/ryodo.gemspec +1 -0
- data/spec/_files/mozilla_effective_tld_names.dat +473 -89
- data/spec/spec_helper.rb +3 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1de472c68281d0e6f6e1585d8882710fd3273df5
|
4
|
+
data.tar.gz: 2da982137a2656138a389153d4267eb96641f581
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1bf5c710c42a89abd427ad9153d491575fca25e21ad3608be1b2a0a5dc7f4fd977e2cf1ca642199988def24e404fa9d6d9c76bea83a159fc1dadf348abe884a7
|
7
|
+
data.tar.gz: ca85268796b2a7f42e7ec302b673e868fffca2dc2e2a38960537656914ca6e06195dfbc915d8b159922051bb8096382fbd2941b049edda629f10e079e8ff894d
|
data/.gitignore
CHANGED
@@ -3,8 +3,12 @@
|
|
3
3
|
*.so
|
4
4
|
.bundle
|
5
5
|
.config
|
6
|
-
|
6
|
+
.yardoc
|
7
|
+
Gemfile.lock
|
7
8
|
InstalledFiles
|
9
|
+
_yardoc
|
10
|
+
coverage
|
11
|
+
doc/
|
8
12
|
lib/bundler/man
|
9
13
|
pkg
|
10
14
|
rdoc
|
@@ -12,8 +16,3 @@ spec/reports
|
|
12
16
|
test/tmp
|
13
17
|
test/version_tmp
|
14
18
|
tmp
|
15
|
-
|
16
|
-
# YARD artifacts
|
17
|
-
.yardoc
|
18
|
-
_yardoc
|
19
|
-
doc/
|
data/Gemfile.lock
CHANGED
@@ -1,39 +1,58 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ryodo (0.2.
|
4
|
+
ryodo (0.2.5)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
coderay (1.0.
|
10
|
-
|
9
|
+
coderay (1.0.9)
|
10
|
+
coveralls (0.7.0)
|
11
|
+
multi_json (~> 1.3)
|
12
|
+
rest-client
|
13
|
+
simplecov (>= 0.7)
|
14
|
+
term-ansicolor
|
15
|
+
thor
|
16
|
+
diff-lcs (1.2.4)
|
11
17
|
fakeweb (1.3.0)
|
12
|
-
method_source (0.8.
|
13
|
-
|
18
|
+
method_source (0.8.2)
|
19
|
+
mime-types (1.25)
|
20
|
+
multi_json (1.8.1)
|
21
|
+
pry (0.9.12.2)
|
14
22
|
coderay (~> 1.0.5)
|
15
23
|
method_source (~> 0.8)
|
16
24
|
slop (~> 3.4)
|
17
|
-
pry-doc (0.4.
|
18
|
-
pry (>= 0.9
|
19
|
-
yard (
|
20
|
-
rake (10.0
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
rspec-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
rspec-
|
29
|
-
|
30
|
-
|
25
|
+
pry-doc (0.4.6)
|
26
|
+
pry (>= 0.9)
|
27
|
+
yard (>= 0.8)
|
28
|
+
rake (10.1.0)
|
29
|
+
rest-client (1.6.7)
|
30
|
+
mime-types (>= 1.16)
|
31
|
+
rspec (2.14.1)
|
32
|
+
rspec-core (~> 2.14.0)
|
33
|
+
rspec-expectations (~> 2.14.0)
|
34
|
+
rspec-mocks (~> 2.14.0)
|
35
|
+
rspec-core (2.14.5)
|
36
|
+
rspec-expectations (2.14.3)
|
37
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
38
|
+
rspec-mocks (2.14.3)
|
39
|
+
simplecov (0.7.1)
|
40
|
+
multi_json (~> 1.0)
|
41
|
+
simplecov-html (~> 0.7.1)
|
42
|
+
simplecov-html (0.7.1)
|
43
|
+
slop (3.4.6)
|
44
|
+
term-ansicolor (1.2.2)
|
45
|
+
tins (~> 0.8)
|
46
|
+
thor (0.18.1)
|
47
|
+
tins (0.12.0)
|
48
|
+
yard (0.8.7.2)
|
31
49
|
|
32
50
|
PLATFORMS
|
33
51
|
ruby
|
34
52
|
|
35
53
|
DEPENDENCIES
|
36
54
|
bundler (~> 1.3)
|
55
|
+
coveralls
|
37
56
|
fakeweb
|
38
57
|
pry
|
39
58
|
pry-doc
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
# ryodo
|
1
|
+
# ryodo
|
2
|
+
|
3
|
+
[](http://badge.fury.io/rb/ryodo) [](http://travis-ci.org/asaaki/ryodo) [](https://gemnasium.com/asaaki/ryodo) [](https://codeclimate.com/github/asaaki/ryodo) [](https://coveralls.io/r/asaaki/ryodo?branch=master)
|
2
4
|
|
3
5
|
**ryōdo【領土】 りょうど — A domain name parser using public suffix list**
|
4
6
|
|
@@ -11,6 +13,8 @@ Then you should try `ryodo` and get the answers!
|
|
11
13
|
Notice: This gem **does not** check DNS records to verify if a name was taken and registered, this is not its purpose.
|
12
14
|
I am a big fan of the UNIX philosophy: *»Write programs that do one thing and do it well.«*
|
13
15
|
|
16
|
+
My blog post about `ryodo`: [ryodo - domain parser (2012-06-02)](http://codecraft.io/2012/06/02/ryodo-domain-parser/)
|
17
|
+
|
14
18
|
|
15
19
|
## Usage
|
16
20
|
|
@@ -137,7 +141,7 @@ gem "ryodo", :require => ["ryodo", "ryodo/ext/uri"]
|
|
137
141
|
|
138
142
|
## Benchmark
|
139
143
|
|
140
|
-
There is another gem called [public_suffix](https://github.com/weppos/
|
144
|
+
There is another gem called [public_suffix](https://github.com/weppos/publicsuffix-ruby), which does nearly the same (maybe with more features I don't need).
|
141
145
|
|
142
146
|
So I did a tiny benchmark.
|
143
147
|
|
@@ -149,63 +153,73 @@ Some of them are also invalid (to test, if you implementation works correctly).
|
|
149
153
|
|
150
154
|
I added some very long domain names with many parts (for look-up time scale).
|
151
155
|
|
152
|
-
Finally 72 entries to check.
|
153
|
-
|
154
|
-
Ruby: 1.9.3-p194, no special patches
|
155
|
-
|
156
156
|
We only do a basic parsing and retrieve the registered/registrable domain. (Should hit the most important code of the gems.)
|
157
157
|
|
158
|
-
|
159
|
-
|
160
|
-
```ruby
|
161
|
-
# DOMAINS is the array of domain entries - shuffled on every benchmark run
|
158
|
+
The benchmark script can be found at [checks/benchmark.rb (branch: prof)](./blob/prof/checks/benchmark.rb).
|
162
159
|
|
163
|
-
|
160
|
+
**Notes**
|
164
161
|
|
165
|
-
|
162
|
+
`PublicSuffix.parse(…)` will raise errors if domain input is invalid (e.g. not a registrable domain).
|
166
163
|
|
167
|
-
|
168
|
-
LOOPS.times do
|
169
|
-
DOMAINS.each do |domain|
|
170
|
-
Ryodo.parse(domain).domain # returns nil if not valid
|
171
|
-
end
|
172
|
-
end
|
173
|
-
end
|
164
|
+
`Ryodo.parse(…)` won't raise but return nil values for invalid stuff (it only raises if input is not a String, of course).
|
174
165
|
|
175
|
-
|
176
|
-
LOOPS.times do
|
177
|
-
DOMAINS.each do |domain|
|
178
|
-
PublicSuffix.parse(domain).domain rescue nil # it raises if not valid in any way, so we rescue it
|
179
|
-
end
|
180
|
-
end
|
181
|
-
end
|
166
|
+
**Results**
|
182
167
|
|
183
|
-
end
|
184
168
|
```
|
169
|
+
Ruby: MRI 2.0.0-p247
|
170
|
+
ryodo (0.2.4.1)
|
171
|
+
public_suffix (1.3.1)
|
172
|
+
Machine: AMD Phenom(tm) II X6 1090T, 6 cores, 3.2 GHz; 8 GB RAM
|
173
|
+
Linux 3.10.9-1-ARCH x86_64 GNU/Linux
|
185
174
|
|
186
|
-
|
175
|
+
Benchmark of domain parsing
|
176
|
+
===========================
|
187
177
|
|
188
|
-
|
178
|
+
Number of loops: 1000
|
179
|
+
Number of items per loop: 100
|
189
180
|
|
190
|
-
|
181
|
+
Rehearsal ---------------------------------------------------
|
182
|
+
ryodo 2.780000 0.000000 2.780000 ( 2.779690)
|
183
|
+
public_suffix 83.350000 0.000000 83.350000 ( 83.414578)
|
184
|
+
----------------------------------------- total: 86.130000sec
|
191
185
|
|
192
|
-
|
186
|
+
user system total real
|
187
|
+
ryodo 2.830000 0.000000 2.830000 ( 2.834630)
|
188
|
+
public_suffix 83.450000 0.000000 83.450000 ( 83.510037)
|
189
|
+
|
190
|
+
Ryodo vs. PublicSuffix
|
191
|
+
|
192
|
+
Ryodo is 29.46 times faster than PublicSuffix.
|
193
193
|
|
194
194
|
```
|
195
|
-
|
196
|
-
ryodo 1.800000 0.000000 1.800000 ( 1.809521)
|
197
|
-
public_suffix 21.880000 0.020000 21.900000 ( 21.907808)
|
198
|
-
--------------------------------------- total: 23.700000sec
|
199
|
-
|
200
|
-
user system total real
|
201
|
-
ryodo 1.770000 0.000000 1.770000 ( 1.769734)
|
202
|
-
public_suffix 22.320000 0.010000 22.330000 ( 22.346013)
|
195
|
+
|
203
196
|
```
|
197
|
+
Ruby: MRI 1.9.3-p448
|
198
|
+
ryodo (0.2.4.1)
|
199
|
+
public_suffix (1.3.1)
|
200
|
+
Machine: AMD Phenom(tm) II X6 1090T, 6 cores, 3.2 GHz; 8 GB RAM
|
201
|
+
Linux 3.10.9-1-ARCH x86_64 GNU/Linux
|
202
|
+
|
203
|
+
Benchmark of domain parsing
|
204
|
+
===========================
|
205
|
+
|
206
|
+
Number of loops: 1000
|
207
|
+
Number of items per loop: 100
|
204
208
|
|
205
|
-
|
209
|
+
Rehearsal ---------------------------------------------------
|
210
|
+
ryodo 2.640000 0.000000 2.640000 ( 2.642131)
|
211
|
+
public_suffix 80.710000 0.010000 80.720000 ( 80.770868)
|
212
|
+
----------------------------------------- total: 83.360000sec
|
206
213
|
|
207
|
-
|
214
|
+
user system total real
|
215
|
+
ryodo 2.670000 0.000000 2.670000 ( 2.664983)
|
216
|
+
public_suffix 80.930000 0.020000 80.950000 ( 80.998667)
|
208
217
|
|
218
|
+
Ryodo is 30.39 times faster than PublicSuffix.
|
219
|
+
```
|
220
|
+
|
221
|
+
Interestingly the public_suffix gem got even slower over time (and/or ruby versions)
|
222
|
+
compared to my first benchmark (<http://codecraft.io/2012/06/02/ryodo-domain-parser/>).
|
209
223
|
|
210
224
|
|
211
225
|
|
@@ -226,3 +240,7 @@ Lot of specs missing, this first version of second approach was developed in pla
|
|
226
240
|
MIT/X11 — see [`LICENSE`](./LICENSE)
|
227
241
|
|
228
242
|
(c) 2012—2013 Christoph Grabo
|
243
|
+
|
244
|
+
|
245
|
+
[](https://bitdeli.com/free "Bitdeli Badge")
|
246
|
+
|
data/Rakefile
CHANGED
@@ -1,24 +1,11 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
|
3
2
|
require "rubygems"
|
4
3
|
require "bundler"
|
5
|
-
|
6
|
-
Bundler.setup(:default, :development)
|
7
|
-
rescue Bundler::BundlerError => e
|
8
|
-
$stderr.puts e.message
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
require "rake"
|
13
|
-
require "rspec"
|
4
|
+
Bundler.setup(:default, :development)
|
14
5
|
require "rspec/core/rake_task"
|
6
|
+
require "bundler/gem_tasks"
|
15
7
|
|
16
8
|
|
17
|
-
desc "Starts IRB with gem loaded"
|
18
|
-
task :irb do
|
19
|
-
sh "irb -I lib -r ryodo"
|
20
|
-
end
|
21
|
-
|
22
9
|
desc "Starts PRY with gem loaded"
|
23
10
|
task :pry do
|
24
11
|
sh "pry -I lib -r ryodo --no-pager"
|
@@ -41,31 +28,4 @@ task :fetch_data do
|
|
41
28
|
end
|
42
29
|
|
43
30
|
|
44
|
-
namespace :gem do
|
45
|
-
$: << "lib"
|
46
|
-
require "ryodo/version"
|
47
|
-
|
48
|
-
task :tag do
|
49
|
-
system "git tag -f v#{Ryodo::VERSION} && git push --tags -f"
|
50
|
-
end
|
51
|
-
|
52
|
-
task :build do
|
53
|
-
system "rm *.gem"
|
54
|
-
system "gem build ryodo.gemspec"
|
55
|
-
end
|
56
|
-
|
57
|
-
task :push => "gem:build" do
|
58
|
-
system "gem push ryodo-#{Ryodo::VERSION}.gem"
|
59
|
-
end
|
60
|
-
|
61
|
-
task :clean do
|
62
|
-
system "rm *.gem"
|
63
|
-
end
|
64
|
-
|
65
|
-
desc "Publish gem to rubygems.org"
|
66
|
-
task :publish => ["gem:tag","gem:push","gem:clean"]
|
67
|
-
|
68
|
-
end
|
69
|
-
|
70
|
-
|
71
31
|
task :default => :spec
|
data/checks/matching.rb
CHANGED
@@ -23,21 +23,16 @@ checkPublicSuffix('.com', 'NULL')
|
|
23
23
|
checkPublicSuffix('.example', 'NULL')
|
24
24
|
checkPublicSuffix('.example.com', 'NULL')
|
25
25
|
checkPublicSuffix('.example.example', 'NULL')
|
26
|
-
#Trailing dot (FQDN).
|
27
|
-
checkPublicSuffix('com.', 'NULL')
|
28
|
-
checkPublicSuffix('example.com.', 'example.com')
|
29
|
-
checkPublicSuffix('www.example.com.', 'example.com')
|
30
|
-
checkPublicSuffix('www.subdomain.example.com.', 'example.com')
|
31
26
|
# Unlisted TLD.
|
32
27
|
checkPublicSuffix('example', 'NULL')
|
33
|
-
checkPublicSuffix('example.example', '
|
34
|
-
checkPublicSuffix('b.example.example', '
|
35
|
-
checkPublicSuffix('a.b.example.example', '
|
28
|
+
checkPublicSuffix('example.example', 'example.example')
|
29
|
+
checkPublicSuffix('b.example.example', 'example.example')
|
30
|
+
checkPublicSuffix('a.b.example.example', 'example.example')
|
36
31
|
# Listed, but non-Internet, TLD.
|
37
|
-
checkPublicSuffix('local', 'NULL')
|
38
|
-
checkPublicSuffix('example.local', 'NULL')
|
39
|
-
checkPublicSuffix('b.example.local', 'NULL')
|
40
|
-
checkPublicSuffix('a.b.example.local', 'NULL')
|
32
|
+
#checkPublicSuffix('local', 'NULL')
|
33
|
+
#checkPublicSuffix('example.local', 'NULL')
|
34
|
+
#checkPublicSuffix('b.example.local', 'NULL')
|
35
|
+
#checkPublicSuffix('a.b.example.local', 'NULL')
|
41
36
|
# TLD with only 1 rule.
|
42
37
|
checkPublicSuffix('biz', 'NULL')
|
43
38
|
checkPublicSuffix('domain.biz', 'domain.biz')
|
@@ -66,20 +61,22 @@ checkPublicSuffix('ac.jp', 'NULL')
|
|
66
61
|
checkPublicSuffix('test.ac.jp', 'test.ac.jp')
|
67
62
|
checkPublicSuffix('www.test.ac.jp', 'test.ac.jp')
|
68
63
|
checkPublicSuffix('kyoto.jp', 'NULL')
|
69
|
-
checkPublicSuffix('
|
70
|
-
checkPublicSuffix('
|
71
|
-
checkPublicSuffix('
|
72
|
-
checkPublicSuffix('
|
73
|
-
checkPublicSuffix('
|
74
|
-
checkPublicSuffix('
|
75
|
-
checkPublicSuffix('
|
64
|
+
checkPublicSuffix('test.kyoto.jp', 'test.kyoto.jp')
|
65
|
+
checkPublicSuffix('ide.kyoto.jp', 'NULL')
|
66
|
+
checkPublicSuffix('b.ide.kyoto.jp', 'b.ide.kyoto.jp')
|
67
|
+
checkPublicSuffix('a.b.ide.kyoto.jp', 'b.ide.kyoto.jp')
|
68
|
+
checkPublicSuffix('c.kobe.jp', 'NULL')
|
69
|
+
checkPublicSuffix('b.c.kobe.jp', 'b.c.kobe.jp')
|
70
|
+
checkPublicSuffix('a.b.c.kobe.jp', 'b.c.kobe.jp')
|
71
|
+
checkPublicSuffix('city.kobe.jp', 'city.kobe.jp')
|
72
|
+
checkPublicSuffix('www.city.kobe.jp', 'city.kobe.jp')
|
76
73
|
# TLD with a wildcard rule and exceptions.
|
77
|
-
checkPublicSuffix('
|
78
|
-
checkPublicSuffix('test.
|
79
|
-
checkPublicSuffix('b.test.
|
80
|
-
checkPublicSuffix('a.b.test.
|
81
|
-
checkPublicSuffix('
|
82
|
-
checkPublicSuffix('www.
|
74
|
+
checkPublicSuffix('ck', 'NULL')
|
75
|
+
checkPublicSuffix('test.ck', 'NULL')
|
76
|
+
checkPublicSuffix('b.test.ck', 'b.test.ck')
|
77
|
+
checkPublicSuffix('a.b.test.ck', 'b.test.ck')
|
78
|
+
checkPublicSuffix('www.ck', 'www.ck')
|
79
|
+
checkPublicSuffix('www.www.ck', 'www.ck')
|
83
80
|
# US K12.
|
84
81
|
checkPublicSuffix('us', 'NULL')
|
85
82
|
checkPublicSuffix('test.us', 'test.us')
|
@@ -90,3 +87,23 @@ checkPublicSuffix('www.test.ak.us', 'test.ak.us')
|
|
90
87
|
checkPublicSuffix('k12.ak.us', 'NULL')
|
91
88
|
checkPublicSuffix('test.k12.ak.us', 'test.k12.ak.us')
|
92
89
|
checkPublicSuffix('www.test.k12.ak.us', 'test.k12.ak.us')
|
90
|
+
# IDN labels.
|
91
|
+
checkPublicSuffix('食狮.com.cn', '食狮.com.cn')
|
92
|
+
checkPublicSuffix('食狮.公司.cn', '食狮.公司.cn')
|
93
|
+
checkPublicSuffix('www.食狮.公司.cn', '食狮.公司.cn')
|
94
|
+
checkPublicSuffix('shishi.公司.cn', 'shishi.公司.cn')
|
95
|
+
checkPublicSuffix('公司.cn', 'NULL')
|
96
|
+
checkPublicSuffix('食狮.中国', '食狮.中国')
|
97
|
+
checkPublicSuffix('www.食狮.中国', '食狮.中国')
|
98
|
+
checkPublicSuffix('shishi.中国', 'shishi.中国')
|
99
|
+
checkPublicSuffix('中国', 'NULL')
|
100
|
+
# Same as above, but punycoded.
|
101
|
+
# checkPublicSuffix('xn--85x722f.com.cn', 'xn--85x722f.com.cn')
|
102
|
+
# checkPublicSuffix('xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn')
|
103
|
+
# checkPublicSuffix('www.xn--85x722f.xn--55qx5d.cn', 'xn--85x722f.xn--55qx5d.cn')
|
104
|
+
# checkPublicSuffix('shishi.xn--55qx5d.cn', 'shishi.xn--55qx5d.cn')
|
105
|
+
# checkPublicSuffix('xn--55qx5d.cn', 'NULL')
|
106
|
+
# checkPublicSuffix('xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s')
|
107
|
+
# checkPublicSuffix('www.xn--85x722f.xn--fiqs8s', 'xn--85x722f.xn--fiqs8s')
|
108
|
+
# checkPublicSuffix('shishi.xn--fiqs8s', 'shishi.xn--fiqs8s')
|
109
|
+
# checkPublicSuffix('xn--fiqs8s', 'NULL')
|
data/data/suffix.dat
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
TOKYO
|
1
2
|
ac
|
2
3
|
ac.com
|
3
4
|
ac.edu
|
@@ -5,6 +6,7 @@ ac.gov
|
|
5
6
|
ac.mil
|
6
7
|
ac.net
|
7
8
|
ac.org
|
9
|
+
academy
|
8
10
|
ad
|
9
11
|
ad.nom
|
10
12
|
ae
|
@@ -188,7 +190,6 @@ au.edu.vic
|
|
188
190
|
au.edu.wa
|
189
191
|
au.gov
|
190
192
|
au.gov.act
|
191
|
-
au.gov.nt
|
192
193
|
au.gov.qld
|
193
194
|
au.gov.sa
|
194
195
|
au.gov.tas
|
@@ -246,6 +247,7 @@ bd.*
|
|
246
247
|
be
|
247
248
|
be.ac
|
248
249
|
be.blogspot
|
250
|
+
berlin
|
249
251
|
bf
|
250
252
|
bf.gov
|
251
253
|
bg
|
@@ -297,6 +299,7 @@ bi.com
|
|
297
299
|
bi.edu
|
298
300
|
bi.or
|
299
301
|
bi.org
|
302
|
+
bike
|
300
303
|
biz
|
301
304
|
biz.dyndns
|
302
305
|
biz.for-better
|
@@ -310,6 +313,7 @@ bj.asso
|
|
310
313
|
bj.barreau
|
311
314
|
bj.blogspot
|
312
315
|
bj.gouv
|
316
|
+
blue
|
313
317
|
bm
|
314
318
|
bm.com
|
315
319
|
bm.edu
|
@@ -410,6 +414,11 @@ bt.edu
|
|
410
414
|
bt.gov
|
411
415
|
bt.net
|
412
416
|
bt.org
|
417
|
+
build
|
418
|
+
builders
|
419
|
+
business
|
420
|
+
buzz
|
421
|
+
buzz
|
413
422
|
bw
|
414
423
|
bw.co
|
415
424
|
bw.org
|
@@ -442,6 +451,13 @@ ca.pe
|
|
442
451
|
ca.qc
|
443
452
|
ca.sk
|
444
453
|
ca.yk
|
454
|
+
cab
|
455
|
+
camera
|
456
|
+
camp
|
457
|
+
career
|
458
|
+
career
|
459
|
+
careers
|
460
|
+
careers
|
445
461
|
cat
|
446
462
|
cc
|
447
463
|
cc.ftpaccess
|
@@ -450,6 +466,8 @@ cc.myphotos
|
|
450
466
|
cc.scrapping
|
451
467
|
cd
|
452
468
|
cd.gov
|
469
|
+
center
|
470
|
+
ceo
|
453
471
|
cf
|
454
472
|
cf.blogspot
|
455
473
|
cg
|
@@ -478,6 +496,8 @@ cl.co
|
|
478
496
|
cl.gob
|
479
497
|
cl.gov
|
480
498
|
cl.mil
|
499
|
+
clothing
|
500
|
+
club
|
481
501
|
cm
|
482
502
|
cm.gov
|
483
503
|
cn
|
@@ -539,6 +559,8 @@ co.nom
|
|
539
559
|
co.org
|
540
560
|
co.rec
|
541
561
|
co.web
|
562
|
+
codes
|
563
|
+
coffee
|
542
564
|
com
|
543
565
|
com.amazonaws.compute
|
544
566
|
com.amazonaws.compute-1
|
@@ -757,6 +779,10 @@ com.us
|
|
757
779
|
com.uy
|
758
780
|
com.writesthisblog
|
759
781
|
com.za
|
782
|
+
company
|
783
|
+
computer
|
784
|
+
construction
|
785
|
+
contractors
|
760
786
|
coop
|
761
787
|
cr
|
762
788
|
cr.ac
|
@@ -786,6 +812,7 @@ cx.gov
|
|
786
812
|
cy.*
|
787
813
|
cz
|
788
814
|
cz.blogspot
|
815
|
+
dance
|
789
816
|
de
|
790
817
|
de.blogspot
|
791
818
|
de.com
|
@@ -795,6 +822,9 @@ de.istmein
|
|
795
822
|
de.lebtimnetz
|
796
823
|
de.leitungsen
|
797
824
|
de.traeumtgerade
|
825
|
+
democrat
|
826
|
+
diamonds
|
827
|
+
directory
|
798
828
|
dj
|
799
829
|
dk
|
800
830
|
dk.blogspot
|
@@ -815,6 +845,7 @@ do.net
|
|
815
845
|
do.org
|
816
846
|
do.sld
|
817
847
|
do.web
|
848
|
+
domains
|
818
849
|
dz
|
819
850
|
dz.art
|
820
851
|
dz.asso
|
@@ -838,6 +869,7 @@ ec.net
|
|
838
869
|
ec.org
|
839
870
|
ec.pro
|
840
871
|
edu
|
872
|
+
education
|
841
873
|
ee
|
842
874
|
ee.aip
|
843
875
|
ee.com
|
@@ -859,6 +891,9 @@ eg.name
|
|
859
891
|
eg.net
|
860
892
|
eg.org
|
861
893
|
eg.sci
|
894
|
+
email
|
895
|
+
enterprises
|
896
|
+
equipment
|
862
897
|
er.*
|
863
898
|
es
|
864
899
|
es.com
|
@@ -867,14 +902,17 @@ es.edu
|
|
867
902
|
es.gob
|
868
903
|
es.nom
|
869
904
|
es.org
|
905
|
+
estate
|
870
906
|
et.*
|
871
907
|
eu
|
908
|
+
farm
|
872
909
|
fi
|
873
910
|
fi.aland
|
874
911
|
fi.blogspot
|
875
912
|
fi.iki
|
876
913
|
fj.*
|
877
914
|
fk.*
|
915
|
+
florist
|
878
916
|
fm
|
879
917
|
fo
|
880
918
|
fr
|
@@ -902,7 +940,10 @@ fr.prd
|
|
902
940
|
fr.presse
|
903
941
|
fr.tm
|
904
942
|
fr.veterinaire
|
943
|
+
futbol
|
905
944
|
ga
|
945
|
+
gal
|
946
|
+
gallery
|
906
947
|
gd
|
907
948
|
ge
|
908
949
|
ge.com
|
@@ -915,10 +956,8 @@ ge.pvt
|
|
915
956
|
gf
|
916
957
|
gg
|
917
958
|
gg.co
|
918
|
-
gg.gov
|
919
959
|
gg.net
|
920
960
|
gg.org
|
921
|
-
gg.sch
|
922
961
|
gh
|
923
962
|
gh.com
|
924
963
|
gh.edu
|
@@ -932,7 +971,9 @@ gi.gov
|
|
932
971
|
gi.ltd
|
933
972
|
gi.mod
|
934
973
|
gi.org
|
974
|
+
gift
|
935
975
|
gl
|
976
|
+
glass
|
936
977
|
gm
|
937
978
|
gn.ac
|
938
979
|
gn.com
|
@@ -956,6 +997,7 @@ gr.edu
|
|
956
997
|
gr.gov
|
957
998
|
gr.net
|
958
999
|
gr.org
|
1000
|
+
graphics
|
959
1001
|
gs
|
960
1002
|
gt
|
961
1003
|
gt.com
|
@@ -966,6 +1008,8 @@ gt.mil
|
|
966
1008
|
gt.net
|
967
1009
|
gt.org
|
968
1010
|
gu.*
|
1011
|
+
guide
|
1012
|
+
guru
|
969
1013
|
gw
|
970
1014
|
gy
|
971
1015
|
gy.co
|
@@ -1002,6 +1046,9 @@ hn.gob
|
|
1002
1046
|
hn.mil
|
1003
1047
|
hn.net
|
1004
1048
|
hn.org
|
1049
|
+
holdings
|
1050
|
+
holiday
|
1051
|
+
house
|
1005
1052
|
hr
|
1006
1053
|
hr.com
|
1007
1054
|
hr.from
|
@@ -1079,10 +1126,12 @@ im.ac
|
|
1079
1126
|
im.co
|
1080
1127
|
im.co.ltd
|
1081
1128
|
im.co.plc
|
1082
|
-
im.
|
1129
|
+
im.com
|
1083
1130
|
im.net
|
1084
|
-
im.nic
|
1085
1131
|
im.org
|
1132
|
+
im.tt
|
1133
|
+
im.tv
|
1134
|
+
immobilien
|
1086
1135
|
in
|
1087
1136
|
in.ac
|
1088
1137
|
in.blogspot
|
@@ -1108,8 +1157,10 @@ info.here-for-more
|
|
1108
1157
|
info.knowsitall
|
1109
1158
|
info.selfip
|
1110
1159
|
info.webhop
|
1160
|
+
institute
|
1111
1161
|
int
|
1112
1162
|
int.eu
|
1163
|
+
international
|
1113
1164
|
io
|
1114
1165
|
io.com
|
1115
1166
|
io.github
|
@@ -1132,6 +1183,7 @@ ir.ايران
|
|
1132
1183
|
ir.ایران
|
1133
1184
|
is
|
1134
1185
|
is.com
|
1186
|
+
is.cupcake
|
1135
1187
|
is.edu
|
1136
1188
|
is.gov
|
1137
1189
|
is.int
|
@@ -1418,10 +1470,8 @@ it.vt
|
|
1418
1470
|
it.vv
|
1419
1471
|
je
|
1420
1472
|
je.co
|
1421
|
-
je.gov
|
1422
1473
|
je.net
|
1423
1474
|
je.org
|
1424
|
-
je.sch
|
1425
1475
|
jm.*
|
1426
1476
|
jo
|
1427
1477
|
jo.com
|
@@ -3184,6 +3234,7 @@ jp.yamanashi.yamanakako
|
|
3184
3234
|
jp.yamanashi.yamanashi
|
3185
3235
|
jp.yokohama.!city
|
3186
3236
|
jp.yokohama.*
|
3237
|
+
kaufen
|
3187
3238
|
ke.*
|
3188
3239
|
kg
|
3189
3240
|
kg.com
|
@@ -3201,6 +3252,9 @@ ki.gov
|
|
3201
3252
|
ki.info
|
3202
3253
|
ki.net
|
3203
3254
|
ki.org
|
3255
|
+
kim
|
3256
|
+
kitchen
|
3257
|
+
kiwi
|
3204
3258
|
km
|
3205
3259
|
km.ass
|
3206
3260
|
km.asso
|
@@ -3285,6 +3339,7 @@ la.int
|
|
3285
3339
|
la.net
|
3286
3340
|
la.org
|
3287
3341
|
la.per
|
3342
|
+
land
|
3288
3343
|
lb.com
|
3289
3344
|
lb.edu
|
3290
3345
|
lb.gov
|
@@ -3298,6 +3353,8 @@ lc.gov
|
|
3298
3353
|
lc.net
|
3299
3354
|
lc.org
|
3300
3355
|
li
|
3356
|
+
lighting
|
3357
|
+
limo
|
3301
3358
|
lk
|
3302
3359
|
lk.assn
|
3303
3360
|
lk.com
|
@@ -3324,6 +3381,7 @@ ls.org
|
|
3324
3381
|
lt
|
3325
3382
|
lt.gov
|
3326
3383
|
lu
|
3384
|
+
luxury
|
3327
3385
|
lv
|
3328
3386
|
lv.asn
|
3329
3387
|
lv.com
|
@@ -3351,6 +3409,9 @@ ma.gov
|
|
3351
3409
|
ma.net
|
3352
3410
|
ma.org
|
3353
3411
|
ma.press
|
3412
|
+
management
|
3413
|
+
mango
|
3414
|
+
marketing
|
3354
3415
|
mc
|
3355
3416
|
mc.asso
|
3356
3417
|
mc.tm
|
@@ -3364,6 +3425,7 @@ me.its
|
|
3364
3425
|
me.net
|
3365
3426
|
me.org
|
3366
3427
|
me.priv
|
3428
|
+
menu
|
3367
3429
|
mg
|
3368
3430
|
mg.com
|
3369
3431
|
mg.edu
|
@@ -3404,13 +3466,20 @@ mo.gov
|
|
3404
3466
|
mo.net
|
3405
3467
|
mo.org
|
3406
3468
|
mobi
|
3469
|
+
moda
|
3470
|
+
moe
|
3471
|
+
monash
|
3407
3472
|
mp
|
3408
3473
|
mq
|
3409
3474
|
mr
|
3410
3475
|
mr.blogspot
|
3411
3476
|
mr.gov
|
3412
3477
|
ms
|
3413
|
-
mt
|
3478
|
+
mt
|
3479
|
+
mt.com
|
3480
|
+
mt.edu
|
3481
|
+
mt.net
|
3482
|
+
mt.org
|
3414
3483
|
mu
|
3415
3484
|
mu.ac
|
3416
3485
|
mu.co
|
@@ -4030,6 +4099,7 @@ na.school
|
|
4030
4099
|
na.tv
|
4031
4100
|
na.us
|
4032
4101
|
na.ws
|
4102
|
+
nagoya
|
4033
4103
|
name
|
4034
4104
|
name.her.forgot
|
4035
4105
|
name.his.forgot
|
@@ -4106,6 +4176,7 @@ ng.net
|
|
4106
4176
|
ng.org
|
4107
4177
|
ng.sch
|
4108
4178
|
ni.*
|
4179
|
+
ninja
|
4109
4180
|
nl
|
4110
4181
|
nl.blogspot
|
4111
4182
|
nl.bv
|
@@ -4882,16 +4953,6 @@ nu.shacknet
|
|
4882
4953
|
nz.*
|
4883
4954
|
nz.co.blogspot
|
4884
4955
|
om
|
4885
|
-
om.!mediaphone
|
4886
|
-
om.!nawras
|
4887
|
-
om.!nawrastelecom
|
4888
|
-
om.!omanmobile
|
4889
|
-
om.!omanpost
|
4890
|
-
om.!omantel
|
4891
|
-
om.!rakpetroleum
|
4892
|
-
om.!siemens
|
4893
|
-
om.!songfest
|
4894
|
-
om.!statecouncil
|
4895
4956
|
om.co
|
4896
4957
|
om.com
|
4897
4958
|
om.edu
|
@@ -4901,6 +4962,7 @@ om.museum
|
|
4901
4962
|
om.net
|
4902
4963
|
om.org
|
4903
4964
|
om.pro
|
4965
|
+
onl
|
4904
4966
|
org
|
4905
4967
|
org.ae
|
4906
4968
|
org.blogdns
|
@@ -4957,6 +5019,8 @@ org.stuff-4-sale
|
|
4957
5019
|
org.us
|
4958
5020
|
org.webhop
|
4959
5021
|
org.za
|
5022
|
+
otsuka
|
5023
|
+
otsuka
|
4960
5024
|
pa
|
4961
5025
|
pa.abo
|
4962
5026
|
pa.ac
|
@@ -4991,6 +5055,10 @@ ph.mil
|
|
4991
5055
|
ph.net
|
4992
5056
|
ph.ngo
|
4993
5057
|
ph.org
|
5058
|
+
photography
|
5059
|
+
photos
|
5060
|
+
pink
|
5061
|
+
pink
|
4994
5062
|
pk
|
4995
5063
|
pk.biz
|
4996
5064
|
pk.com
|
@@ -5187,6 +5255,7 @@ pl.zakopane
|
|
5187
5255
|
pl.zarow
|
5188
5256
|
pl.zgora
|
5189
5257
|
pl.zgorzelec
|
5258
|
+
plumbing
|
5190
5259
|
pm
|
5191
5260
|
pn
|
5192
5261
|
pn.co
|
@@ -5264,6 +5333,10 @@ re.asso
|
|
5264
5333
|
re.blogspot
|
5265
5334
|
re.com
|
5266
5335
|
re.nom
|
5336
|
+
recipes
|
5337
|
+
red
|
5338
|
+
repair
|
5339
|
+
reviews
|
5267
5340
|
ro
|
5268
5341
|
ro.arts
|
5269
5342
|
ro.blogspot
|
@@ -5418,6 +5491,8 @@ ru.yaroslavl
|
|
5418
5491
|
ru.yekaterinburg
|
5419
5492
|
ru.yuzhno-sakhalinsk
|
5420
5493
|
ru.zgrad
|
5494
|
+
ruhr
|
5495
|
+
ruhr
|
5421
5496
|
rw
|
5422
5497
|
rw.ac
|
5423
5498
|
rw.co
|
@@ -5500,6 +5575,7 @@ se.w
|
|
5500
5575
|
se.x
|
5501
5576
|
se.y
|
5502
5577
|
se.z
|
5578
|
+
sexy
|
5503
5579
|
sg
|
5504
5580
|
sg.blogspot
|
5505
5581
|
sg.com
|
@@ -5514,7 +5590,10 @@ sh.gov
|
|
5514
5590
|
sh.mil
|
5515
5591
|
sh.net
|
5516
5592
|
sh.org
|
5593
|
+
shoes
|
5594
|
+
shoes
|
5517
5595
|
si
|
5596
|
+
singles
|
5518
5597
|
sk
|
5519
5598
|
sk.blogspot
|
5520
5599
|
sl
|
@@ -5536,6 +5615,9 @@ so
|
|
5536
5615
|
so.com
|
5537
5616
|
so.net
|
5538
5617
|
so.org
|
5618
|
+
social
|
5619
|
+
solar
|
5620
|
+
solutions
|
5539
5621
|
sr
|
5540
5622
|
st
|
5541
5623
|
st.co
|
@@ -5551,6 +5633,7 @@ st.principe
|
|
5551
5633
|
st.saotome
|
5552
5634
|
st.store
|
5553
5635
|
su
|
5636
|
+
support
|
5554
5637
|
sv
|
5555
5638
|
sv.com
|
5556
5639
|
sv.edu
|
@@ -5566,13 +5649,16 @@ sy.gov
|
|
5566
5649
|
sy.mil
|
5567
5650
|
sy.net
|
5568
5651
|
sy.org
|
5652
|
+
systems
|
5569
5653
|
sz
|
5570
5654
|
sz.ac
|
5571
5655
|
sz.co
|
5572
5656
|
sz.org
|
5657
|
+
tattoo
|
5573
5658
|
tc
|
5574
5659
|
td
|
5575
5660
|
td.blogspot
|
5661
|
+
technology
|
5576
5662
|
tel
|
5577
5663
|
tf
|
5578
5664
|
tg
|
@@ -5584,6 +5670,7 @@ th.in
|
|
5584
5670
|
th.mi
|
5585
5671
|
th.net
|
5586
5672
|
th.or
|
5673
|
+
tips
|
5587
5674
|
tj
|
5588
5675
|
tj.ac
|
5589
5676
|
tj.biz
|
@@ -5640,9 +5727,11 @@ to.gov
|
|
5640
5727
|
to.mil
|
5641
5728
|
to.net
|
5642
5729
|
to.org
|
5730
|
+
today
|
5643
5731
|
tr.!nic
|
5644
5732
|
tr.*
|
5645
5733
|
tr.nc.gov
|
5734
|
+
training
|
5646
5735
|
travel
|
5647
5736
|
tt
|
5648
5737
|
tt.aero
|
@@ -5794,6 +5883,7 @@ uk.!parliament
|
|
5794
5883
|
uk.*
|
5795
5884
|
uk.co.blogspot
|
5796
5885
|
uk.sch.*
|
5886
|
+
uno
|
5797
5887
|
us
|
5798
5888
|
us.ak
|
5799
5889
|
us.ak.cc
|
@@ -5982,7 +6072,6 @@ us.sc.k12
|
|
5982
6072
|
us.sc.lib
|
5983
6073
|
us.sd
|
5984
6074
|
us.sd.cc
|
5985
|
-
us.sd.k12
|
5986
6075
|
us.sd.lib
|
5987
6076
|
us.stuff-4-sale
|
5988
6077
|
us.tn
|
@@ -6020,7 +6109,6 @@ us.wi.lib
|
|
6020
6109
|
us.wv
|
6021
6110
|
us.wv.cc
|
6022
6111
|
us.wv.k12
|
6023
|
-
us.wv.lib
|
6024
6112
|
us.wy
|
6025
6113
|
us.wy.cc
|
6026
6114
|
us.wy.k12
|
@@ -6056,6 +6144,7 @@ ve.mil
|
|
6056
6144
|
ve.net
|
6057
6145
|
ve.org
|
6058
6146
|
ve.web
|
6147
|
+
ventures
|
6059
6148
|
vg
|
6060
6149
|
vi
|
6061
6150
|
vi.co
|
@@ -6063,6 +6152,7 @@ vi.com
|
|
6063
6152
|
vi.k12
|
6064
6153
|
vi.net
|
6065
6154
|
vi.org
|
6155
|
+
viajes
|
6066
6156
|
vn
|
6067
6157
|
vn.ac
|
6068
6158
|
vn.biz
|
@@ -6076,8 +6166,15 @@ vn.name
|
|
6076
6166
|
vn.net
|
6077
6167
|
vn.org
|
6078
6168
|
vn.pro
|
6169
|
+
voting
|
6170
|
+
voyage
|
6079
6171
|
vu
|
6172
|
+
wang
|
6173
|
+
wed
|
6174
|
+
wed
|
6080
6175
|
wf
|
6176
|
+
wien
|
6177
|
+
wiki
|
6081
6178
|
ws
|
6082
6179
|
ws.com
|
6083
6180
|
ws.dyndns
|
@@ -6092,7 +6189,9 @@ yt
|
|
6092
6189
|
za.*
|
6093
6190
|
zm.*
|
6094
6191
|
zw.*
|
6192
|
+
онлайн
|
6095
6193
|
рф
|
6194
|
+
сайт
|
6096
6195
|
срб
|
6097
6196
|
укр
|
6098
6197
|
الاردن
|
@@ -6106,14 +6205,18 @@ zw.*
|
|
6106
6205
|
امارات
|
6107
6206
|
ايران
|
6108
6207
|
ایران
|
6208
|
+
بازار
|
6109
6209
|
بھارت
|
6110
6210
|
تونس
|
6111
6211
|
سوريا
|
6112
6212
|
سورية
|
6213
|
+
شبكة
|
6113
6214
|
عمان
|
6114
6215
|
فلسطين
|
6115
6216
|
قطر
|
6116
6217
|
مصر
|
6218
|
+
موقع
|
6219
|
+
موقع
|
6117
6220
|
भारत
|
6118
6221
|
বাংলা
|
6119
6222
|
ভারত
|
@@ -6126,11 +6229,25 @@ zw.*
|
|
6126
6229
|
ලංකා
|
6127
6230
|
ไทย
|
6128
6231
|
გე
|
6232
|
+
みんな
|
6233
|
+
世界
|
6234
|
+
中信
|
6235
|
+
中信
|
6129
6236
|
中国
|
6130
6237
|
中國
|
6238
|
+
中文网
|
6239
|
+
企业
|
6240
|
+
公益
|
6131
6241
|
台湾
|
6132
6242
|
台灣
|
6243
|
+
在线
|
6244
|
+
我爱你
|
6245
|
+
政务
|
6133
6246
|
新加坡
|
6247
|
+
游戏
|
6248
|
+
移动
|
6134
6249
|
臺灣
|
6250
|
+
集团
|
6135
6251
|
香港
|
6252
|
+
삼성
|
6136
6253
|
한국
|