From 072e3519bbbd869af4a9ad757408017561902fc1 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sat, 15 Mar 2025 19:18:25 -0400 Subject: [PATCH] [+] Allow overriding PowerOn addr --- src/main/java/icu/samnyan/aqua/sega/allnet/AllNet.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNet.kt b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNet.kt index 1cd8c4b8..c243c320 100644 --- a/src/main/java/icu/samnyan/aqua/sega/allnet/AllNet.kt +++ b/src/main/java/icu/samnyan/aqua/sega/allnet/AllNet.kt @@ -96,7 +96,7 @@ class AllNet( @PostMapping("/sys/servlet/PowerOn", produces = ["text/plain"]) fun powerOn(dataStream: InputStream, req: HttpServletRequest): String { - val localAddr = req.localAddr + val here = req.getHeader("AllNet-Forwarded-From") ?: props.host.ifBlank { req.localAddr } val localPort = req.localPort.toString() // game_id SDEZ, ver 1.35, serial A0000001234, ip, firm_ver 50000, boot_ver 0000, @@ -138,8 +138,8 @@ class AllNet( val formatVer = reqMap["format_ver"] ?: "" val resp = props.map.mut + mapOf( - "uri" to switchUri(localAddr, localPort, gameId, ver, session), - "host" to props.host.ifBlank { localAddr }, + "uri" to switchUri(here, localPort, gameId, ver, session), + "host" to props.host.ifBlank { here }, ) // Different responses for different versions @@ -171,9 +171,8 @@ class AllNet( return resp.toUrl() + "\n" } - private fun switchUri(localAddr: Str, localPort: Str, gameId: Str, ver: Str, session: Str?): Str { - val addr = props.host.ifBlank { localAddr } + - if (props.hidePort) "" else ":${props.port ?: localPort}" + private fun switchUri(hereAddr: Str, localPort: Str, gameId: Str, ver: Str, session: Str?): Str { + val addr = hereAddr + (if (props.hidePort) "" else ":${props.port ?: localPort}") // If keychip authentication is enabled, the game URLs will be set to /gs/{token}/{game}/... val base = if (session != null) "gs/$session" else "g"