Skip to content

Commit 5066f5a

Browse files
committed
Add more CDN hosts
1 parent 4ec5226 commit 5066f5a

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

scripts/generateMagiskLink.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,32 @@ def __call__(self, r):
4747
"download" if sys.argv[2] == "" else Path(sys.argv[2])
4848
tempScript = sys.argv[3]
4949
download_files = {}
50+
cdn_hosts=["cdn.jsdelivr.net", "fastly.jsdelivr.net", "testingcf.jsdelivr.net", "gcore.jsdelivr.net"]
5051
print(
5152
f"Generating Magisk download link: release type={magisk_ver}", flush=True)
53+
magisk_link = None
5254
if not magisk_ver:
5355
magisk_ver = "stable"
5456
if magisk_ver == "stable" or magisk_ver == "beta" or magisk_ver == "canary" or magisk_ver == "debug":
5557
try:
5658
magisk_link = json.loads(requests.get(
57-
f"https://github.com/topjohnwu/magisk-files/raw/master/{magisk_ver}.json").content)['magisk']['link']
59+
f"https://topjohnwu.github.io/magisk-files/{magisk_ver}.json").content)['magisk']['link']
5860
download_files[f"magisk-{magisk_ver}.zip"] = magisk_link
5961
except Exception:
6062
print("Failed to fetch from GitHub API, fallbacking to jsdelivr...")
61-
magisk_link = json.loads(requests.get(
62-
f"https://fastly.jsdelivr.net/gh/topjohnwu/magisk-files@master/{magisk_ver}.json").content)['magisk']['link']
63-
download_files[f"magisk-{magisk_ver}.zip"] = magisk_link
63+
for host in cdn_hosts:
64+
try:
65+
magisk_link = json.loads(requests.get(
66+
f"https://{host}/gh/topjohnwu/magisk-files@master/{magisk_ver}.json").content)['magisk']['link']
67+
download_files[f"magisk-{magisk_ver}.zip"] = magisk_link
68+
break
69+
except Exception:
70+
print(f"Failed to fetch from {host}, trying next...", flush=True)
71+
pass
72+
finally:
73+
if magisk_link is None:
74+
print("Failed to fetch Magisk download link", flush=True)
75+
exit(1)
6476
res = requests.get(
6577
f"https://api.github.com/repos/LSPosed/WSA-Addon/releases/latest", auth=github_auth)
6678
json_data = json.loads(res.content)

0 commit comments

Comments
 (0)