build-internal-chn-domains.js 922 B

12345678910111213141516171819202122232425
  1. // @ts-check
  2. const { fetchRemoteTextAndCreateReadlineInterface } = require('./lib/fetch-remote-text-by-line');
  3. const { processLine } = require('./lib/process-line');
  4. const path = require('path');
  5. const fse = require('fs-extra');
  6. const fs = require('fs');
  7. (async () => {
  8. /** @type {Set<string>} */
  9. const result = new Set();
  10. for await (const line of await fetchRemoteTextAndCreateReadlineInterface('https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf')) {
  11. const l = processLine(line);
  12. if (l) {
  13. result.add(
  14. l.replace('server=/', '').replace('/114.114.114.114', '')
  15. );
  16. }
  17. }
  18. await fse.ensureDir(path.resolve(__dirname, '../List/internal'));
  19. await fs.promises.writeFile(
  20. path.resolve(__dirname, '../List/internal/accelerated-china-domains.txt'),
  21. `${Array.from(result).map(line => `SUFFIX,${line}`).join('\n')}\n`
  22. );
  23. })();