[FEATURE] Replacing binaryName in links with to placeholder

This commit is contained in:
microwin7 2023-07-07 18:25:08 +03:00
parent ec3775286c
commit cfb7fe1e24
3 changed files with 18 additions and 8 deletions

View file

@ -278,8 +278,8 @@ public static void generateConfigIfNotExists(Path configFile, CommandHandler com
newConfig.netty.address = "ws://" + address + ":9274/api";
newConfig.netty.downloadURL = "http://" + address + ":9274/%dirname%/";
newConfig.netty.launcherURL = "http://" + address + ":9274/Launcher.jar";
newConfig.netty.launcherEXEURL = "http://" + address + ":9274/Launcher.exe";
newConfig.netty.launcherURL = "http://" + address + ":9274/%binaryName%.jar";
newConfig.netty.launcherEXEURL = "http://" + address + ":9274/%binaryName%.exe";
// Write LaunchServer config
logger.info("Writing LaunchServer config file");

View file

@ -21,6 +21,8 @@
import pro.gravit.utils.helper.JVMHelper;
import java.io.File;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
public final class LaunchServerConfig {
@ -134,6 +136,14 @@ public void setBinaryName(String binaryName) {
this.binaryName = binaryName;
}
public String getLauncherURL() {
return URLEncoder.encode(this.netty.launcherURL.replaceAll("%binaryName%", this.binaryName), StandardCharsets.UTF_8);
}
public String getLauncherEXEURL() {
return URLEncoder.encode(this.netty.launcherEXEURL.replaceAll("%binaryName%", this.binaryName), StandardCharsets.UTF_8);
}
public void setEnv(LauncherConfig.LauncherEnvironment env) {
this.env = env;
}

View file

@ -47,22 +47,22 @@ public void execute(ChannelHandlerContext ctx, Client client) {
{
byte[] hash = server.launcherBinary.getDigest();
if (hash == null)
service.sendObjectAndClose(ctx, new LauncherRequestEvent(true, server.config.netty.launcherURL));
service.sendObjectAndClose(ctx, new LauncherRequestEvent(true, server.config.getLauncherURL()));
if (Arrays.equals(bytes, hash) && checkSecure(secureHash, secureSalt)) {
client.checkSign = true;
sendResult(new LauncherRequestEvent(false, server.config.netty.launcherURL, createLauncherExtendedToken()));
sendResult(new LauncherRequestEvent(false, server.config.getLauncherURL(), createLauncherExtendedToken()));
} else {
sendResultAndClose(new LauncherRequestEvent(true, server.config.netty.launcherURL, createLauncherExtendedToken()));
sendResultAndClose(new LauncherRequestEvent(true, server.config.getLauncherURL(), createLauncherExtendedToken()));
}
} else if (launcher_type == 2) //EXE
{
byte[] hash = server.launcherEXEBinary.getDigest();
if (hash == null) sendResultAndClose(new LauncherRequestEvent(true, server.config.netty.launcherEXEURL));
if (hash == null) sendResultAndClose(new LauncherRequestEvent(true, server.config.getLauncherEXEURL()));
if (Arrays.equals(bytes, hash) && checkSecure(secureHash, secureSalt)) {
client.checkSign = true;
sendResult(new LauncherRequestEvent(false, server.config.netty.launcherEXEURL, createLauncherExtendedToken()));
sendResult(new LauncherRequestEvent(false, server.config.getLauncherEXEURL(), createLauncherExtendedToken()));
} else {
sendResultAndClose(new LauncherRequestEvent(true, server.config.netty.launcherEXEURL, createLauncherExtendedToken()));
sendResultAndClose(new LauncherRequestEvent(true, server.config.getLauncherEXEURL(), createLauncherExtendedToken()));
}
} else sendError("Request launcher type error");
}