'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const buildTelegramCidr=require('../_virtual/build-telegram-cidr.cjs'),fetchTextByLine=require('./lib/fetch-text-by-line.cjs'),index=require('./trace/index.cjs'),description=require('./constants/description.cjs'),memoPromise=require('./lib/memo-promise.cjs'),ruleset=require('./lib/rules/ruleset.cjs'),fetchRetry=require('./lib/fetch-retry.cjs'),misc=require('./lib/misc.cjs');var hasRequiredBuildTelegramCidr; function requireBuildTelegramCidr () { if (hasRequiredBuildTelegramCidr) return buildTelegramCidr.__module.exports; hasRequiredBuildTelegramCidr = 1; (function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { buildTelegramCIDR: function() { return buildTelegramCIDR; }, getTelegramCIDRPromise: function() { return getTelegramCIDRPromise; } }); const _fetchtextbyline = /*@__PURE__*/ fetchTextByLine.__require(); const _trace = /*@__PURE__*/ index.__require(); const _description = /*@__PURE__*/ description.__require(); const _memopromise = /*@__PURE__*/ memoPromise.__require(); const _ruleset = /*@__PURE__*/ ruleset.__require(); const _fetchretry = /*@__PURE__*/ fetchRetry.__require(); const _misc = /*@__PURE__*/ misc.__require(); const getTelegramCIDRPromise = (0, _memopromise.createMemoizedPromise)(async ()=>{ const resp = await (0, _fetchretry.$$fetch)('https://core.telegram.org/resources/cidr.txt'); const lastModified = resp.headers.get('last-modified'); const date = lastModified ? new Date(lastModified) : new Date(); const ipcidr = [ // Telegram secret backup CIDR, announced by AS62041 // see also https://github.com/Telegram-FOSS-Team/Telegram-FOSS/blob/10da5406ed92d30c6add3b25d40b2b3b6995d873/TMessagesProj/src/main/java/org/telegram/tgnet/ConnectionsManager.java#L1157 '95.161.64.0/20' ]; const ipcidr6 = []; for await (const cidr of (0, _fetchtextbyline.createReadlineInterfaceFromResponse)(resp, true)){ const v = (0, _misc.fastIpVersion)(cidr); if (v === 4) { ipcidr.push(cidr); } else if (v === 6) { ipcidr6.push(cidr); } } return { date, ipcidr, ipcidr6 }; }); const buildTelegramCIDR = (0, _trace.task)(require.main === module, __filename)(async (span)=>{ const { date, ipcidr, ipcidr6 } = await span.traceChildAsync('get telegram cidr', getTelegramCIDRPromise); if (ipcidr.length + ipcidr6.length === 0) { throw new Error('Failed to fetch data!'); } const description = [ ..._description.SHARED_DESCRIPTION, 'Data from:', ' - https://core.telegram.org/resources/cidr.txt' ]; return new _ruleset.RulesetOutput(span, 'telegram', 'ip').withTitle('Sukka\'s Ruleset - Telegram IP CIDR').withDescription(description).withDate(date).bulkAddCIDR4NoResolve(ipcidr).bulkAddCIDR6NoResolve(ipcidr6).write(); }); } (buildTelegramCidr.__module, buildTelegramCidr.__module.exports)); return buildTelegramCidr.__module.exports; }exports.__require=requireBuildTelegramCidr;