mirror of
https://github.com/Nezumi-2711/cloudflare-gateway-pihole-scripts.git
synced 2026-09-22 13:38:37 +00:00
Don't exit if whitelist doesn't exit
This commit is contained in:
+28
-26
@@ -14,31 +14,30 @@ let whitelist = []; // Define an empty array for the whitelist
|
|||||||
// Read whitelist.csv and parse
|
// Read whitelist.csv and parse
|
||||||
fs.readFile('whitelist.csv', 'utf8', async (err, data) => {
|
fs.readFile('whitelist.csv', 'utf8', async (err, data) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error reading whitelist.csv:', err);
|
console.warn('Error reading whitelist.csv:', err);
|
||||||
return;
|
console.warn('Assuming whitelist is empty.')
|
||||||
}
|
} else {
|
||||||
|
// Convert into array and cleanup whitelist
|
||||||
// Convert into array and cleanup whitelist
|
const domainValidationPattern = /^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/;
|
||||||
const domainValidationPattern = /^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/;
|
whitelist = data.split('\n').filter(domain => {
|
||||||
let whitelist = data.split('\n').filter(domain => {
|
// Remove entire lines starting with "127.0.0.1" or "::1", empty lines or comments
|
||||||
// Remove entire lines starting with "127.0.0.1" or "::1", empty lines or comments
|
return domain && !domain.startsWith('#') && !domain.startsWith('//') && !domain.startsWith('/*') && !domain.startsWith('*/') && !(domain === '\r');
|
||||||
return domain && !domain.startsWith('#') && !domain.startsWith('//') && !domain.startsWith('/*') && !domain.startsWith('*/') && !(domain === '\r');
|
}).map(domain => {
|
||||||
}).map(domain => {
|
// Remove "\r", "0.0.0.0 ", "127.0.0.1 ", "::1 " and similar from domain items
|
||||||
// Remove "\r", "0.0.0.0 ", "127.0.0.1 ", "::1 " and similar from domain items
|
return domain
|
||||||
return domain
|
.replace('\r', '')
|
||||||
.replace('\r', '')
|
.replace('0.0.0.0 ', '')
|
||||||
.replace('0.0.0.0 ', '')
|
.replace('127.0.0.1 ', '')
|
||||||
.replace('127.0.0.1 ', '')
|
.replace('::1 ', '')
|
||||||
.replace('::1 ', '')
|
.replace(':: ', '')
|
||||||
.replace(':: ', '')
|
.replace('||', '')
|
||||||
.replace('||', '')
|
.replace('@@||', '')
|
||||||
.replace('@@||', '')
|
.replace('^$important', '')
|
||||||
.replace('^$important', '')
|
.replace('^', '');
|
||||||
.replace('^', '');
|
}).filter(domain => {
|
||||||
}).filter(domain => {
|
return domainValidationPattern.test(domain);
|
||||||
return domainValidationPattern.test(domain);
|
});
|
||||||
});
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
@@ -63,7 +62,10 @@ fs.readFile('input.csv', 'utf8', async (err, data) => {
|
|||||||
.replace('::1 ', '')
|
.replace('::1 ', '')
|
||||||
.replace(':: ', '')
|
.replace(':: ', '')
|
||||||
.replace('^', '')
|
.replace('^', '')
|
||||||
.replace('||', '');
|
.replace('||', '')
|
||||||
|
.replace('@@||', '')
|
||||||
|
.replace('^$important', '')
|
||||||
|
.replace('^', '');
|
||||||
}).filter(domain => {
|
}).filter(domain => {
|
||||||
return domainValidationPattern.test(domain);
|
return domainValidationPattern.test(domain);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user