feat: 1.1.1.4 GUI bootstrap-Inno installer + standalone offline
- Installer.java: Swing dark Bootstrap (bg 0c0c12, accent e94560) Inno wizard (sidebar steps, Welcome->Dir->Progress->Finish), JRE + meta download via /launcher/file, offline via embedded /offline.zip + appended ZIP + adjacent fallback, shortcut/uninstall - pom: hotfix 4, launch4j 2 exe ZernMC-Online/Offline-Setup-1.1.1.4.exe (icon, versionInfo, header gui, jar shaded), offline.zip resource - server/main.py: Content-Disposition attachment filename for online/offline, BUILDS_DIR absolute - Builds: Online 6.3M (downloads), Offline 103M (standalone embedded 98M zip), both signed, site headers fixed
This commit is contained in:
+9
-3
@@ -1835,7 +1835,9 @@ async def download_online_setup(request: Request):
|
||||
"""Download online Go installer (5.8M, STANDALONE EXE without bundled JRE)"""
|
||||
p = _find_latest_setup("ZernMC-Online-Setup-*.exe")
|
||||
if p and p.exists():
|
||||
return await send_file_async(p, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp = await send_file_async(p, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp.headers["Content-Disposition"] = f'attachment; filename="{p.name}"'
|
||||
return resp
|
||||
raise HTTPException(404, "Online installer not found")
|
||||
|
||||
@app.get("/launcher/download/offline-setup")
|
||||
@@ -1843,11 +1845,15 @@ async def download_offline_setup(request: Request):
|
||||
"""Download offline Go installer (STANDALONE EXE with embedded build, ~100M)"""
|
||||
p = _find_latest_setup("ZernMC-Offline-Setup-*.exe")
|
||||
if p and p.exists():
|
||||
return await send_file_async(p, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp = await send_file_async(p, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp.headers["Content-Disposition"] = f'attachment; filename="{p.name}"'
|
||||
return resp
|
||||
# fallback: try legacy offline zip embed name without -Setup
|
||||
p2 = _find_latest_setup("ZernMC-Offline-*.exe")
|
||||
if p2 and p2.exists():
|
||||
return await send_file_async(p2, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp = await send_file_async(p2, request, content_type="application/vnd.microsoft.portable-executable", cache=True)
|
||||
resp.headers["Content-Disposition"] = f'attachment; filename="{p2.name}"'
|
||||
return resp
|
||||
raise HTTPException(404, "Offline installer not found")
|
||||
|
||||
@app.get("/launcher/download/zip/{filename}")
|
||||
|
||||
Reference in New Issue
Block a user