public_suffix 4.0.3 → 4.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -8
- data/.rubocop.yml +1 -1
- data/{.rubocop_defaults.yml → .rubocop_opinionated.yml} +21 -26
- data/CHANGELOG.md +7 -0
- data/Gemfile +6 -3
- data/README.md +2 -2
- data/SECURITY.md +4 -1
- data/data/list.txt +93 -38
- data/lib/public_suffix/list.rb +1 -1
- data/lib/public_suffix/rule.rb +1 -1
- data/lib/public_suffix/version.rb +1 -1
- data/public_suffix.gemspec +0 -4
- data/test/acceptance_test.rb +29 -29
- data/test/unit/public_suffix_test.rb +11 -11
- data/test/unit/rule_test.rb +30 -30
- metadata +4 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4024f44e47147f95aacb6e0be5e0d7b9a23e3b2a4ea98c8f4f2bfd3eac65bd08
|
4
|
+
data.tar.gz: 99596dd3d3d98439fed363cfb0d9d1500a7096bf744583625d4ebb8f91d7e8b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 127164c169e2c4cf0b7d640afab77a6fc52772501d9b09ac4c161ede20422e15c58f6a36346a46dffe104d33467915298b4538085ea427682984af914ea0448d
|
7
|
+
data.tar.gz: 6fb21d08ee9c96a78c87e780ee186282aa73d9957b613043b7779dc5a350a69bbee645b267bb462cde7cdf0befbcd037514bc66c28059c6254bfc4476d1e518a
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -14,21 +14,6 @@ Layout/LineLength:
|
|
14
14
|
- 'test/**/*_test.rb'
|
15
15
|
Max: 100
|
16
16
|
|
17
|
-
# Array indentation should be considered like MultilineMethodCallIndentation indentation
|
18
|
-
# and use 4 spaces instead of 2.
|
19
|
-
Layout/FirstArrayElementIndentation:
|
20
|
-
IndentationWidth: 4
|
21
|
-
|
22
|
-
# Hash indentation should be considered like MultilineMethodCallIndentation indentation
|
23
|
-
# and use 4 spaces instead of 2.
|
24
|
-
Layout/FirstHashElementIndentation:
|
25
|
-
IndentationWidth: 4
|
26
|
-
|
27
|
-
# Multi-line differs from standard indentation, they are indented twice.
|
28
|
-
Layout/MultilineMethodCallIndentation:
|
29
|
-
EnforcedStyle: indented
|
30
|
-
IndentationWidth: 4
|
31
|
-
|
32
17
|
# [codesmell]
|
33
18
|
Metrics/AbcSize:
|
34
19
|
Enabled: false
|
@@ -120,17 +105,6 @@ Style/FormatString:
|
|
120
105
|
Style/FormatStringToken:
|
121
106
|
Enabled: false
|
122
107
|
|
123
|
-
# Prefer the latest Hash syntax
|
124
|
-
Style/HashSyntax:
|
125
|
-
Exclude:
|
126
|
-
# But Rakefiles generally have some definition like
|
127
|
-
# :default => :test
|
128
|
-
# that looks nicer with the old rocket syntax.
|
129
|
-
- 'Rakefile'
|
130
|
-
|
131
|
-
Style/RescueStandardError:
|
132
|
-
Enabled: false
|
133
|
-
|
134
108
|
# unless is not always cool.
|
135
109
|
Style/NegatedIf:
|
136
110
|
Enabled: false
|
@@ -145,6 +119,9 @@ Style/PercentLiteralDelimiters:
|
|
145
119
|
Style/RescueModifier:
|
146
120
|
Enabled: false
|
147
121
|
|
122
|
+
Style/SymbolArray:
|
123
|
+
EnforcedStyle: brackets
|
124
|
+
|
148
125
|
# Sorry, but using trailing spaces helps readability.
|
149
126
|
#
|
150
127
|
# %w( foo bar )
|
@@ -177,3 +154,21 @@ Style/TrivialAccessors:
|
|
177
154
|
# end
|
178
155
|
#
|
179
156
|
IgnoreClassMethods: true
|
157
|
+
|
158
|
+
# New cops
|
159
|
+
# See https://docs.rubocop.org/en/latest/versioning/
|
160
|
+
|
161
|
+
Lint/RaiseException:
|
162
|
+
Enabled: true
|
163
|
+
|
164
|
+
Lint/StructNewOverride:
|
165
|
+
Enabled: true
|
166
|
+
|
167
|
+
Style/HashEachMethods:
|
168
|
+
Enabled: true
|
169
|
+
|
170
|
+
Style/HashTransformKeys:
|
171
|
+
Enabled: true
|
172
|
+
|
173
|
+
Style/HashTransformValues:
|
174
|
+
Enabled: true
|
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
@@ -4,9 +4,12 @@ source "https://rubygems.org"
|
|
4
4
|
|
5
5
|
gemspec
|
6
6
|
|
7
|
+
gem "rake"
|
8
|
+
|
7
9
|
gem "codecov", require: false
|
10
|
+
gem "memory_profiler", require: false
|
8
11
|
gem "minitest"
|
9
12
|
gem "minitest-reporters"
|
10
|
-
gem "
|
11
|
-
|
12
|
-
gem "
|
13
|
+
gem "mocha"
|
14
|
+
gem "rubocop", "0.81.0", require: false
|
15
|
+
gem "yard"
|
data/README.md
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
<tt>PublicSuffix</tt> is a Ruby domain name parser based on the [Public Suffix List](https://publicsuffix.org/).
|
4
4
|
|
5
|
-
[![Build Status](https://travis-ci.
|
6
|
-
[![Tidelift dependencies](https://tidelift.com/badges/
|
5
|
+
[![Build Status](https://travis-ci.com/weppos/publicsuffix-ruby.svg?branch=master)](https://travis-ci.com/weppos/publicsuffix-ruby)
|
6
|
+
[![Tidelift dependencies](https://tidelift.com/badges/package/rubygems/public_suffix)](https://tidelift.com/subscription/pkg/rubygems-public-suffix?utm_source=rubygems-public-suffix&utm_medium=referral&utm_campaign=enterprise)
|
7
7
|
|
8
8
|
|
9
9
|
## Links
|
data/SECURITY.md
CHANGED
@@ -16,7 +16,7 @@ Older major versions are no longer supported.
|
|
16
16
|
|
17
17
|
To make a report, please email weppos@weppos.net.
|
18
18
|
|
19
|
-
Please consider encrypting your report with GPG using the key (
|
19
|
+
Please consider encrypting your report with GPG using the key [0x420da82a989398df](https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x420da82a989398df).
|
20
20
|
|
21
21
|
```
|
22
22
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
@@ -99,3 +99,6 @@ q59MIs/Fb3SgaO+zN2FZTYp6dyRJHbeEz55JdOu6F+6ihZYH
|
|
99
99
|
```
|
100
100
|
|
101
101
|
|
102
|
+
## Tracking Security Updates
|
103
|
+
|
104
|
+
Information about security vulnerabilities are published in the [Security Advisories](https://github.com/weppos/publicsuffix-ruby/security/advisories) page.
|
data/data/list.txt
CHANGED
@@ -79,7 +79,6 @@ exchange.aero
|
|
79
79
|
express.aero
|
80
80
|
federation.aero
|
81
81
|
flight.aero
|
82
|
-
freight.aero
|
83
82
|
fuel.aero
|
84
83
|
gliding.aero
|
85
84
|
government.aero
|
@@ -719,11 +718,13 @@ gouv.ci
|
|
719
718
|
*.ck
|
720
719
|
!www.ck
|
721
720
|
|
722
|
-
// cl : https://
|
721
|
+
// cl : https://www.nic.cl
|
722
|
+
// Confirmed by .CL registry <hsalgado@nic.cl>
|
723
723
|
cl
|
724
|
-
|
725
|
-
gob.cl
|
724
|
+
aprendemas.cl
|
726
725
|
co.cl
|
726
|
+
gob.cl
|
727
|
+
gov.cl
|
727
728
|
mil.cl
|
728
729
|
|
729
730
|
// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
|
@@ -982,8 +983,19 @@ fi
|
|
982
983
|
// TODO: Check for updates (expected to be phased out around Q1/2009)
|
983
984
|
aland.fi
|
984
985
|
|
985
|
-
// fj :
|
986
|
-
|
986
|
+
// fj : http://domains.fj/
|
987
|
+
// Submitted by registry <garth.miller@cocca.org.nz> 2020-02-11
|
988
|
+
fj
|
989
|
+
ac.fj
|
990
|
+
biz.fj
|
991
|
+
com.fj
|
992
|
+
gov.fj
|
993
|
+
info.fj
|
994
|
+
mil.fj
|
995
|
+
name.fj
|
996
|
+
net.fj
|
997
|
+
org.fj
|
998
|
+
pro.fj
|
987
999
|
|
988
1000
|
// fk : https://en.wikipedia.org/wiki/.fk
|
989
1001
|
*.fk
|
@@ -6508,7 +6520,7 @@ k12.ok.us
|
|
6508
6520
|
k12.or.us
|
6509
6521
|
k12.pa.us
|
6510
6522
|
k12.pr.us
|
6511
|
-
k12.ri.us
|
6523
|
+
// k12.ri.us Removed at request of Kim Cournoyer <netsupport@staff.ri.net>
|
6512
6524
|
k12.sc.us
|
6513
6525
|
// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>
|
6514
6526
|
k12.tn.us
|
@@ -6795,8 +6807,13 @@ yt
|
|
6795
6807
|
مصر
|
6796
6808
|
|
6797
6809
|
// xn--e1a4c ("eu", Cyrillic) : EU
|
6810
|
+
// https://eurid.eu
|
6798
6811
|
ею
|
6799
6812
|
|
6813
|
+
// xn--qxa6a ("eu", Greek) : EU
|
6814
|
+
// https://eurid.eu
|
6815
|
+
ευ
|
6816
|
+
|
6800
6817
|
// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR
|
6801
6818
|
موريتانيا
|
6802
6819
|
|
@@ -7074,7 +7091,7 @@ org.zw
|
|
7074
7091
|
|
7075
7092
|
// newGTLDs
|
7076
7093
|
|
7077
|
-
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on
|
7094
|
+
// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2020-04-02T18:20:31Z
|
7078
7095
|
// This list is auto-generated, don't edit it manually.
|
7079
7096
|
// aaa : 2015-02-26 American Automobile Association, Inc.
|
7080
7097
|
aaa
|
@@ -7196,7 +7213,7 @@ alsace
|
|
7196
7213
|
// alstom : 2015-07-30 ALSTOM
|
7197
7214
|
alstom
|
7198
7215
|
|
7199
|
-
// amazon : 2019-12-19 Amazon
|
7216
|
+
// amazon : 2019-12-19 Amazon Registry Services, Inc.
|
7200
7217
|
amazon
|
7201
7218
|
|
7202
7219
|
// americanexpress : 2015-07-31 American Express Travel Related Services Company, Inc.
|
@@ -7376,7 +7393,7 @@ bcn
|
|
7376
7393
|
// beats : 2015-05-14 Beats Electronics, LLC
|
7377
7394
|
beats
|
7378
7395
|
|
7379
|
-
// beauty : 2015-12-03
|
7396
|
+
// beauty : 2015-12-03 XYZ.COM LLC
|
7380
7397
|
beauty
|
7381
7398
|
|
7382
7399
|
// beer : 2014-01-09 Minds + Machines Group Limited
|
@@ -7832,7 +7849,7 @@ cuisinella
|
|
7832
7849
|
// cymru : 2014-05-08 Nominet UK
|
7833
7850
|
cymru
|
7834
7851
|
|
7835
|
-
// cyou : 2015-01-22
|
7852
|
+
// cyou : 2015-01-22 ShortDot SA
|
7836
7853
|
cyou
|
7837
7854
|
|
7838
7855
|
// dabur : 2014-02-06 Dabur India Limited
|
@@ -8399,7 +8416,7 @@ guitars
|
|
8399
8416
|
// guru : 2013-08-27 Binky Moon, LLC
|
8400
8417
|
guru
|
8401
8418
|
|
8402
|
-
// hair : 2015-12-03
|
8419
|
+
// hair : 2015-12-03 XYZ.COM LLC
|
8403
8420
|
hair
|
8404
8421
|
|
8405
8422
|
// hamburg : 2014-02-20 Hamburg Top-Level-Domain GmbH
|
@@ -8798,9 +8815,6 @@ lexus
|
|
8798
8815
|
// lgbt : 2014-05-08 Afilias Limited
|
8799
8816
|
lgbt
|
8800
8817
|
|
8801
|
-
// liaison : 2014-10-02 Liaison Technologies, Incorporated
|
8802
|
-
liaison
|
8803
|
-
|
8804
8818
|
// lidl : 2014-09-18 Schwarz Domains und Services GmbH & Co. KG
|
8805
8819
|
lidl
|
8806
8820
|
|
@@ -8921,7 +8935,7 @@ maif
|
|
8921
8935
|
// maison : 2013-12-05 Binky Moon, LLC
|
8922
8936
|
maison
|
8923
8937
|
|
8924
|
-
// makeup : 2015-01-15
|
8938
|
+
// makeup : 2015-01-15 XYZ.COM LLC
|
8925
8939
|
makeup
|
8926
8940
|
|
8927
8941
|
// man : 2014-12-04 MAN SE
|
@@ -9080,9 +9094,6 @@ mutual
|
|
9080
9094
|
// nab : 2015-08-20 National Australia Bank Limited
|
9081
9095
|
nab
|
9082
9096
|
|
9083
|
-
// nadex : 2014-12-11 Nadex Domains, Inc.
|
9084
|
-
nadex
|
9085
|
-
|
9086
9097
|
// nagoya : 2013-10-24 GMO Registry, Inc.
|
9087
9098
|
nagoya
|
9088
9099
|
|
@@ -9764,7 +9775,7 @@ site
|
|
9764
9775
|
// ski : 2015-04-09 Afilias Limited
|
9765
9776
|
ski
|
9766
9777
|
|
9767
|
-
// skin : 2015-01-15
|
9778
|
+
// skin : 2015-01-15 XYZ.COM LLC
|
9768
9779
|
skin
|
9769
9780
|
|
9770
9781
|
// sky : 2014-06-19 Sky International AG
|
@@ -10052,7 +10063,7 @@ trading
|
|
10052
10063
|
// training : 2013-11-07 Binky Moon, LLC
|
10053
10064
|
training
|
10054
10065
|
|
10055
|
-
// travel :
|
10066
|
+
// travel : 2015-10-09 Dog Beach, LLC
|
10056
10067
|
travel
|
10057
10068
|
|
10058
10069
|
// travelchannel : 2015-07-02 Lifestyle Domain Holdings, Inc.
|
@@ -10160,9 +10171,6 @@ visa
|
|
10160
10171
|
// vision : 2013-12-05 Binky Moon, LLC
|
10161
10172
|
vision
|
10162
10173
|
|
10163
|
-
// vistaprint : 2014-09-18 Vistaprint Limited
|
10164
|
-
vistaprint
|
10165
|
-
|
10166
10174
|
// viva : 2014-11-07 Saudi Telecom Company
|
10167
10175
|
viva
|
10168
10176
|
|
@@ -10340,7 +10348,7 @@ xin
|
|
10340
10348
|
// xn--45q11c : 2013-11-21 Zodiac Gemini Ltd
|
10341
10349
|
八卦
|
10342
10350
|
|
10343
|
-
// xn--4gbrim : 2013-10-04
|
10351
|
+
// xn--4gbrim : 2013-10-04 Fans TLD Limited
|
10344
10352
|
موقع
|
10345
10353
|
|
10346
10354
|
// xn--55qw42g : 2013-11-08 China Organizational Name Administration Center
|
@@ -10400,7 +10408,7 @@ xin
|
|
10400
10408
|
// xn--cck2b3b : 2015-02-26 Amazon Registry Services, Inc.
|
10401
10409
|
ストア
|
10402
10410
|
|
10403
|
-
// xn--cckwcxetd : 2019-12-19 Amazon
|
10411
|
+
// xn--cckwcxetd : 2019-12-19 Amazon Registry Services, Inc.
|
10404
10412
|
アマゾン
|
10405
10413
|
|
10406
10414
|
// xn--cg4bki : 2013-09-27 SAMSUNG SDS CO., LTD
|
@@ -10424,9 +10432,6 @@ xin
|
|
10424
10432
|
// xn--efvy88h : 2014-08-22 Guangzhou YU Wei Information Technology Co., Ltd.
|
10425
10433
|
新闻
|
10426
10434
|
|
10427
|
-
// xn--estv75g : 2015-02-19 Industrial and Commercial Bank of China Limited
|
10428
|
-
工行
|
10429
|
-
|
10430
10435
|
// xn--fct429k : 2015-04-09 Amazon Registry Services, Inc.
|
10431
10436
|
家電
|
10432
10437
|
|
@@ -10472,7 +10477,7 @@ xin
|
|
10472
10477
|
// xn--j1aef : 2015-01-15 VeriSign Sarl
|
10473
10478
|
ком
|
10474
10479
|
|
10475
|
-
// xn--jlq480n2rg : 2019-12-19 Amazon
|
10480
|
+
// xn--jlq480n2rg : 2019-12-19 Amazon Registry Services, Inc.
|
10476
10481
|
亚马逊
|
10477
10482
|
|
10478
10483
|
// xn--jlq61u9w7b : 2015-01-08 Nokia Corporation
|
@@ -10535,7 +10540,7 @@ xin
|
|
10535
10540
|
// xn--nyqy26a : 2014-11-07 Stable Tone Limited
|
10536
10541
|
健康
|
10537
10542
|
|
10538
|
-
// xn--otu796d : 2017-08-06
|
10543
|
+
// xn--otu796d : 2017-08-06 Jiang Yu Liang Cai Technology Company Limited
|
10539
10544
|
招聘
|
10540
10545
|
|
10541
10546
|
// xn--p1acf : 2013-12-12 Rusnames Limited
|
@@ -10957,8 +10962,9 @@ certmgr.org
|
|
10957
10962
|
xenapponazure.com
|
10958
10963
|
|
10959
10964
|
// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/
|
10960
|
-
// Submitted by Rishabh Nambiar <
|
10965
|
+
// Submitted by Rishabh Nambiar & Michael Brown <team@discourse.org>
|
10961
10966
|
discourse.group
|
10967
|
+
discourse.team
|
10962
10968
|
|
10963
10969
|
// ClearVox : http://www.clearvox.nl/
|
10964
10970
|
// Submitted by Leon Rowland <leon@clearvox.nl>
|
@@ -11688,6 +11694,7 @@ vologda.su
|
|
11688
11694
|
// Fancy Bits, LLC : http://getchannels.com
|
11689
11695
|
// Submitted by Aman Gupta <aman@getchannels.com>
|
11690
11696
|
channelsdvr.net
|
11697
|
+
u.channelsdvr.net
|
11691
11698
|
|
11692
11699
|
// Fastly Inc. : http://www.fastly.com/
|
11693
11700
|
// Submitted by Fastly Security <security@fastly.com>
|
@@ -11706,6 +11713,10 @@ global.ssl.fastly.net
|
|
11706
11713
|
// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>
|
11707
11714
|
fastpanel.direct
|
11708
11715
|
fastvps-server.com
|
11716
|
+
myfast.space
|
11717
|
+
myfast.host
|
11718
|
+
fastvps.site
|
11719
|
+
fastvps.host
|
11709
11720
|
|
11710
11721
|
// Featherhead : https://featherhead.xyz/
|
11711
11722
|
// Submitted by Simon Menke <simon@featherhead.xyz>
|
@@ -11719,6 +11730,13 @@ cloud.fedoraproject.org
|
|
11719
11730
|
app.os.fedoraproject.org
|
11720
11731
|
app.os.stg.fedoraproject.org
|
11721
11732
|
|
11733
|
+
// FearWorks Media Ltd. : https://fearworksmedia.co.uk
|
11734
|
+
// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
|
11735
|
+
conn.uk
|
11736
|
+
copro.uk
|
11737
|
+
couk.me
|
11738
|
+
ukco.me
|
11739
|
+
|
11722
11740
|
// Fermax : https://fermax.com/
|
11723
11741
|
// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
|
11724
11742
|
mydobiss.com
|
@@ -11739,7 +11757,6 @@ firebaseapp.com
|
|
11739
11757
|
|
11740
11758
|
// Flynn : https://flynn.io
|
11741
11759
|
// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
|
11742
|
-
flynnhub.com
|
11743
11760
|
flynnhosting.net
|
11744
11761
|
|
11745
11762
|
// Frederik Braun https://frederik-braun.com
|
@@ -11911,6 +11928,10 @@ publishproxy.com
|
|
11911
11928
|
withgoogle.com
|
11912
11929
|
withyoutube.com
|
11913
11930
|
|
11931
|
+
// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za
|
11932
|
+
// Submitted by Aaron Marais <its_me@aaronleem.co.za>
|
11933
|
+
graphox.us
|
11934
|
+
|
11914
11935
|
// Group 53, LLC : https://www.group53.com
|
11915
11936
|
// Submitted by Tyler Todd <noc@nova53.net>
|
11916
11937
|
awsmppl.com
|
@@ -12228,8 +12249,8 @@ eu.meteorapp.com
|
|
12228
12249
|
co.pl
|
12229
12250
|
|
12230
12251
|
// Microsoft Corporation : http://microsoft.com
|
12231
|
-
// Submitted by
|
12232
|
-
azurecontainer.io
|
12252
|
+
// Submitted by Mostafa Elzeiny <moelzein@microsoft.com>
|
12253
|
+
*.azurecontainer.io
|
12233
12254
|
azurewebsites.net
|
12234
12255
|
azure-mobile.net
|
12235
12256
|
cloudapp.net
|
@@ -12432,12 +12453,13 @@ pcloud.host
|
|
12432
12453
|
nyc.mn
|
12433
12454
|
|
12434
12455
|
// NymNom : https://nymnom.com/
|
12435
|
-
// Submitted by
|
12456
|
+
// Submitted by NymNom <psl@nymnom.com>
|
12436
12457
|
nom.ae
|
12437
12458
|
nom.af
|
12438
12459
|
nom.ai
|
12439
12460
|
nom.al
|
12440
12461
|
nym.by
|
12462
|
+
nom.bz
|
12441
12463
|
nym.bz
|
12442
12464
|
nom.cl
|
12443
12465
|
nym.ec
|
@@ -12459,6 +12481,7 @@ nom.li
|
|
12459
12481
|
nym.li
|
12460
12482
|
nym.lt
|
12461
12483
|
nym.lu
|
12484
|
+
nom.lv
|
12462
12485
|
nym.me
|
12463
12486
|
nom.mk
|
12464
12487
|
nym.mn
|
@@ -12566,6 +12589,12 @@ on-web.fr
|
|
12566
12589
|
*.platform.sh
|
12567
12590
|
*.platformsh.site
|
12568
12591
|
|
12592
|
+
// Platter: https://platter.dev
|
12593
|
+
// Submitted by Patrick Flor <patrick@platter.dev>
|
12594
|
+
platter-app.com
|
12595
|
+
platter-app.dev
|
12596
|
+
platterp.us
|
12597
|
+
|
12569
12598
|
// Port53 : https://port53.io/
|
12570
12599
|
// Submitted by Maximilian Schieder <maxi@zeug.co>
|
12571
12600
|
dyn53.io
|
@@ -12607,6 +12636,10 @@ pubtls.org
|
|
12607
12636
|
// Submitted by Xavier De Cock <xdecock@gmail.com>
|
12608
12637
|
qualifioapp.com
|
12609
12638
|
|
12639
|
+
// QuickBackend: https://www.quickbackend.com
|
12640
|
+
// Submitted by Dani Biro <dani@pymet.com>
|
12641
|
+
qbuser.com
|
12642
|
+
|
12610
12643
|
// Redstar Consultants : https://www.redstarconsultants.com/
|
12611
12644
|
// Submitted by Jons Slemmer <jons@redstarconsultants.com>
|
12612
12645
|
instantcloud.cn
|
@@ -12721,6 +12754,10 @@ my-firewall.org
|
|
12721
12754
|
myfirewall.org
|
12722
12755
|
spdns.org
|
12723
12756
|
|
12757
|
+
// Senseering GmbH : https://www.senseering.de
|
12758
|
+
// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
|
12759
|
+
senseering.net
|
12760
|
+
|
12724
12761
|
// Service Online LLC : http://drs.ua/
|
12725
12762
|
// Submitted by Serhii Bulakh <support@drs.ua>
|
12726
12763
|
biz.ua
|
@@ -12771,6 +12808,10 @@ static.land
|
|
12771
12808
|
dev.static.land
|
12772
12809
|
sites.static.land
|
12773
12810
|
|
12811
|
+
// Sony Interactive Entertainment LLC : https://sie.com/
|
12812
|
+
// Submitted by David Coles <david.coles@sony.com>
|
12813
|
+
playstation-cloud.com
|
12814
|
+
|
12774
12815
|
// SourceLair PC : https://www.sourcelair.com
|
12775
12816
|
// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
|
12776
12817
|
apps.lair.io
|
@@ -12945,6 +12986,11 @@ inc.hk
|
|
12945
12986
|
virtualuser.de
|
12946
12987
|
virtual-user.de
|
12947
12988
|
|
12989
|
+
// urown.net : https://urown.net
|
12990
|
+
// Submitted by Hostmaster <hostmaster@urown.net>
|
12991
|
+
urown.cloud
|
12992
|
+
dnsupdate.info
|
12993
|
+
|
12948
12994
|
// .US
|
12949
12995
|
// Submitted by Ed Moore <Ed.Moore@lib.de.us>
|
12950
12996
|
lib.de.us
|
@@ -12988,8 +13034,18 @@ wedeploy.sh
|
|
12988
13034
|
remotewd.com
|
12989
13035
|
|
12990
13036
|
// Wikimedia Labs : https://wikitech.wikimedia.org
|
12991
|
-
// Submitted by
|
13037
|
+
// Submitted by Arturo Borrero Gonzalez <aborrero@wikimedia.org>
|
12992
13038
|
wmflabs.org
|
13039
|
+
toolforge.org
|
13040
|
+
wmcloud.org
|
13041
|
+
|
13042
|
+
// WoltLab GmbH : https://www.woltlab.com
|
13043
|
+
// Submitted by Tim Düsterhus <security@woltlab.cloud>
|
13044
|
+
myforum.community
|
13045
|
+
community-pro.de
|
13046
|
+
diskussionsbereich.de
|
13047
|
+
community-pro.net
|
13048
|
+
meinforum.net
|
12993
13049
|
|
12994
13050
|
// XenonCloud GbR: https://xenoncloud.net
|
12995
13051
|
// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>
|
@@ -13053,7 +13109,6 @@ bss.design
|
|
13053
13109
|
// Submitted by Emil Stahl <esp@zitcom.dk>
|
13054
13110
|
basicserver.io
|
13055
13111
|
virtualserver.io
|
13056
|
-
site.builder.nu
|
13057
13112
|
enterprisecloud.nu
|
13058
13113
|
|
13059
13114
|
// ===END PRIVATE DOMAINS===
|
data/lib/public_suffix/list.rb
CHANGED
data/lib/public_suffix/rule.rb
CHANGED
data/public_suffix.gemspec
CHANGED
@@ -18,8 +18,4 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.files = `git ls-files`.split("\n")
|
19
19
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
20
|
s.extra_rdoc_files = %w( LICENSE.txt )
|
21
|
-
|
22
|
-
s.add_development_dependency "rake"
|
23
|
-
s.add_development_dependency "mocha"
|
24
|
-
s.add_development_dependency "yard"
|
25
21
|
end
|
data/test/acceptance_test.rb
CHANGED
@@ -5,14 +5,14 @@ require "test_helper"
|
|
5
5
|
class AcceptanceTest < Minitest::Test
|
6
6
|
|
7
7
|
VALID_CASES = [
|
8
|
-
|
9
|
-
|
8
|
+
["example.com", "example.com", [nil, "example", "com"]],
|
9
|
+
["foo.example.com", "example.com", ["foo", "example", "com"]],
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
["verybritish.co.uk", "verybritish.co.uk", [nil, "verybritish", "co.uk"]],
|
12
|
+
["foo.verybritish.co.uk", "verybritish.co.uk", ["foo", "verybritish", "co.uk"]],
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
["parliament.uk", "parliament.uk", [nil, "parliament", "uk"]],
|
15
|
+
["foo.parliament.uk", "parliament.uk", ["foo", "parliament", "uk"]],
|
16
16
|
].freeze
|
17
17
|
|
18
18
|
def test_valid
|
@@ -34,10 +34,10 @@ class AcceptanceTest < Minitest::Test
|
|
34
34
|
|
35
35
|
|
36
36
|
INVALID_CASES = [
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
["nic.bd", PublicSuffix::DomainNotAllowed],
|
38
|
+
[nil, PublicSuffix::DomainInvalid],
|
39
|
+
["", PublicSuffix::DomainInvalid],
|
40
|
+
[" ", PublicSuffix::DomainInvalid],
|
41
41
|
].freeze
|
42
42
|
|
43
43
|
def test_invalid
|
@@ -49,16 +49,16 @@ class AcceptanceTest < Minitest::Test
|
|
49
49
|
|
50
50
|
|
51
51
|
REJECTED_CASES = [
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
52
|
+
["www. .com", true],
|
53
|
+
["foo.co..uk", true],
|
54
|
+
["goo,gle.com", true],
|
55
|
+
["-google.com", true],
|
56
|
+
["google-.com", true],
|
57
|
+
|
58
|
+
# This case was covered in GH-15.
|
59
|
+
# I decided to cover this case because it's not easily reproducible with URI.parse
|
60
|
+
# and can lead to several false positives.
|
61
|
+
["http://google.com", false],
|
62
62
|
].freeze
|
63
63
|
|
64
64
|
def test_rejected
|
@@ -72,9 +72,9 @@ class AcceptanceTest < Minitest::Test
|
|
72
72
|
|
73
73
|
|
74
74
|
CASE_CASES = [
|
75
|
-
|
76
|
-
|
77
|
-
|
75
|
+
["Www.google.com", %w( www google com )],
|
76
|
+
["www.Google.com", %w( www google com )],
|
77
|
+
["www.google.Com", %w( www google com )],
|
78
78
|
].freeze
|
79
79
|
|
80
80
|
def test_ignore_case
|
@@ -90,10 +90,10 @@ class AcceptanceTest < Minitest::Test
|
|
90
90
|
|
91
91
|
|
92
92
|
INCLUDE_PRIVATE_CASES = [
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
93
|
+
["blogspot.com", true, "blogspot.com"],
|
94
|
+
["blogspot.com", false, nil],
|
95
|
+
["subdomain.blogspot.com", true, "blogspot.com"],
|
96
|
+
["subdomain.blogspot.com", false, "subdomain.blogspot.com"],
|
97
97
|
].freeze
|
98
98
|
|
99
99
|
def test_ignore_private
|
@@ -115,14 +115,14 @@ class AcceptanceTest < Minitest::Test
|
|
115
115
|
def valid_uri?(name)
|
116
116
|
uri = URI.parse(name)
|
117
117
|
!uri.host.nil?
|
118
|
-
rescue
|
118
|
+
rescue StandardError
|
119
119
|
false
|
120
120
|
end
|
121
121
|
|
122
122
|
def valid_domain?(name)
|
123
123
|
uri = URI.parse(name)
|
124
124
|
!uri.host.nil? && uri.scheme.nil?
|
125
|
-
rescue
|
125
|
+
rescue StandardError
|
126
126
|
false
|
127
127
|
end
|
128
128
|
|
@@ -141,13 +141,13 @@ class PublicSuffixTest < Minitest::Test
|
|
141
141
|
|
142
142
|
def test_self_normalize
|
143
143
|
[
|
144
|
-
|
145
|
-
|
146
|
-
|
144
|
+
["com", "com"],
|
145
|
+
["example.com", "example.com"],
|
146
|
+
["www.example.com", "www.example.com"],
|
147
147
|
|
148
|
-
|
149
|
-
|
150
|
-
|
148
|
+
["example.com.", "example.com"], # strip FQDN
|
149
|
+
[" example.com ", "example.com"], # strip spaces
|
150
|
+
["Example.COM", "example.com"], # downcase
|
151
151
|
].each do |input, output|
|
152
152
|
assert_equal output, PublicSuffix.normalize(input)
|
153
153
|
end
|
@@ -155,9 +155,9 @@ class PublicSuffixTest < Minitest::Test
|
|
155
155
|
|
156
156
|
def test_normalize_blank
|
157
157
|
[
|
158
|
-
|
159
|
-
|
160
|
-
|
158
|
+
nil,
|
159
|
+
"",
|
160
|
+
" ",
|
161
161
|
].each do |input|
|
162
162
|
error = PublicSuffix.normalize(input)
|
163
163
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
@@ -167,7 +167,7 @@ class PublicSuffixTest < Minitest::Test
|
|
167
167
|
|
168
168
|
def test_normalize_scheme
|
169
169
|
[
|
170
|
-
|
170
|
+
"https://google.com",
|
171
171
|
].each do |input|
|
172
172
|
error = PublicSuffix.normalize(input)
|
173
173
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
@@ -177,7 +177,7 @@ class PublicSuffixTest < Minitest::Test
|
|
177
177
|
|
178
178
|
def test_normalize_leading_dot
|
179
179
|
[
|
180
|
-
|
180
|
+
".google.com",
|
181
181
|
].each do |input|
|
182
182
|
error = PublicSuffix.normalize(input)
|
183
183
|
assert_instance_of PublicSuffix::DomainInvalid, error
|
data/test/unit/rule_test.rb
CHANGED
@@ -70,36 +70,36 @@ class PublicSuffix::RuleBaseTest < Minitest::Test
|
|
70
70
|
|
71
71
|
def test_match
|
72
72
|
[
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
73
|
+
# standard match
|
74
|
+
[PublicSuffix::Rule.factory("uk"), "uk", true],
|
75
|
+
[PublicSuffix::Rule.factory("uk"), "example.uk", true],
|
76
|
+
[PublicSuffix::Rule.factory("uk"), "example.co.uk", true],
|
77
|
+
[PublicSuffix::Rule.factory("co.uk"), "example.co.uk", true],
|
78
|
+
|
79
|
+
# FIXME
|
80
|
+
# [PublicSuffix::Rule.factory("*.com"), "com", false],
|
81
|
+
[PublicSuffix::Rule.factory("*.com"), "example.com", true],
|
82
|
+
[PublicSuffix::Rule.factory("*.com"), "foo.example.com", true],
|
83
|
+
[PublicSuffix::Rule.factory("!example.com"), "com", false],
|
84
|
+
[PublicSuffix::Rule.factory("!example.com"), "example.com", true],
|
85
|
+
[PublicSuffix::Rule.factory("!example.com"), "foo.example.com", true],
|
86
|
+
|
87
|
+
# TLD mismatch
|
88
|
+
[PublicSuffix::Rule.factory("gk"), "example.uk", false],
|
89
|
+
[PublicSuffix::Rule.factory("gk"), "example.co.uk", false],
|
90
|
+
[PublicSuffix::Rule.factory("co.uk"), "uk", false],
|
91
|
+
|
92
|
+
# general mismatch
|
93
|
+
[PublicSuffix::Rule.factory("uk.co"), "example.co.uk", false],
|
94
|
+
[PublicSuffix::Rule.factory("go.uk"), "example.co.uk", false],
|
95
|
+
[PublicSuffix::Rule.factory("co.uk"), "uk", false],
|
96
|
+
|
97
|
+
# partial matches/mismatches
|
98
|
+
[PublicSuffix::Rule.factory("co"), "example.co.uk", false],
|
99
|
+
[PublicSuffix::Rule.factory("example"), "example.uk", false],
|
100
|
+
[PublicSuffix::Rule.factory("le.it"), "example.it", false],
|
101
|
+
[PublicSuffix::Rule.factory("le.it"), "le.it", true],
|
102
|
+
[PublicSuffix::Rule.factory("le.it"), "foo.le.it", true],
|
103
103
|
|
104
104
|
].each do |rule, input, expected|
|
105
105
|
assert_equal expected, rule.match?(input)
|
metadata
CHANGED
@@ -1,57 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: public_suffix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simone Carletti
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: rake
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: mocha
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: yard
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
11
|
+
date: 2020-04-05 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
55
13
|
description: PublicSuffix can parse and decompose a domain name into top level domain,
|
56
14
|
domain and subdomains.
|
57
15
|
email:
|
@@ -64,7 +22,7 @@ files:
|
|
64
22
|
- ".github/FUNDING.yml"
|
65
23
|
- ".gitignore"
|
66
24
|
- ".rubocop.yml"
|
67
|
-
- ".
|
25
|
+
- ".rubocop_opinionated.yml"
|
68
26
|
- ".travis.yml"
|
69
27
|
- ".yardopts"
|
70
28
|
- 2.0-Upgrade.md
|