SOURCE_REPLACE_DICT for oisd

This commit is contained in:
ElonJunior 2024-08-24 04:31:41 +08:00
parent b13590994c
commit 13b57bb847
2 changed files with 17 additions and 13 deletions

View File

@ -26,14 +26,14 @@ from helper.helper import (
SING_BOX_EXEC_PATH = None SING_BOX_EXEC_PATH = None
ADGUARD_CONFIG_FILTER_LIST = [ ADGUARD_CONFIG_FILTER_LIST = [
{ # {
'name': 'AdGuardFilter', # 'name': 'AdGuardFilter',
'source': 'https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/configuration.json', # 'source': 'https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/configuration.json',
}, # },
{ # {
'name': 'PopupFilter', # 'name': 'PopupFilter',
'source': 'https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/configuration_popup_filter.json', # 'source': 'https://raw.githubusercontent.com/AdguardTeam/AdGuardSDNSFilter/master/configuration_popup_filter.json',
}, # },
{ {
'name': 'ppfeuferFilter', 'name': 'ppfeuferFilter',
'source': 'https://raw.githubusercontent.com/ppfeufer/adguard-filter-list/master/hostlist-compiler-config.json', 'source': 'https://raw.githubusercontent.com/ppfeufer/adguard-filter-list/master/hostlist-compiler-config.json',
@ -42,7 +42,7 @@ ADGUARD_CONFIG_FILTER_LIST = [
SOURCE_REPLACE_DICT = { SOURCE_REPLACE_DICT = {
# # Get OISD list, since the HostlistCompiler can't fetch it for whatever reason » https://github.com/AdguardTeam/HostlistCompiler/issues/58 # # Get OISD list, since the HostlistCompiler can't fetch it for whatever reason » https://github.com/AdguardTeam/HostlistCompiler/issues/58
'../oisd.txt': 'https://big.oisd.nl/', "../oisd.txt": "https://big.oisd.nl/",
} }
@ -100,8 +100,6 @@ def main(out_path: str = None):
def compile_filterlist(out_path: str, item: dict): def compile_filterlist(out_path: str, item: dict):
source = item['source'] source = item['source']
if source in SOURCE_REPLACE_DICT:
source = SOURCE_REPLACE_DICT[source]
name = correct_name(item['name']) name = correct_name(item['name'])
out_path2 = os.path.join(out_path, name) out_path2 = os.path.join(out_path, name)
@ -133,9 +131,11 @@ def compile_filterlist(out_path: str, item: dict):
def compile_filterone(out_path: str, item: dict) -> bool: def compile_filterone(out_path: str, item: dict) -> bool:
name = correct_name(item['name'])
source = item['source'] source = item['source']
if source in SOURCE_REPLACE_DICT:
source = SOURCE_REPLACE_DICT[source]
name = correct_name(item['name'])
debug_log(f"\n\tdownloading [ {name} ] => {source}") debug_log(f"\n\tdownloading [ {name} ] => {source}")
content = get_url_content(source) content = get_url_content(source)
if content is None: if content is None:

View File

@ -59,13 +59,16 @@ def correct_name(text: str) -> str:
# Apply the replacements # Apply the replacements
replaced_text = ''.join(replacements.get(c, c) for c in text) replaced_text = ''.join(replacements.get(c, c) for c in text)
# Collapse consecutive "-" into a single "-" # Collapse consecutive "-" or "_" into a single "_"
collapsed_text = re.sub(r'-+', '-', replaced_text) collapsed_text = re.sub(r'-+', '-', replaced_text)
collapsed_text = re.sub(r'_+', '_', collapsed_text) collapsed_text = re.sub(r'_+', '_', collapsed_text)
# Remove trailing "-" or "_" # Remove trailing "-" or "_"
final_text = re.sub(r'[-_]+$', '', collapsed_text) final_text = re.sub(r'[-_]+$', '', collapsed_text)
# Replace "-_" and "_-" with "_"
final_text = re.sub(r'-_|_-', '_', final_text)
return final_text return final_text
@ -78,6 +81,7 @@ def remove_ansi_escape_codes(text: str) -> str:
if __name__ == '__main__': if __name__ == '__main__':
# text = "example string//with spaces---and////slashes" # text = "example string//with spaces---and////slashes"
text = 'uBlock-filters--Resource-abuse-' text = 'uBlock-filters--Resource-abuse-'
text = 'Dandelion-Sprouts-Anti-Malware-List-_for-AdGuard-Home-and-for-AdGuard-for-Android_Windows-DNS-filtering'
print(correct_name(text)) print(correct_name(text))
# text = '\x1b[36mINFO\x1b[0m[0000] parsed rules: 778/1450' # text = '\x1b[36mINFO\x1b[0m[0000] parsed rules: 778/1450'