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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f46d8b24a8bd695cfc6f4841d3825be3a4cb417c
4
- data.tar.gz: da363e80c452085a77d24b04bb06a70762477965
3
+ metadata.gz: 1de472c68281d0e6f6e1585d8882710fd3273df5
4
+ data.tar.gz: 2da982137a2656138a389153d4267eb96641f581
5
5
  SHA512:
6
- metadata.gz: 761feba4fc480e250399ad83cc43497d843e6549b7edf42c374a3920b1d7b21446ea82ea203300b0a63c17ede36d2c86cc32ae6c48dbd749ef337fa2b19c3928
7
- data.tar.gz: 8e87dda60e727d9e6bb0d001d14444e01854ff54399ed34eb70acf5239a5caf9ba57dd17dd5552402123eb21329c1420d0dc2cf13bc13022b9e0f818bdb4277a
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
- coverage
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/
@@ -1,39 +1,58 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ryodo (0.2.4.1)
4
+ ryodo (0.2.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- coderay (1.0.8)
10
- diff-lcs (1.1.3)
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.1)
13
- pry (0.9.11.4)
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.4)
18
- pry (>= 0.9.9.6)
19
- yard (~> 0.8.1)
20
- rake (10.0.3)
21
- rspec (2.12.0)
22
- rspec-core (~> 2.12.0)
23
- rspec-expectations (~> 2.12.0)
24
- rspec-mocks (~> 2.12.0)
25
- rspec-core (2.12.2)
26
- rspec-expectations (2.12.1)
27
- diff-lcs (~> 1.1.3)
28
- rspec-mocks (2.12.2)
29
- slop (3.4.3)
30
- yard (0.8.3)
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 [![](https://secure.travis-ci.org/asaaki/ryodo.png)](http://travis-ci.org/asaaki/ryodo)
1
+ # ryodo
2
+
3
+ [![gem version](https://badge.fury.io/rb/ryodo.png)](http://badge.fury.io/rb/ryodo) [![build status](https://secure.travis-ci.org/asaaki/ryodo.png)](http://travis-ci.org/asaaki/ryodo) [![dev dependency status](https://gemnasium.com/asaaki/ryodo.png)](https://gemnasium.com/asaaki/ryodo) [![code climate](https://codeclimate.com/github/asaaki/ryodo.png)](https://codeclimate.com/github/asaaki/ryodo) [![coverage status](https://coveralls.io/repos/asaaki/ryodo/badge.png?branch=master)](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/public_suffix_service), which does nearly the same (maybe with more features I don't need).
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
- **Test script snippet**
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
- LOOPS = 1_000
160
+ **Notes**
164
161
 
165
- Benchmark.bmbm do |b|
162
+ `PublicSuffix.parse(…)` will raise errors if domain input is invalid (e.g. not a registrable domain).
166
163
 
167
- b.report "ryodo" do
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
- b.report "public_suffix" do
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
- **Caveats**
175
+ Benchmark of domain parsing
176
+ ===========================
187
177
 
188
- `PublicSuffix.parse(…)` will raise errors if domain input is invalid (e.g. not a registrable domain).
178
+ Number of loops: 1000
179
+ Number of items per loop: 100
189
180
 
190
- `Ryodo.parse(…)` won't raise but return nil values for invalid stuff (it only raises if input is not a String, of course).
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
- **Result**
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
- Rehearsal -------------------------------------------------
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
- As you can see, Ryodo is more than **10 times faster**.
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
- _(Funfact: My first approach was 6 times slower — improvement factor of 60!)_
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
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/asaaki/ryodo/trend.png)](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
- begin
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
@@ -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', 'NULL')
34
- checkPublicSuffix('b.example.example', 'NULL')
35
- checkPublicSuffix('a.b.example.example', 'NULL')
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('c.kyoto.jp', 'NULL')
70
- checkPublicSuffix('b.c.kyoto.jp', 'b.c.kyoto.jp')
71
- checkPublicSuffix('a.b.c.kyoto.jp', 'b.c.kyoto.jp')
72
- checkPublicSuffix('pref.kyoto.jp', 'pref.kyoto.jp') # Exception rule.
73
- checkPublicSuffix('www.pref.kyoto.jp', 'pref.kyoto.jp') # Exception rule.
74
- checkPublicSuffix('city.kyoto.jp', 'city.kyoto.jp') # Exception rule.
75
- checkPublicSuffix('www.city.kyoto.jp', 'city.kyoto.jp') # Exception rule.
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('om', 'NULL')
78
- checkPublicSuffix('test.om', 'NULL')
79
- checkPublicSuffix('b.test.om', 'b.test.om')
80
- checkPublicSuffix('a.b.test.om', 'b.test.om')
81
- checkPublicSuffix('songfest.om', 'songfest.om')
82
- checkPublicSuffix('www.songfest.om', 'songfest.om')
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')
@@ -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.gov
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
  한국