mirror of
https://github.com/Nezumi-2711/cloudflare-gateway-pihole-scripts.git
synced 2026-09-22 05:31:50 +00:00
Merge branch 'upstream' into feature/workflow-concurrency
This commit is contained in:
@@ -55,22 +55,32 @@ await readFile(resolve(blocklistFilename), (line, rl) => {
|
||||
|
||||
if (!_line) return;
|
||||
|
||||
// Check if the current line is a comment in any format
|
||||
if (isComment(_line)) return;
|
||||
|
||||
// Remove prefixes and suffixes in hosts, wildcard or adblock format
|
||||
const domain = normalizeDomain(_line);
|
||||
|
||||
// Check if it is a valid domain which is not a URL or does not contain
|
||||
// characters like * in the middle of the domain
|
||||
if (!isValidDomain(domain)) return;
|
||||
|
||||
processedDomainCount++;
|
||||
|
||||
// Get all the levels of the domain and check from the highest
|
||||
// because we are blocking all subdomains
|
||||
// Example: fourth.third.example.com => ["example.com", "third.example.com", "fourth.third.example.com"]
|
||||
const anyDomainExists = extractDomain(domain)
|
||||
.reverse()
|
||||
.some((item) => {
|
||||
if (blocklist.has(item)) {
|
||||
if (item === domain) {
|
||||
// The exact domain is already blocked
|
||||
console.log(`Found ${item} in blocklist already - Skipping`);
|
||||
duplicateDomainCount++;
|
||||
} else {
|
||||
// The higher-level domain is already blocked
|
||||
// so it's not necessary to block this domain
|
||||
console.log(
|
||||
`Found ${item} in blocklist already - Skipping ${domain}`
|
||||
);
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
import { ACCOUNT_EMAIL, ACCOUNT_ID, API_HOST, API_TOKEN } from "./constants.js";
|
||||
|
||||
if (!globalThis.fetch) {
|
||||
console.warn("\nIMPORTANT: Your Node.js version doesn't have native fetch support and may not be supported in the future. Please update to v18 or later.\n")
|
||||
// Advise what to do if running in GitHub Actions
|
||||
if (process.env.GITHUB_WORKSPACE) console.warn("Since you're running in GitHub Actions, you should update your Actions workflow configuration to use Node v18 or higher.")
|
||||
// Import node-fetch since there's no native fetch in this environment
|
||||
globalThis.fetch = (await import("node-fetch")).default;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user