mirror of
https://github.com/MinazukiAmane/AnimeGame-Download-Library.git
synced 2025-03-15 05:35:58 +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