Support wildcard TLD in all lists (#1622)

This commit is contained in:
nobody 2024-03-17 10:44:52 +01:00
parent 9bedf3e9d7
commit 760c083f29
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
3 changed files with 18 additions and 4 deletions

View File

@ -175,11 +175,17 @@ helpers.getWildcard = function (initiatorDomain) {
domain = domain.join().replace(/,/g, '.');
return domain;
}
};
helpers.getTopLevelDomain = function (initiatorDomain) {
let domain = initiatorDomain.split('.');
domain[domain.length - 2] = '*';
return `${domain[domain.length - 2]}.${domain[domain.length - 1]}`;
};
helpers.checkAllowlisted = function (domain, list) {
let domainWithoutPrefix, wildcard;
let domainWithoutPrefix, wildcard, tld;
if (domain === null) {
return false;
@ -189,8 +195,13 @@ helpers.checkAllowlisted = function (domain, list) {
domainWithoutPrefix = domain.slice(Address.WWW_PREFIX.length);
}
wildcard = helpers.getWildcard(domain);
tld = helpers.getTopLevelDomain(domain);
return Boolean(list[domain] || list[domainWithoutPrefix] || list[wildcard] || list[domainWithoutPrefix]);
return Boolean(list[domain] ||
list[domainWithoutPrefix] ||
list[wildcard] ||
list[domainWithoutPrefix] ||
list[tld]);
};
helpers.extractFilenameFromPath = function (path) {

View File

@ -111,6 +111,7 @@
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html
@ -163,6 +164,7 @@
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html
@ -202,6 +204,7 @@
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> sub.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.example.com<br>
<img class="checked-unchecked" src="../../icons/checked.svg" alt=""> *.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://*.example.com<br>
<img class="checked-unchecked" src="../../icons/unchecked.svg" alt=""> https://example.com/page/example.html

View File

@ -25,9 +25,9 @@
<h2>New in LocalCDN:</h2>
</div>
<div class="release-notes-area">
<p></p>
<p>Improved</p>
<ul>
<li></li>
<li>Support wildcard TLD in all lists (<a href="https://codeberg.org/nobody/LocalCDN/issues/1622">#1622</a>)</li>
</ul>
</div>
<div id="generator-section">