mirror of
https://github.com/MinazukiAmane/AnimeGame-Download-Library.git
synced 2025-03-15 10:25:51 +08:00
Initial commit
This commit is contained in:
commit
e03e697537
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
129
.gitignore
vendored
Normal file
129
.gitignore
vendored
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
# Byte-compiled / optimized / DLL files
|
||||||
|
__pycache__/
|
||||||
|
*.py[cod]
|
||||||
|
*$py.class
|
||||||
|
|
||||||
|
# C extensions
|
||||||
|
*.so
|
||||||
|
|
||||||
|
# Distribution / packaging
|
||||||
|
.Python
|
||||||
|
build/
|
||||||
|
develop-eggs/
|
||||||
|
dist/
|
||||||
|
downloads/
|
||||||
|
eggs/
|
||||||
|
.eggs/
|
||||||
|
lib/
|
||||||
|
lib64/
|
||||||
|
parts/
|
||||||
|
sdist/
|
||||||
|
var/
|
||||||
|
wheels/
|
||||||
|
pip-wheel-metadata/
|
||||||
|
share/python-wheels/
|
||||||
|
*.egg-info/
|
||||||
|
.installed.cfg
|
||||||
|
*.egg
|
||||||
|
MANIFEST
|
||||||
|
|
||||||
|
# PyInstaller
|
||||||
|
# Usually these files are written by a python script from a template
|
||||||
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||||
|
*.manifest
|
||||||
|
*.spec
|
||||||
|
|
||||||
|
# Installer logs
|
||||||
|
pip-log.txt
|
||||||
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
|
# Unit test / coverage reports
|
||||||
|
htmlcov/
|
||||||
|
.tox/
|
||||||
|
.nox/
|
||||||
|
.coverage
|
||||||
|
.coverage.*
|
||||||
|
.cache
|
||||||
|
nosetests.xml
|
||||||
|
coverage.xml
|
||||||
|
*.cover
|
||||||
|
*.py,cover
|
||||||
|
.hypothesis/
|
||||||
|
.pytest_cache/
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
*.mo
|
||||||
|
*.pot
|
||||||
|
|
||||||
|
# Django stuff:
|
||||||
|
*.log
|
||||||
|
local_settings.py
|
||||||
|
db.sqlite3
|
||||||
|
db.sqlite3-journal
|
||||||
|
|
||||||
|
# Flask stuff:
|
||||||
|
instance/
|
||||||
|
.webassets-cache
|
||||||
|
|
||||||
|
# Scrapy stuff:
|
||||||
|
.scrapy
|
||||||
|
|
||||||
|
# Sphinx documentation
|
||||||
|
docs/_build/
|
||||||
|
|
||||||
|
# PyBuilder
|
||||||
|
target/
|
||||||
|
|
||||||
|
# Jupyter Notebook
|
||||||
|
.ipynb_checkpoints
|
||||||
|
|
||||||
|
# IPython
|
||||||
|
profile_default/
|
||||||
|
ipython_config.py
|
||||||
|
|
||||||
|
# pyenv
|
||||||
|
.python-version
|
||||||
|
|
||||||
|
# pipenv
|
||||||
|
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
||||||
|
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
||||||
|
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
||||||
|
# install all needed dependencies.
|
||||||
|
#Pipfile.lock
|
||||||
|
|
||||||
|
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
|
||||||
|
__pypackages__/
|
||||||
|
|
||||||
|
# Celery stuff
|
||||||
|
celerybeat-schedule
|
||||||
|
celerybeat.pid
|
||||||
|
|
||||||
|
# SageMath parsed files
|
||||||
|
*.sage.py
|
||||||
|
|
||||||
|
# Environments
|
||||||
|
.env
|
||||||
|
.venv
|
||||||
|
env/
|
||||||
|
venv/
|
||||||
|
ENV/
|
||||||
|
env.bak/
|
||||||
|
venv.bak/
|
||||||
|
|
||||||
|
# Spyder project settings
|
||||||
|
.spyderproject
|
||||||
|
.spyproject
|
||||||
|
|
||||||
|
# Rope project settings
|
||||||
|
.ropeproject
|
||||||
|
|
||||||
|
# mkdocs documentation
|
||||||
|
/site
|
||||||
|
|
||||||
|
# mypy
|
||||||
|
.mypy_cache/
|
||||||
|
.dmypy.json
|
||||||
|
dmypy.json
|
||||||
|
|
||||||
|
# Pyre type checker
|
||||||
|
.pyre/
|
30
GenshinCn.py
Normal file
30
GenshinCn.py
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import sys
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
import collections
|
||||||
|
if __name__ == "__main__":
|
||||||
|
with open('README.md','a+') as readme:
|
||||||
|
readme.seek(0)
|
||||||
|
sys.stdout = readme
|
||||||
|
stringContent=str(requests.get('https://sdk-static.mihoyo.com/hk4e_cn/mdk/launcher/api/resource?key=eYd89JmJ&launcher_id=18').content,'utf-8')
|
||||||
|
jsonFile=json.loads(readme.read().strip().strip('```'),object_pairs_hook=collections.OrderedDict)
|
||||||
|
changed = False
|
||||||
|
pre_download_game=None
|
||||||
|
try:
|
||||||
|
pre_download_game=json.loads(stringContent)['data']['pre_download_game']
|
||||||
|
except:
|
||||||
|
pre_download_game=""
|
||||||
|
if jsonFile['pre_download_game']!=pre_download_game:
|
||||||
|
jsonFile['pre_download_game']=pre_download_game
|
||||||
|
changed=True
|
||||||
|
latest=json.loads(stringContent)['data']['game']['latest']
|
||||||
|
if jsonFile['latest']!=latest:
|
||||||
|
deprecated_packages=jsonFile['deprecated_packages']
|
||||||
|
deprecated_packages.append(jsonFile['latest'])
|
||||||
|
jsonFile['latest']=latest
|
||||||
|
changed=True
|
||||||
|
if changed:
|
||||||
|
readme.seek(0)
|
||||||
|
readme.truncate()
|
||||||
|
print('```\n'+json.dumps(jsonFile,ensure_ascii=False,indent=4,separators=(',',':'))+'\n```')
|
141
GenshinGlobal.php
Normal file
141
GenshinGlobal.php
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
<?php
|
||||||
|
header('Content-Type: application/json');
|
||||||
|
$curl = curl_init();
|
||||||
|
|
||||||
|
curl_setopt_array(
|
||||||
|
$curl,
|
||||||
|
array(
|
||||||
|
CURLOPT_URL => "https://sdk-os-static.mihoyo.com/hk4e_global/mdk/launcher/api/resource?channel_id=1&key=gcStgarh&launcher_id=10&sub_channel_id=0",
|
||||||
|
CURLOPT_RETURNTRANSFER => true,
|
||||||
|
CURLOPT_MAXREDIRS => 10,
|
||||||
|
CURLOPT_TIMEOUT => 30,
|
||||||
|
CURLOPT_FOLLOWLOCATION => true,
|
||||||
|
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
|
||||||
|
CURLOPT_CUSTOMREQUEST => "GET",
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
$ResponcURL = json_decode(curl_exec($curl), true);
|
||||||
|
|
||||||
|
curl_close($curl);
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$CekAPI = array();
|
||||||
|
|
||||||
|
if ($ResponcURL['message'] != "OK") {
|
||||||
|
$CekAPI['name'] = 'Genshin Impact Data Links';
|
||||||
|
$CekAPI['site'] = 'genshin.mihoyo.com';
|
||||||
|
$CekAPI['error'] = true;
|
||||||
|
$CekAPI['message'] = 'Error fetching from API';
|
||||||
|
print_r(json_encode($CekAPI));
|
||||||
|
} else {
|
||||||
|
$CekAPI['name'] = 'Genshin Impact Data Links';
|
||||||
|
$CekAPI['site'] = 'genshin.mihoyo.com';
|
||||||
|
$CekAPI['error'] = false;
|
||||||
|
$CekAPI['message'] = 'success';
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$DataGameTerbaru = array(
|
||||||
|
'version' => $ResponcURL['data']['game']['latest']['version'],
|
||||||
|
'path' => $ResponcURL['data']['game']['latest']['path'],
|
||||||
|
'md5' => $ResponcURL['data']['game']['latest']['md5'],
|
||||||
|
);
|
||||||
|
|
||||||
|
$DataSuaraTerbaru = array();
|
||||||
|
foreach ($ResponcURL['data']['game']['latest']['voice_packs'] as $k => $v) {
|
||||||
|
$DataSuaraTerbaru['voice_packs'][$k]['language'] = $ResponcURL['data']['game']['latest']['voice_packs'][$k]['language'];
|
||||||
|
$DataSuaraTerbaru['voice_packs'][$k]['name'] = $ResponcURL['data']['game']['latest']['voice_packs'][$k]['name'];
|
||||||
|
$DataSuaraTerbaru['voice_packs'][$k]['path'] = $ResponcURL['data']['game']['latest']['voice_packs'][$k]['path'];
|
||||||
|
$DataSuaraTerbaru['voice_packs'][$k]['md5'] = $ResponcURL['data']['game']['latest']['voice_packs'][$k]['md5'];
|
||||||
|
};
|
||||||
|
|
||||||
|
$GabungGameSuaraTerbaru = array(
|
||||||
|
'latest' => array_merge($DataGameTerbaru, $DataSuaraTerbaru),
|
||||||
|
);
|
||||||
|
|
||||||
|
$DataUpgradeTerbaru = array();
|
||||||
|
foreach ($ResponcURL['data']['game']['diffs'] as $k0 => $v0) {
|
||||||
|
$DataUpgradeTerbaru[$k0]['version'] = $ResponcURL['data']['game']['diffs'][$k0]['version'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['name'] = $ResponcURL['data']['game']['diffs'][$k0]['name'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['path'] = $ResponcURL['data']['game']['diffs'][$k0]['path'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['md5'] = $ResponcURL['data']['game']['diffs'][$k0]['md5'];
|
||||||
|
foreach ($ResponcURL['data']['game']['diffs'][$k0]['voice_packs'] as $k1 => $v1) {
|
||||||
|
$DataUpgradeTerbaru[$k0]['voice_packs'][$k1]['language'] = $ResponcURL['data']['game']['diffs'][$k0]['voice_packs'][$k1]['language'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['voice_packs'][$k1]['name'] = $ResponcURL['data']['game']['diffs'][$k0]['voice_packs'][$k1]['name'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['voice_packs'][$k1]['path'] = $ResponcURL['data']['game']['diffs'][$k0]['voice_packs'][$k1]['path'];
|
||||||
|
$DataUpgradeTerbaru[$k0]['voice_packs'][$k1]['md5'] = $ResponcURL['data']['game']['diffs'][$k0]['voice_packs'][$k1]['md5'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$GabungDataUpgradeTerbaru = array(
|
||||||
|
'diffs' => array_merge($DataUpgradeTerbaru),
|
||||||
|
);
|
||||||
|
|
||||||
|
$GabungDataUpgradeTerbaru = array(
|
||||||
|
'game' => array_merge($GabungGameSuaraTerbaru, $GabungDataUpgradeTerbaru)
|
||||||
|
);
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$DataPlugin = array();
|
||||||
|
foreach ($ResponcURL['data']['plugin']['plugins'] as $k => $v) {
|
||||||
|
$DataPlugin['plugins'][$k]['name'] = $ResponcURL['data']['plugin']['plugins'][$k]['name'];
|
||||||
|
$DataPlugin['plugins'][$k]['path'] = $ResponcURL['data']['plugin']['plugins'][$k]['path'];
|
||||||
|
$DataPlugin['plugins'][$k]['md5'] = $ResponcURL['data']['plugin']['plugins'][$k]['md5'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$GabungPlugin = array(
|
||||||
|
'plugin' => $DataPlugin
|
||||||
|
);
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$DataGamePraUnduh = array(
|
||||||
|
'version' => $ResponcURL['data']['pre_download_game']['latest']['version'],
|
||||||
|
'path' => $ResponcURL['data']['pre_download_game']['latest']['path'],
|
||||||
|
'md5' => $ResponcURL['data']['pre_download_game']['latest']['md5'],
|
||||||
|
);
|
||||||
|
|
||||||
|
$DataSuaraPraUnduh = array();
|
||||||
|
foreach ($ResponcURL['data']['pre_download_game']['latest']['voice_packs'] as $k => $v) {
|
||||||
|
$DataSuaraPraUnduh['voice_packs'][$k]['language'] = $ResponcURL['data']['pre_download_game']['latest']['voice_packs'][$k]['language'];
|
||||||
|
$DataSuaraPraUnduh['voice_packs'][$k]['name'] = $ResponcURL['data']['pre_download_game']['latest']['voice_packs'][$k]['name'];
|
||||||
|
$DataSuaraPraUnduh['voice_packs'][$k]['path'] = $ResponcURL['data']['pre_download_game']['latest']['voice_packs'][$k]['path'];
|
||||||
|
$DataSuaraPraUnduh['voice_packs'][$k]['md5'] = $ResponcURL['data']['pre_download_game']['latest']['voice_packs'][$k]['md5'];
|
||||||
|
};
|
||||||
|
|
||||||
|
$DataPraUnduh = array();
|
||||||
|
foreach ($ResponcURL['data']['pre_download_game']['diffs'] as $k0 => $v0) {
|
||||||
|
$DataPraUnduh[$k0]['version'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['version'];
|
||||||
|
$DataPraUnduh[$k0]['name'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['name'];
|
||||||
|
$DataPraUnduh[$k0]['path'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['path'];
|
||||||
|
$DataPraUnduh[$k0]['md5'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['md5'];
|
||||||
|
foreach ($ResponcURL['data']['pre_download_game']['diffs'][$k0]['voice_packs'] as $k1 => $v1) {
|
||||||
|
$DataPraUnduh[$k0]['voice_packs'][$k1]['language'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['voice_packs'][$k1]['language'];
|
||||||
|
$DataPraUnduh[$k0]['voice_packs'][$k1]['name'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['voice_packs'][$k1]['name'];
|
||||||
|
$DataPraUnduh[$k0]['voice_packs'][$k1]['path'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['voice_packs'][$k1]['path'];
|
||||||
|
$DataPraUnduh[$k0]['voice_packs'][$k1]['md5'] = $ResponcURL['data']['pre_download_game']['diffs'][$k0]['voice_packs'][$k1]['md5'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$GabungDataPraUnduh = array(
|
||||||
|
'diffs' => array_merge($DataPraUnduh),
|
||||||
|
);
|
||||||
|
|
||||||
|
$GabungGameSuaraPraUnduh = array(
|
||||||
|
'pre_download_game' => array_merge($DataGamePraUnduh, $DataSuaraPraUnduh, $GabungDataPraUnduh),
|
||||||
|
);
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$GabungSemua = array(
|
||||||
|
'data' => array_merge($GabungDataUpgradeTerbaru, $GabungPlugin, $GabungGameSuaraPraUnduh),
|
||||||
|
);
|
||||||
|
|
||||||
|
// PEMBATAS
|
||||||
|
|
||||||
|
$Hasil = array_merge($GabungSemua);
|
||||||
|
print_r(json_encode($Hasil));
|
||||||
|
}
|
199
README.md
Normal file
199
README.md
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
```
|
||||||
|
{
|
||||||
|
"pre_download_game":null,
|
||||||
|
"latest":{
|
||||||
|
"name":"",
|
||||||
|
"version":"3.4.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip",
|
||||||
|
"size":"95809731298",
|
||||||
|
"md5":"a04c6e422656a44924bad95f8648cf9e",
|
||||||
|
"entry":"YuanShen.exe",
|
||||||
|
"voice_packs":[
|
||||||
|
{
|
||||||
|
"language":"zh-cn",
|
||||||
|
"name":"",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/Audio_Chinese_3.4.0.zip",
|
||||||
|
"size":"16997081416",
|
||||||
|
"md5":"56dce864d6eb4780fd2f055263b1ca39",
|
||||||
|
"package_size":"8493297828"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"en-us",
|
||||||
|
"name":"",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/Audio_English(US)_3.4.0.zip",
|
||||||
|
"size":"19423737938",
|
||||||
|
"md5":"06ca7f33819fbe54f84a3327a927e92d",
|
||||||
|
"package_size":"9706626089"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ja-jp",
|
||||||
|
"name":"",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/Audio_Japanese_3.4.0.zip",
|
||||||
|
"size":"21764495116",
|
||||||
|
"md5":"ebd0a2fbeff04a2a36ad9d219c054a91",
|
||||||
|
"package_size":"10877004678"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ko-kr",
|
||||||
|
"name":"",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/Audio_Korean_3.4.0.zip",
|
||||||
|
"size":"16674958870",
|
||||||
|
"md5":"c93a3cd67024cdc061b87a8c4d5636e6",
|
||||||
|
"package_size":"8332236555"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decompressed_path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/ScatteredFiles",
|
||||||
|
"segments":[
|
||||||
|
{
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip.001",
|
||||||
|
"md5":"c6dffa721b9610a84652258b66402475"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip.002",
|
||||||
|
"md5":"fbd1f0dfac83ca48fda7cf49ccb40052"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip.003",
|
||||||
|
"md5":"157aced7e87c852a5af4fc617fd85f55"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip.004",
|
||||||
|
"md5":"22a2d144a7cc4af59aa401f3c0eff733"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230109134623_pLhUB4LFubdudxQa/YuanShen_3.4.0.zip.005",
|
||||||
|
"md5":"10129a5815eadf8a4571b8652c51c092"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"package_size":"47899622769"
|
||||||
|
},
|
||||||
|
"deprecated_packages":[
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.0.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/04874b5ed14055383219644f40b514ca/YuanShen_1.0.0.zip",
|
||||||
|
"md5":"7D1C0778A7EB4C99F2C19266629E1EB2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.0.1",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20201013_f0953d8d130df56f/YuanShen_1.0.1.zip",
|
||||||
|
"md5":"9F0E001B07BC45F5590190B9FAC942D4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.1.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20201111_bc67429d0c160eff/YuanShen_1.1.0.zip",
|
||||||
|
"md5":"16D06247FBDE450FCBFAC6312DAF7B3A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.2.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20201223_267c0ad2673e87a2/YuanShen_1.2.0.zip",
|
||||||
|
"md5":"D84EE6B56496F9740274C3B729CB6DBD"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.3.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210203_e24bc564fc91a013/YuanShen_1.3.0.zip",
|
||||||
|
"md5":"F7658D1099E5FBDC586BF7F1E7876EC6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.3.2",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210210_78f8a53c55c370fc/YuanShen_1.3.2.zip",
|
||||||
|
"md5":"802A54E3FFE58377388F0E890DB56540"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.4.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210317_67c8f1002bb26672/YuanShen_1.4.0.zip",
|
||||||
|
"md5":"D8FBE65C328069F7981A3A497C53A5A3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.5.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210428_4f4c4896195a34be/YuanShen_1.5.0.zip",
|
||||||
|
"md5":"83E9034FF0E4AFD2EB212E885990AF7B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.5.1",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210430_ecaaf3c411f5f79f/YuanShen_1.5.1.zip",
|
||||||
|
"size":"27380416512",
|
||||||
|
"md5":"19C6C706F35A06744896D756B0766AB8",
|
||||||
|
"entry":"YuanShen.exe",
|
||||||
|
"voice_packs":[
|
||||||
|
{
|
||||||
|
"language":"zh-cn",
|
||||||
|
"name":"Audio_Chinese_1.5.1.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210430_ecaaf3c411f5f79f/Audio_Chinese_1.5.1.zip",
|
||||||
|
"size":"5905580032",
|
||||||
|
"md5":"F9329043CBD673D0BA3A4F982047EF5A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"en-us",
|
||||||
|
"name":"Audio_English(US)_1.5.1.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210430_ecaaf3c411f5f79f/Audio_English(US)_1.5.1.zip",
|
||||||
|
"size":"6442450944",
|
||||||
|
"md5":"9E2F8CC38925D69A25B602CD5EE67A00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ja-jp",
|
||||||
|
"name":"Audio_Japanese_1.5.1.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210430_ecaaf3c411f5f79f/Audio_Japanese_1.5.1.zip",
|
||||||
|
"size":"6657199308",
|
||||||
|
"md5":"75B99865DC961E41AE4256E781F47B34"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ko-kr",
|
||||||
|
"name":"Audio_Korean_1.5.1.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210430_ecaaf3c411f5f79f/Audio_Korean_1.5.1.zip",
|
||||||
|
"size":"5583457484",
|
||||||
|
"md5":"00285C3078007FE88C889807154955D6"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decompressed_path":""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"",
|
||||||
|
"version":"1.6.0",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210609_cda4068353f840c3/YuanShen_1.6.0.zip",
|
||||||
|
"size":"30172145254",
|
||||||
|
"md5":"8607C66D55B51E7AB2F94709E0C9C771",
|
||||||
|
"entry":"YuanShen.exe",
|
||||||
|
"voice_packs":[
|
||||||
|
{
|
||||||
|
"language":"zh-cn",
|
||||||
|
"name":"Audio_Chinese_1.6.0.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210609_cda4068353f840c3/Audio_Chinese_1.6.0.zip",
|
||||||
|
"size":"6979321856",
|
||||||
|
"md5":"83D69368B7E4427F4CCB06E199C46F47"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"en-us",
|
||||||
|
"name":"Audio_English(US)_1.6.0.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210609_cda4068353f840c3/Audio_English(US)_1.6.0.zip",
|
||||||
|
"size":"7516192768",
|
||||||
|
"md5":"A10EAAB588EDF8FCABA6C727473E1DDD"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ja-jp",
|
||||||
|
"name":"Audio_Japanese_1.6.0.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210609_cda4068353f840c3/Audio_Japanese_1.6.0.zip",
|
||||||
|
"size":"8053063680",
|
||||||
|
"md5":"9D20DC6E8071AED6D558A3827F6A3637"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language":"ko-kr",
|
||||||
|
"name":"Audio_Korean_1.6.0.zip",
|
||||||
|
"path":"https://autopatchcn.yuanshen.com/client_app/pc_mihoyo/20210609_cda4068353f840c3/Audio_Korean_1.6.0.zip",
|
||||||
|
"size":"6657199308",
|
||||||
|
"md5":"03A78F6BA6451ABFDE5FCC41C41743E0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"decompressed_path":""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
|||||||
|
requests
|
Loading…
x
Reference in New Issue
Block a user