diff --git a/cf_list_create.js b/cf_list_create.js index fc87b6a..422f03a 100644 --- a/cf_list_create.js +++ b/cf_list_create.js @@ -14,31 +14,30 @@ let whitelist = []; // Define an empty array for the whitelist // Read whitelist.csv and parse fs.readFile('whitelist.csv', 'utf8', async (err, data) => { if (err) { - console.error('Error reading whitelist.csv:', err); - return; - } - - // Convert into array and cleanup whitelist - const domainValidationPattern = /^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/; - let whitelist = data.split('\n').filter(domain => { - // 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'); - }).map(domain => { - // Remove "\r", "0.0.0.0 ", "127.0.0.1 ", "::1 " and similar from domain items - return domain - .replace('\r', '') - .replace('0.0.0.0 ', '') - .replace('127.0.0.1 ', '') - .replace('::1 ', '') - .replace(':: ', '') - .replace('||', '') - .replace('@@||', '') - .replace('^$important', '') - .replace('^', ''); - }).filter(domain => { - return domainValidationPattern.test(domain); - }); - + console.warn('Error reading whitelist.csv:', err); + console.warn('Assuming whitelist is empty.') + } else { + // Convert into array and cleanup whitelist + const domainValidationPattern = /^(?!-)[A-Za-z0-9-]+([\-\.]{1}[a-z0-9]+)*\.[A-Za-z]{2,6}$/; + whitelist = data.split('\n').filter(domain => { + // 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'); + }).map(domain => { + // Remove "\r", "0.0.0.0 ", "127.0.0.1 ", "::1 " and similar from domain items + return domain + .replace('\r', '') + .replace('0.0.0.0 ', '') + .replace('127.0.0.1 ', '') + .replace('::1 ', '') + .replace(':: ', '') + .replace('||', '') + .replace('@@||', '') + .replace('^$important', '') + .replace('^', ''); + }).filter(domain => { + return domainValidationPattern.test(domain); + }); + } }); @@ -63,7 +62,10 @@ fs.readFile('input.csv', 'utf8', async (err, data) => { .replace('::1 ', '') .replace(':: ', '') .replace('^', '') - .replace('||', ''); + .replace('||', '') + .replace('@@||', '') + .replace('^$important', '') + .replace('^', ''); }).filter(domain => { return domainValidationPattern.test(domain); });