Surge_by_SukkaW/Dist/Build/build-telegram-cidr2.cjs
SukkaW d354c5e988
Some checks are pending
Build / Build (push) Waiting to run
Build / Diff output (push) Blocked by required conditions
Build / Deploy to Cloudflare Pages (push) Blocked by required conditions
Build / Deploy to GitHub and GitLab (push) Blocked by required conditions
Chore: maintainance
2025-02-07 17:52:36 +08:00

69 lines
3.4 KiB
JavaScript

'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;