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