From e1b3fcbbd519426c4debb2c038adcd5c2b618e9d Mon Sep 17 00:00:00 2001 From: itdoginfo <koalav42@gmail.com> Date: Wed, 29 Jan 2025 18:37:20 +0300 Subject: [PATCH] Remove capital letter of subnet. Leave the old value the same for now --- .github/workflows/create-lists.yml | 6 +++--- convert.py | 18 +++++++++--------- get-subnets.py | 23 +++++++++++++++++++---- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/.github/workflows/create-lists.yml b/.github/workflows/create-lists.yml index 90a07b3..100589f 100644 --- a/.github/workflows/create-lists.yml +++ b/.github/workflows/create-lists.yml @@ -2,7 +2,7 @@ name: Create lists on: push: - branches: [ "main", "srs" ] + branches: [ "main" ] paths: - .github/workflows/create-lists.yml - Categories/** @@ -10,7 +10,7 @@ on: - src/** - convert.py schedule: - - cron: '29 */8 * * *' + - cron: '29 8 * * 1' permissions: contents: write @@ -30,7 +30,7 @@ jobs: -v ${{ github.workspace }}/Categories:/app/Categories \ -v ${{ github.workspace }}/Services:/app/Services \ -v ${{ github.workspace }}/SRS:/app/SRS \ - itdoginfo/compilesrs:0.1.3 + itdoginfo/compilesrs:0.1.4 - name: Check Russia/inside-dnsmasq-ipset uses: itdoginfo/dnsmasq-action@0.1 diff --git a/convert.py b/convert.py index 8232698..950de92 100755 --- a/convert.py +++ b/convert.py @@ -16,9 +16,9 @@ rusDomainsOutsideSrc='src/Russia-domains-outside.lst' rusDomainsOutsideOut='Russia/outside' uaDomainsSrc='src/Ukraine-domains-inside.lst' uaDomainsOut='Ukraine/inside' -DiscordSubnets = 'Subnets/IPv4/Discord.lst' -MetaSubnets = 'Subnets/IPv4/Meta.lst' -TwitterSubnets = 'Subnets/IPv4/Twitter.lst' +DiscordSubnets = 'Subnets/IPv4/discord.lst' +MetaSubnets = 'Subnets/IPv4/meta.lst' +TwitterSubnets = 'Subnets/IPv4/twitter.lst' def raw(src, out): domains = set() @@ -267,7 +267,7 @@ def generate_srs_subnets(input_file, output_json_directory='JSON', compiled_outp if subnet: subnets.append(subnet) - if input_file == "Subnets/IPv4/Discord.lst": + if input_file == "Subnets/IPv4/discord.lst": data = { "version": 2, "rules": [ @@ -290,14 +290,14 @@ def generate_srs_subnets(input_file, output_json_directory='JSON', compiled_outp } filename = os.path.splitext(os.path.basename(input_file))[0] - output_file_path = os.path.join(output_json_directory, f"{filename}-subnets.json") + output_file_path = os.path.join(output_json_directory, f"{filename}_subnets.json") with open(output_file_path, 'w', encoding='utf-8') as output_file: json.dump(data, output_file, indent=4) print(f"JSON file generated: {output_file_path}") - srs_file_path = os.path.join(compiled_output_directory, f"{filename}-subnets.srs") + srs_file_path = os.path.join(compiled_output_directory, f"{filename}_subnets.srs") try: subprocess.run( ["sing-box", "rule-set", "compile", output_file_path, "-o", srs_file_path], check=True @@ -351,9 +351,9 @@ if __name__ == '__main__': russia_inside = domains_from_file('Russia/inside-raw.lst') russia_outside = domains_from_file('Russia/outside-raw.lst') ukraine_inside = domains_from_file('Ukraine/inside-raw.lst') - generate_srs_domains(russia_inside, 'russia-inside') - generate_srs_domains(russia_outside, 'russia-outside') - generate_srs_domains(ukraine_inside, 'ukraine-inside') + generate_srs_domains(russia_inside, 'russia_inside') + generate_srs_domains(russia_outside, 'russia_outside') + generate_srs_domains(ukraine_inside, 'ukraine_inside') # Sing-box categories directories = ['Categories', 'Services'] diff --git a/get-subnets.py b/get-subnets.py index 6b3b6ac..b85590f 100755 --- a/get-subnets.py +++ b/get-subnets.py @@ -2,6 +2,8 @@ import ipaddress import urllib.request +import os +import shutil BGP_TOOLS_URL = 'https://bgp.tools/table.txt' USER_AGENT = 'itdog.info - hi@itdog.info' @@ -11,14 +13,14 @@ IPv6_DIR = 'Subnets/IPv6' AS_META = '32934' AS_TWITTER = '13414' -META = 'Meta.lst' -TWITTER = 'Twitter.lst' +META = 'meta.lst' +TWITTER = 'twitter.lst' # From https://iplist.opencck.org/ DISCORD_VOICE_V4='https://iplist.opencck.org/?format=text&data=cidr4&site=discord.gg&site=discord.media' DISCORD_VOICE_V6='https://iplist.opencck.org/?format=text&data=cidr6&site=discord.gg&site=discord.media' -DISCORD = 'Discord.lst' +DISCORD = 'discord.lst' subnet_list = [] @@ -80,6 +82,11 @@ def write_subnets_to_file(subnets, filename): for subnet in subnets: file.write(f'{subnet}\n') +def copy_file_legacy(src_filename): + base_filename = os.path.basename(src_filename) + new_filename = base_filename.capitalize() + shutil.copy(src_filename, os.path.join(os.path.dirname(src_filename), new_filename)) + if __name__ == '__main__': request = urllib.request.Request(BGP_TOOLS_URL, headers={'User-Agent': USER_AGENT}) @@ -102,4 +109,12 @@ if __name__ == '__main__': # Discord voice ipv4_discord, ipv6_discord = download_ready_subnets(DISCORD_VOICE_V4, DISCORD_VOICE_V6) write_subnets_to_file(ipv4_discord, f'{IPv4_DIR}/{DISCORD}') - write_subnets_to_file(ipv6_discord, f'{IPv6_DIR}/{DISCORD}') \ No newline at end of file + write_subnets_to_file(ipv6_discord, f'{IPv6_DIR}/{DISCORD}') + + # Legacy name + copy_file_legacy(f'{IPv4_DIR}/{META}') + copy_file_legacy(f'{IPv6_DIR}/{META}') + copy_file_legacy(f'{IPv4_DIR}/{TWITTER}') + copy_file_legacy(f'{IPv6_DIR}/{TWITTER}') + copy_file_legacy(f'{IPv4_DIR}/{DISCORD}') + copy_file_legacy(f'{IPv6_DIR}/{DISCORD}') \ No newline at end of file