Ero-Lab部分游戏资源下载脚本

墮落姬甲
这游戏应该在2025.05.27关闭服务器
需要手动设置unity版本为 2019.4.36f1

import requests
import json
import os
from urllib.parse import urljoin


def get_json(url):
    response = requests.get(url)
    response.raise_for_status()
    return response.json()


def process_files(cdn_domain, res_min, file_paths, output_file):
    base_url = f"{cdn_domain}/Bundle/Android/{res_min}/"

    with open(output_file, 'w', encoding='utf-8') as f:
        for path in file_paths:
            if path.startswith("0#/"):
                filename = path[3:]
                file_url = urljoin(base_url, filename)

                rel_path = os.path.join("Bundle", "Android", res_min, filename)
                rel_path = rel_path.replace('\\', '/')

                f.write(f"{file_url}\n  out={rel_path}\n")


def main():
    cdn_info_url = "https://cdn-aussetzen-ms.pinkcore.net/"
    cdn_info = get_json(cdn_info_url)
    cdn_domain = cdn_info["cdn_domain"]
    print(f"CDN Domain: {cdn_domain}")

    version_url = f"{cdn_domain}/Config/Prod/version.json"
    version_info = get_json(version_url)

    res_min = None
    for pair in version_info["Contents"]["Pairs"]:
        if pair["Key"] == "Res_Min":
            res_min = pair["Value"]
            break

    if not res_min:
        raise ValueError("Res_Min not found in version.json")

    print(f"Res_Min: {res_min}")

    catalog_url = f"{cdn_domain}/Bundle/Android/{res_min}/catalog_release.json"
    catalog_info = get_json(catalog_url)

    file_paths = [path for path in catalog_info["m_InternalIds"] if path.startswith("0#/")]
    print(f"Found {len(file_paths)} bundle files")

    output_file = "jj.txt"
    process_files(cdn_domain, res_min, file_paths, output_file)
    print(f"Results written to {output_file}")
    os.system("aria2c -i jj.txt -j 32 -s 16 -x 16 --check-certificate=false --dir=resdownload/墮落姬甲")


if __name__ == "__main__":
    main()

3 个赞