domain_prefix 0.4.20171130 → 0.4.20180130
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -4
- data/Gemfile +1 -1
- data/LICENSE +1 -1
- data/README.md +39 -1
- data/Rakefile +3 -2
- data/VERSION +1 -1
- data/data/effective_tld_names.dat +91 -9
- data/domain_prefix.gemspec +7 -7
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bbd4c7b8cf600919eb3040b1c898cb363ed3253
|
4
|
+
data.tar.gz: fbe9b691b6e3fe99b938e82bd18233c66b1eb093
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 822a72d26f8abea713c3bad948bdc16f8e86524e2e05e7831db9720fa460bdcd862fdaa10450d8271b09bfde53b37d8d192a6cecae005319157617f41d35afa7
|
7
|
+
data.tar.gz: 47ab8511775e05e2d92876f68d7203fbed48c0ff4c9dec33910ef2e4d1f7064ff013bb35c3b90483ca36a1943a8f97b56b28c18fe146b5b2af136cd761e02ba3
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -3,6 +3,40 @@
|
|
3
3
|
This is a library to determine the registration prefix for a given domain
|
4
4
|
and can be used to assert if a given domain name is valid or not.
|
5
5
|
|
6
|
+
## Usage
|
7
|
+
|
8
|
+
The `registered_domain` method returns the name of the registered domain
|
9
|
+
associated witha given hostname, or Fully Qualified Domain Name (FQDN):
|
10
|
+
|
11
|
+
DomainPrefix.registered_domain('test.example.com')
|
12
|
+
# => 'example.com'
|
13
|
+
DomainPrefix.registered_domain('test.example.ca')
|
14
|
+
# => 'example.ca'
|
15
|
+
DomainPrefix.registered_domain('test.example.co.uk')
|
16
|
+
# => 'example.co.uk'
|
17
|
+
|
18
|
+
The `public_suffix` method returns the suffix into which this domain is
|
19
|
+
registered:
|
20
|
+
|
21
|
+
DomainPrefix.public_suffix('test.example.com')
|
22
|
+
# => 'com'
|
23
|
+
DomainPrefix.public_suffix('test.example.ca')
|
24
|
+
# => 'ca'
|
25
|
+
DomainPrefix.public_suffix('test.example.co.uk')
|
26
|
+
# => 'co.uk'
|
27
|
+
|
28
|
+
Note that the "public suffix" component of a domain can be quite lengthy
|
29
|
+
depending on the context. Some countries have three or more levels of structure
|
30
|
+
in their TLD.
|
31
|
+
|
32
|
+
In some cases there are quasi-TLD listings in this file relating to common
|
33
|
+
hosting platforms like `xs4all.space` or dynamic DNS providers like DynDNS
|
34
|
+
with suffixes like `dnsalias.com`.
|
35
|
+
|
36
|
+
As no distinction is made in the source `.dat` file between these hosting
|
37
|
+
companies and TLD registry structures it's not possible to differentiate
|
38
|
+
in this library either.
|
39
|
+
|
6
40
|
## Update Task
|
7
41
|
|
8
42
|
To update the data used to make the domain determinations, there's a
|
@@ -14,7 +48,11 @@ The test case data is pulled from a separate source:
|
|
14
48
|
|
15
49
|
http://mxr.mozilla.org/mozilla-central/source/netwerk/test/unit/data/test_psl.txt?raw=1
|
16
50
|
|
51
|
+
The source of this data is the [Public Suffix List](https://github.com/publicsuffix/list)
|
52
|
+
which is licensed under the Mozilla Public License 2.0. A portion of this
|
53
|
+
project is included in this gem.
|
54
|
+
|
17
55
|
## Copyright
|
18
56
|
|
19
|
-
Copyright (c) 2009-
|
57
|
+
Copyright (c) 2009-2017 Scott Tadman, The Working Group Inc.
|
20
58
|
See LICENSE for details.
|
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ begin
|
|
12
12
|
gem.description = "A library to extract information about top-level domain and registered name from generic and international domain names"
|
13
13
|
gem.email = "github@tadman.ca"
|
14
14
|
gem.homepage = "http://github.com/twg/domain_prefix"
|
15
|
-
gem.authors =
|
15
|
+
gem.authors = [ 'Scott Tadman' ]
|
16
16
|
end
|
17
17
|
|
18
18
|
Jeweler::GemcutterTasks.new
|
@@ -21,6 +21,7 @@ rescue LoadError
|
|
21
21
|
end
|
22
22
|
|
23
23
|
require 'rake/testtask'
|
24
|
+
|
24
25
|
Rake::TestTask.new(:test) do |test|
|
25
26
|
test.libs << 'lib' << 'test'
|
26
27
|
test.pattern = 'test/**/test_*.rb'
|
@@ -46,4 +47,4 @@ namespace :domain_prefix do
|
|
46
47
|
end
|
47
48
|
end
|
48
49
|
|
49
|
-
task :
|
50
|
+
task default: :test
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.20180130
|
@@ -384,27 +384,62 @@ org.bm
|
|
384
384
|
// bn : https://en.wikipedia.org/wiki/.bn
|
385
385
|
*.bn
|
386
386
|
|
387
|
-
// bo :
|
387
|
+
// bo : https://nic.bo/delegacion2015.php#h-1.10
|
388
388
|
bo
|
389
389
|
com.bo
|
390
390
|
edu.bo
|
391
|
-
gov.bo
|
392
391
|
gob.bo
|
393
392
|
int.bo
|
394
393
|
org.bo
|
395
394
|
net.bo
|
396
395
|
mil.bo
|
397
396
|
tv.bo
|
397
|
+
web.bo
|
398
|
+
// Social Domains
|
399
|
+
academia.bo
|
400
|
+
agro.bo
|
401
|
+
arte.bo
|
402
|
+
blog.bo
|
403
|
+
bolivia.bo
|
404
|
+
ciencia.bo
|
405
|
+
cooperativa.bo
|
406
|
+
democracia.bo
|
407
|
+
deporte.bo
|
408
|
+
ecologia.bo
|
409
|
+
economia.bo
|
410
|
+
empresa.bo
|
411
|
+
indigena.bo
|
412
|
+
industria.bo
|
413
|
+
info.bo
|
414
|
+
medicina.bo
|
415
|
+
movimiento.bo
|
416
|
+
musica.bo
|
417
|
+
natural.bo
|
418
|
+
nombre.bo
|
419
|
+
noticias.bo
|
420
|
+
patria.bo
|
421
|
+
politica.bo
|
422
|
+
profesional.bo
|
423
|
+
plurinacional.bo
|
424
|
+
pueblo.bo
|
425
|
+
revista.bo
|
426
|
+
salud.bo
|
427
|
+
tecnologia.bo
|
428
|
+
tksat.bo
|
429
|
+
transporte.bo
|
430
|
+
wiki.bo
|
398
431
|
|
399
432
|
// br : http://registro.br/dominio/categoria.html
|
400
433
|
// Submitted by registry <fneves@registro.br>
|
401
434
|
br
|
435
|
+
9guacu.br
|
402
436
|
abc.br
|
403
437
|
adm.br
|
404
438
|
adv.br
|
405
439
|
agr.br
|
406
440
|
aju.br
|
407
441
|
am.br
|
442
|
+
anani.br
|
408
443
|
aparecida.br
|
409
444
|
arq.br
|
410
445
|
art.br
|
@@ -417,6 +452,7 @@ blog.br
|
|
417
452
|
bmd.br
|
418
453
|
boavista.br
|
419
454
|
bsb.br
|
455
|
+
campinagrande.br
|
420
456
|
campinas.br
|
421
457
|
caxias.br
|
422
458
|
cim.br
|
@@ -427,6 +463,7 @@ contagem.br
|
|
427
463
|
coop.br
|
428
464
|
cri.br
|
429
465
|
cuiaba.br
|
466
|
+
curitiba.br
|
430
467
|
def.br
|
431
468
|
ecn.br
|
432
469
|
eco.br
|
@@ -444,6 +481,7 @@ fm.br
|
|
444
481
|
fnd.br
|
445
482
|
fortal.br
|
446
483
|
fot.br
|
484
|
+
foz.br
|
447
485
|
fst.br
|
448
486
|
g12.br
|
449
487
|
ggf.br
|
@@ -492,6 +530,8 @@ lel.br
|
|
492
530
|
londrina.br
|
493
531
|
macapa.br
|
494
532
|
maceio.br
|
533
|
+
manaus.br
|
534
|
+
maringa.br
|
495
535
|
mat.br
|
496
536
|
med.br
|
497
537
|
mil.br
|
@@ -521,8 +561,13 @@ recife.br
|
|
521
561
|
ribeirao.br
|
522
562
|
rio.br
|
523
563
|
riobranco.br
|
564
|
+
riopreto.br
|
524
565
|
salvador.br
|
525
566
|
sampa.br
|
567
|
+
santamaria.br
|
568
|
+
santoandre.br
|
569
|
+
saobernardo.br
|
570
|
+
saogonca.br
|
526
571
|
sjc.br
|
527
572
|
slg.br
|
528
573
|
slz.br
|
@@ -3492,8 +3537,17 @@ uenohara.yamanashi.jp
|
|
3492
3537
|
yamanakako.yamanashi.jp
|
3493
3538
|
yamanashi.yamanashi.jp
|
3494
3539
|
|
3495
|
-
// ke : http://www.kenic.or.ke/index.php
|
3496
|
-
|
3540
|
+
// ke : http://www.kenic.or.ke/index.php/en/ke-domains/ke-domains
|
3541
|
+
ke
|
3542
|
+
ac.ke
|
3543
|
+
co.ke
|
3544
|
+
go.ke
|
3545
|
+
info.ke
|
3546
|
+
me.ke
|
3547
|
+
mobi.ke
|
3548
|
+
ne.ke
|
3549
|
+
or.ke
|
3550
|
+
sc.ke
|
3497
3551
|
|
3498
3552
|
// kg : http://www.domain.kg/dmn_n.html
|
3499
3553
|
kg
|
@@ -10585,6 +10639,12 @@ cc.ua
|
|
10585
10639
|
inf.ua
|
10586
10640
|
ltd.ua
|
10587
10641
|
|
10642
|
+
// AgileBits Inc : https://agilebits.com
|
10643
|
+
// Submitted by Roustem Karimov <roustem@agilebits.com>
|
10644
|
+
1password.ca
|
10645
|
+
1password.com
|
10646
|
+
1password.eu
|
10647
|
+
|
10588
10648
|
// Agnat sp. z o.o. : https://domena.pl
|
10589
10649
|
// Submitted by Przemyslaw Plewa <it-admin@domena.pl>
|
10590
10650
|
beep.pl
|
@@ -10596,7 +10656,7 @@ beep.pl
|
|
10596
10656
|
|
10597
10657
|
// alwaysdata : https://www.alwaysdata.com
|
10598
10658
|
// Submitted by Cyril <admin@alwaysdata.com>
|
10599
|
-
|
10659
|
+
alwaysdata.net
|
10600
10660
|
|
10601
10661
|
// Amazon CloudFront : https://aws.amazon.com/cloudfront/
|
10602
10662
|
// Submitted by Donavan Miller <donavanm@amazon.com>
|
@@ -10622,6 +10682,7 @@ ca-central-1.elasticbeanstalk.com
|
|
10622
10682
|
eu-central-1.elasticbeanstalk.com
|
10623
10683
|
eu-west-1.elasticbeanstalk.com
|
10624
10684
|
eu-west-2.elasticbeanstalk.com
|
10685
|
+
eu-west-3.elasticbeanstalk.com
|
10625
10686
|
sa-east-1.elasticbeanstalk.com
|
10626
10687
|
us-east-1.elasticbeanstalk.com
|
10627
10688
|
us-east-2.elasticbeanstalk.com
|
@@ -10646,6 +10707,7 @@ s3-ca-central-1.amazonaws.com
|
|
10646
10707
|
s3-eu-central-1.amazonaws.com
|
10647
10708
|
s3-eu-west-1.amazonaws.com
|
10648
10709
|
s3-eu-west-2.amazonaws.com
|
10710
|
+
s3-eu-west-3.amazonaws.com
|
10649
10711
|
s3-external-1.amazonaws.com
|
10650
10712
|
s3-fips-us-gov-west-1.amazonaws.com
|
10651
10713
|
s3-sa-east-1.amazonaws.com
|
@@ -10659,6 +10721,7 @@ s3.cn-north-1.amazonaws.com.cn
|
|
10659
10721
|
s3.ca-central-1.amazonaws.com
|
10660
10722
|
s3.eu-central-1.amazonaws.com
|
10661
10723
|
s3.eu-west-2.amazonaws.com
|
10724
|
+
s3.eu-west-3.amazonaws.com
|
10662
10725
|
s3.us-east-2.amazonaws.com
|
10663
10726
|
s3.dualstack.ap-northeast-1.amazonaws.com
|
10664
10727
|
s3.dualstack.ap-northeast-2.amazonaws.com
|
@@ -10669,6 +10732,7 @@ s3.dualstack.ca-central-1.amazonaws.com
|
|
10669
10732
|
s3.dualstack.eu-central-1.amazonaws.com
|
10670
10733
|
s3.dualstack.eu-west-1.amazonaws.com
|
10671
10734
|
s3.dualstack.eu-west-2.amazonaws.com
|
10735
|
+
s3.dualstack.eu-west-3.amazonaws.com
|
10672
10736
|
s3.dualstack.sa-east-1.amazonaws.com
|
10673
10737
|
s3.dualstack.us-east-1.amazonaws.com
|
10674
10738
|
s3.dualstack.us-east-2.amazonaws.com
|
@@ -10685,6 +10749,7 @@ s3-website.ap-south-1.amazonaws.com
|
|
10685
10749
|
s3-website.ca-central-1.amazonaws.com
|
10686
10750
|
s3-website.eu-central-1.amazonaws.com
|
10687
10751
|
s3-website.eu-west-2.amazonaws.com
|
10752
|
+
s3-website.eu-west-3.amazonaws.com
|
10688
10753
|
s3-website.us-east-2.amazonaws.com
|
10689
10754
|
|
10690
10755
|
// Amune : https://amune.org/
|
@@ -10873,6 +10938,11 @@ cloudns.us
|
|
10873
10938
|
co.nl
|
10874
10939
|
co.no
|
10875
10940
|
|
10941
|
+
// Combell.com : https://www.combell.com
|
10942
|
+
// Submitted by Thomas Wouters <thomas.wouters@combellgroup.com>
|
10943
|
+
webhosting.be
|
10944
|
+
hosting-cluster.nl
|
10945
|
+
|
10876
10946
|
// COSIMO GmbH : http://www.cosimo.de
|
10877
10947
|
// Submitted by Rene Marticke <rmarticke@cosimo.de>
|
10878
10948
|
dyn.cosidns.de
|
@@ -11471,6 +11541,8 @@ fhapp.xyz
|
|
11471
11541
|
fedorainfracloud.org
|
11472
11542
|
fedorapeople.org
|
11473
11543
|
cloud.fedoraproject.org
|
11544
|
+
app.os.fedoraproject.org
|
11545
|
+
app.os.stg.fedoraproject.org
|
11474
11546
|
|
11475
11547
|
// Filegear Inc. : https://www.filegear.com
|
11476
11548
|
// Submitted by Jason Zhu <jason@owtware.com>
|
@@ -11494,10 +11566,6 @@ fbxos.fr
|
|
11494
11566
|
freebox-os.fr
|
11495
11567
|
freeboxos.fr
|
11496
11568
|
|
11497
|
-
// Fusion Intranet : https://www.fusion-intranet.com
|
11498
|
-
// Submitted by Matthias Burtscher <matthias.burtscher@fusonic.net>
|
11499
|
-
myfusion.cloud
|
11500
|
-
|
11501
11569
|
// Futureweb OG : http://www.futureweb.at
|
11502
11570
|
// Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
|
11503
11571
|
*.futurecms.at
|
@@ -11783,6 +11851,10 @@ netlify.com
|
|
11783
11851
|
// Submitted by Alan Shreve <alan@ngrok.com>
|
11784
11852
|
ngrok.io
|
11785
11853
|
|
11854
|
+
// Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/
|
11855
|
+
// Submitted by Nicholas Ford <nick@nimbushosting.co.uk>
|
11856
|
+
nh-serv.co.uk
|
11857
|
+
|
11786
11858
|
// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
|
11787
11859
|
// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
|
11788
11860
|
nfshost.com
|
@@ -12040,6 +12112,11 @@ rackmaze.net
|
|
12040
12112
|
// Submitted by Tim Kramer <tkramer@rhcloud.com>
|
12041
12113
|
rhcloud.com
|
12042
12114
|
|
12115
|
+
// Resin.io : https://resin.io
|
12116
|
+
// Submitted by Tim Perry <tim@resin.io>
|
12117
|
+
resindevice.io
|
12118
|
+
devices.resinstaging.io
|
12119
|
+
|
12043
12120
|
// RethinkDB : https://www.rethinkdb.com/
|
12044
12121
|
// Submitted by Chris Kastorff <info@rethinkdb.com>
|
12045
12122
|
hzc.io
|
@@ -12059,6 +12136,10 @@ sandcats.io
|
|
12059
12136
|
logoip.de
|
12060
12137
|
logoip.com
|
12061
12138
|
|
12139
|
+
// Scry Security : http://www.scrysec.com
|
12140
|
+
// Submitted by Shante Adam <shante@skyhat.io>
|
12141
|
+
scrysec.com
|
12142
|
+
|
12062
12143
|
// Securepoint GmbH : https://www.securepoint.de
|
12063
12144
|
// Submitted by Erik Anders <erik.anders@securepoint.de>
|
12064
12145
|
firewall-gateway.com
|
@@ -12074,6 +12155,7 @@ spdns.org
|
|
12074
12155
|
|
12075
12156
|
// SensioLabs, SAS : https://sensiolabs.com/
|
12076
12157
|
// Submitted by Fabien Potencier <fabien.potencier@sensiolabs.com>
|
12158
|
+
*.s5y.io
|
12077
12159
|
*.sensiosite.cloud
|
12078
12160
|
|
12079
12161
|
// Service Online LLC : http://drs.ua/
|
data/domain_prefix.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: domain_prefix 0.4.
|
5
|
+
# stub: domain_prefix 0.4.20180130 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "domain_prefix".freeze
|
9
|
-
s.version = "0.4.
|
9
|
+
s.version = "0.4.20180130"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
|
-
s.authors = ["
|
14
|
-
s.date = "
|
13
|
+
s.authors = ["Scott Tadman".freeze]
|
14
|
+
s.date = "2018-01-30"
|
15
15
|
s.description = "A library to extract information about top-level domain and registered name from generic and international domain names".freeze
|
16
16
|
s.email = "github@tadman.ca".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -46,18 +46,18 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.add_runtime_dependency(%q<simpleidn>.freeze, [">= 0.0.5"])
|
47
47
|
s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
|
48
48
|
s.add_development_dependency(%q<test-unit>.freeze, [">= 0"])
|
49
|
-
s.add_development_dependency(%q<jeweler>.freeze, [">=
|
49
|
+
s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
|
50
50
|
else
|
51
51
|
s.add_dependency(%q<simpleidn>.freeze, [">= 0.0.5"])
|
52
52
|
s.add_dependency(%q<json>.freeze, [">= 0"])
|
53
53
|
s.add_dependency(%q<test-unit>.freeze, [">= 0"])
|
54
|
-
s.add_dependency(%q<jeweler>.freeze, [">=
|
54
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
55
55
|
end
|
56
56
|
else
|
57
57
|
s.add_dependency(%q<simpleidn>.freeze, [">= 0.0.5"])
|
58
58
|
s.add_dependency(%q<json>.freeze, [">= 0"])
|
59
59
|
s.add_dependency(%q<test-unit>.freeze, [">= 0"])
|
60
|
-
s.add_dependency(%q<jeweler>.freeze, [">=
|
60
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: domain_prefix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.20180130
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Scott Tadman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: simpleidn
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
description: A library to extract information about top-level domain and registered
|
70
70
|
name from generic and international domain names
|
71
71
|
email: github@tadman.ca
|