From 024b2975f35e966050597b9ed732a94a27e59e75 Mon Sep 17 00:00:00 2001 From: itdoginfo <koalav42@gmail.com> Date: Sun, 9 Feb 2025 00:32:47 +0300 Subject: [PATCH] Added telegram --- get-subnets.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/get-subnets.py b/get-subnets.py index b85590f..61865b5 100755 --- a/get-subnets.py +++ b/get-subnets.py @@ -15,6 +15,7 @@ AS_META = '32934' AS_TWITTER = '13414' META = 'meta.lst' TWITTER = 'twitter.lst' +TELEGRAM = 'telegram.lst' # From https://iplist.opencck.org/ DISCORD_VOICE_V4='https://iplist.opencck.org/?format=text&data=cidr4&site=discord.gg&site=discord.media' @@ -22,6 +23,8 @@ DISCORD_VOICE_V6='https://iplist.opencck.org/?format=text&data=cidr6&site=discor DISCORD = 'discord.lst' +TELEGRAM_CIDR_URL = 'https://core.telegram.org/resources/cidr.txt' + subnet_list = [] def subnet_summarization(subnet_list): @@ -76,6 +79,15 @@ def download_ready_subnets(url_v4, url_v6): return ipv4_subnets, ipv6_subnets +def download_ready_split_subnets(url): + req = urllib.request.Request(url) + with urllib.request.urlopen(req) as response: + subnets = response.read().decode('utf-8').splitlines() + + ipv4_subnets = [cidr for cidr in subnets if isinstance(ipaddress.ip_network(cidr, strict=False), ipaddress.IPv4Network)] + ipv6_subnets = [cidr for cidr in subnets if isinstance(ipaddress.ip_network(cidr, strict=False), ipaddress.IPv6Network)] + + return ipv4_subnets, ipv6_subnets def write_subnets_to_file(subnets, filename): with open(filename, 'w') as file: @@ -111,6 +123,11 @@ if __name__ == '__main__': write_subnets_to_file(ipv4_discord, f'{IPv4_DIR}/{DISCORD}') write_subnets_to_file(ipv6_discord, f'{IPv6_DIR}/{DISCORD}') + # Telegram + ipv4_telegram, ipv6_telegram = download_ready_split_subnets(TELEGRAM_CIDR_URL) + write_subnets_to_file(ipv4_telegram, f'{IPv4_DIR}/{TELEGRAM}') + write_subnets_to_file(ipv6_telegram, f'{IPv6_DIR}/{TELEGRAM}') + # Legacy name copy_file_legacy(f'{IPv4_DIR}/{META}') copy_file_legacy(f'{IPv6_DIR}/{META}')