Compare commits

..

10 Commits

Author SHA1 Message Date
Wiktor
103034719d fix: Makefile
Co-authored-by: cichy1173 <cichy1173@protonmail.com>
2025-05-28 22:09:02 +02:00
Wiktor
4c5d889b97 Refaktoryzacja Makefile 2025-05-27 17:32:25 +02:00
Wiktor
7a43407aef Zmiana nazwy seo-source.json na seo-nonsense-source.json 2025-05-27 17:11:34 +02:00
Wiktor
f9ceae98ef Automatycznie wygenerowane dane 2025-05-25 21:58:00 +02:00
Wiktor
493721b16a Dodanie początkowej wartości JSON plikom nowych kategorii 2025-05-25 21:57:16 +02:00
Wiktor
65bc720c10 Dostosowanie Makefile pod nowy format 2025-05-25 21:56:33 +02:00
Wiktor
5a283cd79e Add ublacklist format to help message 2025-05-25 21:50:07 +02:00
Wiktor
759cfd704c Add ublacklist converter format 2025-05-25 21:49:19 +02:00
Wiktor
cd39080c01 Dodanie nowych kategorii do Makefile 2025-05-25 21:43:51 +02:00
Wiktor
00e5f694b5 Dodanie brakujących plików kategorii 2025-05-25 21:43:42 +02:00
12 changed files with 55 additions and 4 deletions

View File

@ -1,12 +1,23 @@
CONVERTER = python3 src/converter.py
BLOCKLISTS = seo-nonsense reflink-spam satire mirror
TARGET_FORMATS = adguard ublacklist
dist/seo-nonsense/adguard.txt:: src/seo-source.json
$(CONVERTER) --inputfile src/seo-source.json --targetformat adguard --outputfile dist/seo-nonsense/adguard.txt
TARGETS = $(foreach blocklist, $(BLOCKLISTS), $(foreach targetformat, $(TARGET_FORMATS), dist/$(blocklist)/$(targetformat).txt))
build: dist/seo-nonsense/adguard.txt
build: $(TARGETS)
dist/%/adguard.txt: src/%-source.json
mkdir -p dist/$*
$(CONVERTER) --inputfile src/$*-source.json --targetformat adguard --outputfile $@
dist/%/ublacklist.txt: src/%-source.json
mkdir -p dist/$*
$(CONVERTER) --inputfile src/$*-source.json --targetformat ublacklist --outputfile $@
clean:
rm -rf dist/*
all: build
.PHONY: build clean all

2
dist/mirror/adguard.txt vendored Normal file
View File

@ -0,0 +1,2 @@
! Blocking list automatically generated at 2025-05-25 19:55:20 UTC+0000
! Created with ❤️ by internet-czas-dzialac.pl

2
dist/mirror/ublacklist.txt vendored Normal file
View File

@ -0,0 +1,2 @@
# Blocking list automatically generated at 2025-05-25 19:55:20 UTC+0000
# Created with ❤️ by internet-czas-dzialac.pl

2
dist/reflink-spam/adguard.txt vendored Normal file
View File

@ -0,0 +1,2 @@
! Blocking list automatically generated at 2025-05-25 19:55:22 UTC+0000
! Created with ❤️ by internet-czas-dzialac.pl

2
dist/reflink-spam/ublacklist.txt vendored Normal file
View File

@ -0,0 +1,2 @@
# Blocking list automatically generated at 2025-05-25 19:55:22 UTC+0000
# Created with ❤️ by internet-czas-dzialac.pl

2
dist/satire/adguard.txt vendored Normal file
View File

@ -0,0 +1,2 @@
! Blocking list automatically generated at 2025-05-25 19:55:24 UTC+0000
! Created with ❤️ by internet-czas-dzialac.pl

2
dist/satire/ublacklist.txt vendored Normal file
View File

@ -0,0 +1,2 @@
# Blocking list automatically generated at 2025-05-25 19:55:24 UTC+0000
# Created with ❤️ by internet-czas-dzialac.pl

View File

@ -52,7 +52,7 @@ def parse_arguments() -> argparse.Namespace:
"--targetformat",
required=True,
metavar="TARGET_FORMAT",
help="Target output format (e.g., adguard)",
help="Target output format (supported formats: adguard, ublacklist)",
)
parser.add_argument(
"--outputfile",
@ -76,6 +76,8 @@ def convert(data: dict, last_modified: datetime, target_format: str) -> str:
match target_format:
case "adguard":
return adguard_conversion(last_modified, data)
case "ublacklist":
return ublacklist_conversion(last_modified, data)
case _:
raise UnsupportedTargetFormatError
@ -97,6 +99,23 @@ def adguard_conversion(last_modified: datetime, data: dict) -> list[str]:
return "\n".join(output)
def ublacklist_conversion(last_modified: datetime, data: dict) -> list[str]:
header_lines: list[str] = [
f"# Blocking list automatically generated at {last_modified.strftime('%Y-%m-%d %H:%M:%S %Z%z')}",
"# Created with ❤️ by internet-czas-dzialac.pl",
]
output: list[str] = list(header_lines)
for entry in data["domains"]:
fqdn = entry["fqdn"]
if entry.get("exclude", False):
continue
output.append(f"*://*.{fqdn}/*")
return "\n".join(output)
def dump_output(data: str, output_file: str) -> None:
try:
directory = os.path.dirname(output_file)

3
src/mirror-source.json Normal file
View File

@ -0,0 +1,3 @@
{
"domains": []
}

View File

@ -0,0 +1,3 @@
{
"domains": []
}

3
src/satire-source.json Normal file
View File

@ -0,0 +1,3 @@
{
"domains": []
}