reserved_subdomain 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1b946c00cb63fbfe39ad7f7dd2ad0e7b52a230d7211fda09c7f704c5992e0529
4
+ data.tar.gz: 78c931d69d132e534dd0cff37ac714e393f467b6bd4aeab93c3e2a96d6136b75
5
+ SHA512:
6
+ metadata.gz: 6aeb84bdd1db6ad923aa25cb1f7419ca63e958fd7551261a19fef8b3a2f51f7722a0cc415e5f137990422f2b2187c2f4fb118805fdf1cfe0c9f0d382cebd8b21
7
+ data.tar.gz: 57412ff3901d113ee036d369665350febdbeed325f8ec3b2c3adbbfe3af6f688330efd4390fbe79d73f1efa67a6ffb0fed4b80d62663449790ae33e862ecf5f3
data/.gitignore ADDED
@@ -0,0 +1,54 @@
1
+ .byebug_history
2
+ Gemfile.local
3
+ Gemfile.lock
4
+ *.local
5
+ *.gem
6
+ *.rbc
7
+ /.config
8
+ /coverage/
9
+ /InstalledFiles
10
+ /pkg/
11
+ /spec/reports/
12
+ /spec/examples.txt
13
+ /test/tmp/
14
+ /test/version_tmp/
15
+ /tmp/
16
+
17
+ # Used by dotenv library to load environment variables.
18
+ # .env
19
+
20
+ ## Specific to RubyMotion:
21
+ .dat*
22
+ .repl_history
23
+ build/
24
+ *.bridgesupport
25
+ build-iPhoneOS/
26
+ build-iPhoneSimulator/
27
+
28
+ ## Specific to RubyMotion (use of CocoaPods):
29
+ #
30
+ # We recommend against adding the Pods directory to your .gitignore. However
31
+ # you should judge for yourself, the pros and cons are mentioned at:
32
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
33
+ #
34
+ # vendor/Pods/
35
+
36
+ ## Documentation cache and generated files:
37
+ /.yardoc/
38
+ /_yardoc/
39
+ /doc/
40
+ /rdoc/
41
+
42
+ ## Environment normalization:
43
+ /.bundle/
44
+ /vendor/bundle
45
+ /lib/bundler/man/
46
+
47
+ # for a library or gem, you might want to ignore these files since the code is
48
+ # intended to run in multiple environments; otherwise, check them in:
49
+ # Gemfile.lock
50
+ .ruby-version
51
+ .ruby-gemset
52
+
53
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
54
+ .rvmrc
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --require spec_helper
3
+ --profile
data/.rubocop.yml ADDED
@@ -0,0 +1,45 @@
1
+ ---
2
+ require: rubocop-rspec
3
+
4
+ AllCops:
5
+ DisplayStyleGuide: true
6
+ DisplayCopNames: true
7
+ TargetRubyVersion: 2.2
8
+ Exclude:
9
+ - bin/*
10
+
11
+ Layout/DotPosition:
12
+ EnforcedStyle: leading
13
+ Enabled: true
14
+
15
+ Layout/ExtraSpacing:
16
+ Enabled: true
17
+
18
+ Metrics/BlockLength:
19
+ Exclude:
20
+ - spec/**/*
21
+
22
+ Metrics/LineLength:
23
+ Max: 120
24
+ Exclude:
25
+ - spec/**/*
26
+
27
+ Naming/FileName:
28
+ Enabled: true
29
+
30
+ Style/ClassAndModuleChildren:
31
+ EnforcedStyle: nested
32
+ Enabled: true
33
+
34
+ Style/Documentation:
35
+ Enabled: false
36
+
37
+ Style/StringLiterals:
38
+ EnforcedStyle: single_quotes
39
+ Enabled: true
40
+
41
+ Style/TrailingCommaInArguments:
42
+ EnforcedStyleForMultiline: comma
43
+
44
+ Style/TrailingCommaInArrayLiteral:
45
+ EnforcedStyleForMultiline: comma
data/.travis.yml ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ language: ruby
3
+ rvm:
4
+ - 2.2
5
+ - 2.3
6
+ - 2.4
7
+ - 2.5
8
+ - 2.6
9
+ before_script:
10
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
11
+ - chmod +x ./cc-test-reporter
12
+ - ./cc-test-reporter before-build
13
+ script:
14
+ - bundle exec rspec spec
15
+ after_script:
16
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/Gemfile ADDED
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ group :test do
8
+ gem 'rspec'
9
+ gem 'simplecov-console'
10
+ end
11
+
12
+ local_gemfile = 'Gemfile.local'
13
+ eval(File.read(local_gemfile)) if File.exist?(local_gemfile) # rubocop:disable Security/Eval
@@ -0,0 +1,11 @@
1
+ # Copy this file to a file named Gemfile.local to add these gems to your dev toolset
2
+ # Feel free to modify Gemfile.local to suit your own preferences
3
+ group :development do
4
+ gem 'github_changelog_generator'
5
+ gem 'gem-release'
6
+ gem 'guard'
7
+ gem 'guard-rspec'
8
+ gem 'guard-rubocop'
9
+ gem 'rake'
10
+ gem 'rubocop'
11
+ end
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Dominic Sayers
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,35 @@
1
+ # ReservedSubdomain
2
+ [![Gem Version](https://badge.fury.io/rb/reserved_subdomain.svg)](https://rubygems.org/gems/reserved_subdomain)
3
+ [![Gem downloads](https://img.shields.io/gem/dt/reserved_subdomain.svg)](https://rubygems.org/gems/reserved_subdomain)
4
+ [![Build Status](https://travis-ci.org/dominicsayers/reserved_subdomain.svg?branch=master)](https://travis-ci.org/dominicsayers/reserved_subdomain)
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/53c0395f76bc52f53b60/maintainability)](https://codeclimate.com/github/dominicsayers/reserved_subdomain/maintainability)
6
+ [![Test Coverage](https://api.codeclimate.com/v1/badges/53c0395f76bc52f53b60/test_coverage)](https://codeclimate.com/github/dominicsayers/reserved_subdomain/test_coverage)
7
+ [![Dependency Status](https://dependencyci.com/github/dominicsayers/reserved_subdomain/badge)](https://dependencyci.com/github/dominicsayers/reserved_subdomain)
8
+ [![security](https://hakiri.io/github/dominicsayers/reserved_subdomain/master.svg)](https://hakiri.io/github/dominicsayers/reserved_subdomain/master)
9
+ [![Codacy Badge](https://api.codacy.com/project/badge/Grade/5aeeb051546b4ecc9f0c78317d8c6af8)](https://www.codacy.com/app/dominicsayers/reserved_subdomain)
10
+
11
+ ReservedSubdomain is a Ruby gem that checks whether a proposed subdomain should be a reserved name.
12
+
13
+ It checks for common patterns such as `www` or `mail`. It checks all gTLDs. It checks some common language and country codes.
14
+
15
+ ## Installation
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ ```ruby
20
+ gem 'reserved_subdomain'
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```ruby
26
+ ReservedSubdomain.new('www').reserved? # => true
27
+ ```
28
+
29
+ ## Configuration
30
+
31
+ Each time you use ReservedSubdomain it loads the list of reserved names from a file. This can be slow if you're doing these checks frequently.
32
+
33
+ In this case you can set the environment variable `RESERVED_SUBDOMAIN_PRELOAD` to "true" and the list will be preloaded.
34
+
35
+ Of course if you preload the list it will stay memory-resident and take up a significant amount of room. Your call.
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+
5
+ begin
6
+ require 'rspec/core/rake_task'
7
+ RSpec::Core::RakeTask.new(:spec)
8
+ task default: :spec
9
+ rescue LoadError
10
+ nil
11
+ end
@@ -0,0 +1,45 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ lib = File.expand_path('../lib', __dir__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+
7
+ require 'open-uri'
8
+ require 'reserved_subdomain'
9
+
10
+ def write_file(content, filename)
11
+ filepath = File.join(__dir__, '..', 'lib', 'reserved_subdomain', 'literals', filename)
12
+ File.open(filepath, 'w') { |f| f.write content.join("\n") }
13
+ end
14
+
15
+ # Remove existing literals that exist in content
16
+ def remove_literals(content)
17
+ literals = ReservedSubdomain::Literal.load_literals.dup
18
+ literals.select! { |literal| !content.include?(literal) }
19
+ write_file literals, 'reserved_subdomains.txt'
20
+ end
21
+
22
+ # TLDs
23
+ uri = URI.parse('http://data.iana.org/TLD/tlds-alpha-by-domain.txt')
24
+ tlds = uri.read.downcase.split("\n")
25
+ remove_literals(tlds)
26
+
27
+ tlds.select! do |tld|
28
+ (tld !~ /^#/) &&
29
+ !ReservedSubdomain::Prefix.new(tld).reserved? &&
30
+ !ReservedSubdomain::Pattern.new(tld).reserved?
31
+ end
32
+
33
+ write_file tlds, 'tlds.txt'
34
+
35
+ # Country codes
36
+ # TODO: Find source of ISO-3166-1 country codes and add them to the list of literals
37
+ filepath = File.join(__dir__, '..', 'lib', 'reserved_subdomain', 'literals', 'iso-3166-1.txt')
38
+ country_codes = File.read(filepath).split("\n").compact
39
+ remove_literals(country_codes)
40
+
41
+ # Language codes
42
+ # TODO: Find a source of ISO-639 language codes and add them to the list of literals
43
+ filepath = File.join(__dir__, '..', 'lib', 'reserved_subdomain', 'literals', 'iso-639-1.txt')
44
+ language_codes = File.read(filepath).split("\n").compact
45
+ remove_literals(language_codes)
data/bin/console ADDED
@@ -0,0 +1,2 @@
1
+ #!/bin/sh
2
+ bundle exec irb -I lib -r rubygems -r reserved_subdomain.rb
data/bin/rspec ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rspec-core", "rspec")
data/bin/rubocop ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("rubocop", "rubocop")
@@ -0,0 +1,15 @@
1
+ require 'reserved_subdomain/literal'
2
+ require 'reserved_subdomain/pattern'
3
+ require 'reserved_subdomain/prefix'
4
+
5
+ class ReservedSubdomain
6
+ attr_reader :subdomain
7
+
8
+ def initialize(subdomain)
9
+ @subdomain = subdomain
10
+ end
11
+
12
+ def reserved?
13
+ Prefix.new(subdomain).reserved? || Pattern.new(subdomain).reserved? || Literal.new(subdomain).reserved?
14
+ end
15
+ end
@@ -0,0 +1,46 @@
1
+ class ReservedSubdomain
2
+ class Literal
3
+ class << self
4
+ # If the env var is set then we pre-load all the reserved literals into
5
+ # a big array. This makes checking for reserved subdomains quicker but at
6
+ # the expense of keeping the big array in memory.
7
+ #
8
+ # If you're only checking for reserved subdomains when a user creates a
9
+ # new account then it may be better to load the literals from the file
10
+ # each time.
11
+ def literals
12
+ @literals ||= ENV['RESERVED_SUBDOMAIN_PRELOAD'] ? load_literals : nil
13
+ end
14
+
15
+ def load_literals
16
+ literals_files.map { |filename| File.read(filename).split("\n") }.compact.flatten
17
+ end
18
+
19
+ private
20
+
21
+ def literals_files
22
+ Dir.glob(File.join(literals_directory, '*'))
23
+ end
24
+
25
+ def literals_directory
26
+ @literals_directory ||= File.join(__dir__, 'literals')
27
+ end
28
+ end
29
+
30
+ attr_reader :subdomain
31
+
32
+ def initialize(subdomain)
33
+ @subdomain = subdomain
34
+ end
35
+
36
+ def reserved?
37
+ literals.include? subdomain
38
+ end
39
+
40
+ private
41
+
42
+ def literals
43
+ self.class.literals || self.class.load_literals
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,2 @@
1
+ gb
2
+ us
@@ -0,0 +1,2 @@
1
+ de
2
+ en
@@ -0,0 +1,588 @@
1
+ a
2
+ about
3
+ abuse
4
+ abuseaccount
5
+ abuseaccounts
6
+ access
7
+ account
8
+ accounts
9
+ activate
10
+ add
11
+ address
12
+ adm
13
+ admin
14
+ administration
15
+ administrator
16
+ administrators
17
+ adserver
18
+ adv
19
+ advertising
20
+ affiliate
21
+ affiliates
22
+ agenda
23
+ ajax
24
+ alpha
25
+ an
26
+ anon
27
+ anonymous
28
+ api
29
+ apps
30
+ arabic
31
+ archive
32
+ archives
33
+ asset
34
+ assets
35
+ atom
36
+ auth
37
+ authentication
38
+ autoconfig
39
+ autodiscover
40
+ availability
41
+ avatar
42
+ awadhi
43
+ azerbaijani
44
+ b
45
+ b2b
46
+ backup
47
+ backups
48
+ banner
49
+ banners
50
+ bbs
51
+ bengali
52
+ beta
53
+ better
54
+ bhojpuri
55
+ billing
56
+ bin
57
+ blogs
58
+ board
59
+ bookmark
60
+ bookmarks
61
+ bots
62
+ broadcast-ip
63
+ bug
64
+ bugs
65
+ burmese
66
+ c
67
+ cache
68
+ cadastro
69
+ calendar
70
+ camo
71
+ campaign
72
+ cancel
73
+ cart
74
+ cdn
75
+ cgi
76
+ changelog
77
+ checkout
78
+ chinese
79
+ citrix
80
+ client
81
+ cliente
82
+ clients
83
+ cms
84
+ code
85
+ codereview
86
+ comercial
87
+ comment
88
+ comments
89
+ communities
90
+ compras
91
+ config
92
+ configuration
93
+ connect
94
+ content
95
+ contest
96
+ contributors
97
+ control
98
+ coppa
99
+ copyright
100
+ corp
101
+ cp
102
+ cpanel
103
+ create
104
+ crm
105
+ cs
106
+ css
107
+ cssproxy
108
+ customise
109
+ customize
110
+ cvs
111
+ d
112
+ dashboard
113
+ dbadmin
114
+ dd
115
+ delete
116
+ demo
117
+ designer
118
+ destroy
119
+ devel
120
+ develop
121
+ developer
122
+ developers
123
+ development
124
+ dir
125
+ direct_messages
126
+ diversity
127
+ dmca
128
+ doc
129
+ documentation
130
+ domain
131
+ downloads
132
+ dreamwidth
133
+ drupal
134
+ dutch
135
+ dw
136
+ e
137
+ e-mail
138
+ ecommerce
139
+ edit
140
+ editor
141
+ edits
142
+ eh
143
+ embed
144
+ embedded
145
+ employment
146
+ eng
147
+ english
148
+ enterprise
149
+ event
150
+ example
151
+ examplecommunity
152
+ exampleopenid
153
+ examplesyn
154
+ examplesyndicated
155
+ exampleusername
156
+ explore
157
+ extranet
158
+ f
159
+ facebook
160
+ faq
161
+ faqs
162
+ farsi
163
+ favorite
164
+ favorites
165
+ favourite
166
+ favourites
167
+ fax
168
+ fb
169
+ feed
170
+ feeds
171
+ file
172
+ files
173
+ firewall
174
+ fleet
175
+ fleets
176
+ flog
177
+ follow
178
+ followers
179
+ following
180
+ forms
181
+ forums
182
+ foto
183
+ french
184
+ friend
185
+ friends
186
+ fs
187
+ fw
188
+ g
189
+ gadget
190
+ gadgets
191
+ gan
192
+ gate
193
+ gateway
194
+ general
195
+ german
196
+ get
197
+ gis
198
+ gist
199
+ git
200
+ github
201
+ go
202
+ groups
203
+ guest
204
+ guides
205
+ gujarati
206
+ hack
207
+ hakka
208
+ hausa
209
+ hindi
210
+ home
211
+ homepage
212
+ hostmaster
213
+ hostname
214
+ hpg
215
+ html
216
+ http
217
+ httpd
218
+ https
219
+ i
220
+ icon
221
+ icons
222
+ idea
223
+ ideas
224
+ idp
225
+ image
226
+ images
227
+ imap
228
+ img
229
+ inbox
230
+ index
231
+ indice
232
+ information
233
+ intra
234
+ intranet
235
+ invitations
236
+ invite
237
+ ip
238
+ ipad
239
+ ipfixe
240
+ iphone
241
+ ipv4
242
+ irc
243
+ italian
244
+ jabber
245
+ japanese
246
+ javanese
247
+ javascript
248
+ jinyu
249
+ job
250
+ js
251
+ json
252
+ kannada
253
+ kb
254
+ knowledge-base
255
+ knowledgebase
256
+ korean
257
+ lab
258
+ labs
259
+ language
260
+ languages
261
+ ldap
262
+ legacy
263
+ lib
264
+ library
265
+ libs
266
+ links
267
+ linux
268
+ list
269
+ lists
270
+ livejournal
271
+ lj
272
+ lms
273
+ local
274
+ localhost
275
+ log
276
+ loghost
277
+ login
278
+ logout
279
+ logs
280
+ loopback
281
+ m
282
+ mailadmin
283
+ mailer
284
+ mailhost
285
+ mailing
286
+ mailman
287
+ mailserver
288
+ main
289
+ maithili
290
+ malayalam
291
+ manage
292
+ manager
293
+ mandarin
294
+ maps
295
+ marathi
296
+ master
297
+ member
298
+ members
299
+ memories
300
+ memory
301
+ merchandise
302
+ message
303
+ messages
304
+ messenger
305
+ microblog
306
+ microblogs
307
+ min-nan
308
+ mine
309
+ mirror
310
+ mis
311
+ mob
312
+ mobilemail
313
+ monitor
314
+ monitoring
315
+ moodle
316
+ movies
317
+ mp3
318
+ mrtg
319
+ msg
320
+ msn
321
+ mssql
322
+ music
323
+ musicas
324
+ mysql
325
+ nagios
326
+ named
327
+ network-ip
328
+ newsletter
329
+ nick
330
+ nickname
331
+ noc
332
+ notes
333
+ noticias
334
+ oa
335
+ oauth
336
+ oauth_clients
337
+ offers
338
+ official
339
+ old
340
+ oldmail
341
+ openid
342
+ operator
343
+ order
344
+ orders
345
+ organizations
346
+ origin
347
+ oriya
348
+ outlook
349
+ owa
350
+ p
351
+ pager
352
+ pages
353
+ paid
354
+ panel
355
+ panjabi
356
+ partner
357
+ password
358
+ payment
359
+ payments
360
+ pbx
361
+ pda
362
+ perl
363
+ pgsql
364
+ photoalbum
365
+ php
366
+ phpmyadmin
367
+ pic
368
+ picture
369
+ plans
370
+ plugin
371
+ plugins
372
+ policy
373
+ polish
374
+ pop
375
+ pop3
376
+ popular
377
+ portal
378
+ portuguese
379
+ postfix
380
+ postmaster
381
+ posts
382
+ preview
383
+ principles
384
+ privacy
385
+ private
386
+ product
387
+ production
388
+ products
389
+ profile
390
+ project
391
+ projects
392
+ proxy
393
+ public
394
+ purge
395
+ put
396
+ python
397
+ random
398
+ recruitment
399
+ redirect
400
+ register
401
+ registration
402
+ relay
403
+ remote
404
+ remove
405
+ replies
406
+ repo
407
+ reports
408
+ research
409
+ romanian
410
+ root
411
+ router
412
+ rss
413
+ rt
414
+ ruby
415
+ russian
416
+ s
417
+ sales
418
+ sample
419
+ samples
420
+ sandbox
421
+ schools
422
+ script
423
+ scripts
424
+ send
425
+ seo
426
+ serbo-croatian
427
+ service
428
+ sessions
429
+ setting
430
+ settings
431
+ setup
432
+ sftp
433
+ share
434
+ sharepoint
435
+ signin
436
+ signup
437
+ sindhi
438
+ sip
439
+ sitebuilder
440
+ sitemap
441
+ sites
442
+ sms
443
+ soporte
444
+ sp
445
+ spam
446
+ spanish
447
+ speedtest
448
+ sports
449
+ sql
450
+ ss
451
+ ssh
452
+ ssl
453
+ ssladmin
454
+ ssladministrator
455
+ sslwebmaster
456
+ sso
457
+ ssytem
458
+ staff
459
+ stage
460
+ staging
461
+ start
462
+ stat
463
+ statistics
464
+ stats
465
+ status
466
+ stores
467
+ stories
468
+ streaming
469
+ student
470
+ styleguide
471
+ styles
472
+ subdomain
473
+ subscribe
474
+ subscriptions
475
+ sunda
476
+ suporte
477
+ survey
478
+ svn
479
+ syn
480
+ syndicated
481
+ sysadmin
482
+ sysadministrator
483
+ system
484
+ t
485
+ tablet
486
+ tablets
487
+ tag
488
+ tags
489
+ tamil
490
+ task
491
+ tasks
492
+ teams
493
+ telnet
494
+ telugu
495
+ temp
496
+ terms
497
+ termsofservice
498
+ teste
499
+ testing
500
+ tests
501
+ thai
502
+ theme
503
+ themes
504
+ thumbs
505
+ ticket
506
+ time
507
+ tmp
508
+ todo
509
+ tool
510
+ tos
511
+ tour
512
+ tp
513
+ trac
514
+ track
515
+ tracker
516
+ tracking
517
+ translations
518
+ trends
519
+ ts
520
+ turkish
521
+ twitter
522
+ twittr
523
+ ukrainian
524
+ unfollow
525
+ unsubscribe
526
+ up
527
+ update
528
+ updates
529
+ upgrade
530
+ upgrades
531
+ upi
532
+ upload
533
+ urdu
534
+ url
535
+ usage
536
+ user
537
+ username
538
+ usernames
539
+ users
540
+ usuario
541
+ v
542
+ vendas
543
+ videos
544
+ vietnamese
545
+ visitor
546
+ vod
547
+ voip
548
+ volunteer
549
+ volunteers
550
+ vps
551
+ w
552
+ w3
553
+ wap
554
+ webconf
555
+ webdisk
556
+ webmail
557
+ webmaster
558
+ websites
559
+ webstats
560
+ whm
561
+ widget
562
+ widgets
563
+ wifi
564
+ wordpress
565
+ workshop
566
+ wp
567
+ wu
568
+ ww
569
+ ww1
570
+ ww2
571
+ ww3
572
+ wws
573
+ wwws
574
+ wwww
575
+ xfn
576
+ xiang
577
+ xml
578
+ xmpp
579
+ xmppSuggest
580
+ xpg
581
+ yaml
582
+ yml
583
+ yoruba
584
+ yourdomain
585
+ yourname
586
+ yoursite
587
+ yourusername
588
+ yu