build-internal-chn-domains.ts 772 B

123456789101112131415161718192021
  1. import path from 'path';
  2. import fsp from 'fs/promises';
  3. import { parseFelixDnsmasq } from './lib/parse-dnsmasq';
  4. import { task } from './lib/trace-runner';
  5. import { compareAndWriteFile } from './lib/create-file';
  6. export const buildInternalChnDomains = task(import.meta.path, async () => {
  7. const [result] = await Promise.all([
  8. parseFelixDnsmasq('https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf'),
  9. fsp.mkdir(path.resolve(import.meta.dir, '../List/internal'), { recursive: true })
  10. ]);
  11. return compareAndWriteFile(
  12. result.map(line => `SUFFIX,${line}`),
  13. path.resolve(import.meta.dir, '../List/internal/accelerated-china-domains.txt')
  14. );
  15. });
  16. if (import.meta.main) {
  17. buildInternalChnDomains();
  18. }