Files
patcher/patches/change_server.py
2025-12-28 17:47:56 +03:00

79 lines
2.6 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Заменяет сервер api
"change_server": {
"enabled": true,
"server": "https://anixarty.0x174.su/patch"
}
"""
__author__ = "wowlikon <wowlikon@gmail.com>"
__version__ = "1.0.0"
import json
from typing import Any, Dict
import requests
from pydantic import Field
from tqdm import tqdm
from utils.config import PatchTemplate
class Patch(PatchTemplate):
priority: int = Field(frozen=True, exclude=True, default=0)
server: str = Field("https://anixarty.0x174.su/patch", description="URL сервера")
def apply(self, base: Dict[str, Any]) -> bool:
response = requests.get(self.server) # Получаем данные для патча
assert (
response.status_code == 200
), f"Failed to fetch data {response.status_code} {response.text}"
new_api = json.loads(response.text)
for item in new_api["modifications"]: # Применяем замены API
tqdm.write(f"Изменение {item['file']}")
filepath = (
"./decompiled/smali_classes2/com/swiftsoft/anixartd/network/api/"
+ item["file"]
)
with open(filepath, "r") as f:
content = f.read()
with open(filepath, "w") as f:
if content.count(item["src"]) == 0:
tqdm.write(f"Не найдено {item['src']}")
f.write(content.replace(item["src"], item["dst"]))
tqdm.write(
f"Изменение Github ссылки"
) # Обновление ссылки на поиск серверов в Github
filepath = "./decompiled/smali_classes2/com/swiftsoft/anixartd/utils/anixnet/GithubPagesNetFetcher.smali"
with open(filepath, "r") as f:
content = f.read()
with open(filepath, "w") as f:
f.write(
content.replace(
'const-string v1, "https://anixhelper.github.io/pages/urls.json"',
f'const-string v1, "{new_api["gh"]}"',
)
)
tqdm.write(
"Удаление динамического выбора сервера"
) # Отключение автовыбора сервера
filepath = "./decompiled/smali_classes2/com/swiftsoft/anixartd/DaggerApp_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.smali"
content = ""
with open(filepath, "r") as f:
for line in f.readlines():
if "addInterceptor" in line:
continue
content += line
with open(filepath, "w") as f:
f.write(content)
return True