build-telegram-cidr.js 749 B

123456789101112131415161718192021222324
  1. const { fetch } = require('undici');
  2. const fs = require('fs');
  3. const path = require('path');
  4. (async () => {
  5. const resp = await fetch('https://core.telegram.org/resources/cidr.txt');
  6. const lastModified = new Date(resp.headers.get('last-modified'));
  7. const res = (await resp.text())
  8. .split('\n')
  9. .filter(line => line.trim() !== '');
  10. await fs.promises.writeFile(
  11. path.resolve(__dirname, '../List/ip/telegram.conf'),
  12. '# Telegram CIDR (https://core.telegram.org/resources/cidr.txt)' + '\n' +
  13. '# Last Updated: ' + lastModified.toISOString() + '\n' +
  14. res.map(ip => {
  15. return ip.includes(':')
  16. ? `IP-CIDR6,${ip},no-resolve`
  17. : `IP-CIDR,${ip},no-resolve`;
  18. }).join('\n') + '\n',
  19. 'utf-8'
  20. );
  21. })();