build-cdn-conf.js 736 B

123456789101112131415161718192021222324
  1. const { fetch } = require('undici');
  2. const fs = require('fs');
  3. const path = require('path');
  4. (async () => {
  5. const domains = (await (await fetch('https://publicsuffix.org/list/public_suffix_list.dat')).text()).split('\n');
  6. const awsS3 = domains.filter(line => {
  7. if (line) {
  8. return line.startsWith('s3') && line.endsWith('.amazonaws.com') && !line.includes('cn-')
  9. }
  10. return false;
  11. })
  12. const filePath = path.resolve(__dirname, '../List/non_ip/cdn.conf');
  13. const content = (await fs.promises.readFile(filePath, 'utf-8'))
  14. .replace(
  15. '# --- [AWS S3 Replace Me] ---',
  16. awsS3.map(domain => `DOMAIN-SUFFIX,${domain}`).join('\n')
  17. );
  18. await fs.promises.writeFile(filePath, content, 'utf-8');
  19. })();