diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/CustomConfig.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/CustomConfig.java new file mode 100644 index 00000000..4741d305 --- /dev/null +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/CustomConfig.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2022 aoshiguchen + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +package fun.asgc.neutrino.proxy.client.config; + +import lombok.Data; + +/** + * @author: aoshiguchen + * @date: 2022/10/18 + */ +@Data +public class CustomConfig { + private String jksPath; + private String serverIp; + private Integer serverPort; + private Boolean sslEnable; + private String licenseKey; +} diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfig.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfig.java index e81feb13..d5622f26 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfig.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/config/ProxyConfig.java @@ -39,6 +39,7 @@ public class ProxyConfig { private Protocol protocol; private Client client; private String licenseKey; + private CustomConfig customConfig; public static volatile boolean authSuccess; @Data diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java index 6b523a3e..ec14c39a 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/core/LicenseObtainService.java @@ -22,7 +22,6 @@ package fun.asgc.neutrino.proxy.client.core; import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; import fun.asgc.neutrino.core.annotation.Autowired; import fun.asgc.neutrino.core.annotation.Component; import fun.asgc.neutrino.core.annotation.NonIntercept; @@ -31,8 +30,8 @@ import fun.asgc.neutrino.core.context.Environment; import fun.asgc.neutrino.core.util.ArrayUtil; import fun.asgc.neutrino.core.util.FileUtil; import fun.asgc.neutrino.core.util.StringUtil; +import fun.asgc.neutrino.proxy.client.config.CustomConfig; import fun.asgc.neutrino.proxy.client.config.ProxyConfig; -import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; @@ -93,6 +92,7 @@ public class LicenseObtainService { proxyConfig.getClient().setServerPort(customConfig.getServerPort()); proxyConfig.getClient().setSslEnable(customConfig.getSslEnable()); proxyConfig.setLicenseKey(customConfig.getLicenseKey()); + proxyConfig.setCustomConfig(customConfig); proxyClientService.start(); } @@ -121,7 +121,7 @@ public class LicenseObtainService { customConfig.setLicenseKey(cliParams.get("licenseKey")); } if (StringUtil.notEmpty(customConfig.getLicenseKey())) { - FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); +// FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); return customConfig; } @@ -133,7 +133,7 @@ public class LicenseObtainService { log.error("配置异常!", e); } if (StringUtil.notEmpty(customConfig.getLicenseKey())) { - FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); +// FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); return customConfig; } } @@ -144,7 +144,7 @@ public class LicenseObtainService { license = scanner.next(); } customConfig.setLicenseKey(license); - FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); +// FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(customConfig, SerializerFeature.PrettyFormat)); return customConfig; } @@ -171,13 +171,4 @@ public class LicenseObtainService { return res; } - - @Data - public static class CustomConfig { - private String jksPath; - private String serverIp; - private Integer serverPort; - private Boolean sslEnable; - private String licenseKey; - } } diff --git a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/handler/ProxyMessageAuthHandler.java b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/handler/ProxyMessageAuthHandler.java index 6e70cb21..dd7e148e 100644 --- a/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/handler/ProxyMessageAuthHandler.java +++ b/neutrino-proxy-client/src/main/java/fun/asgc/neutrino/proxy/client/handler/ProxyMessageAuthHandler.java @@ -22,6 +22,7 @@ package fun.asgc.neutrino.proxy.client.handler; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import fun.asgc.neutrino.core.annotation.Autowired; import fun.asgc.neutrino.core.annotation.Component; import fun.asgc.neutrino.core.annotation.Match; @@ -48,17 +49,18 @@ import lombok.extern.slf4j.Slf4j; public class ProxyMessageAuthHandler implements ProxyMessageHandler { @Autowired private LicenseObtainService licenseObtainService; + @Autowired + private ProxyConfig proxyConfig; @Override public void handle(ChannelHandlerContext context, ProxyMessage proxyMessage) { String info = proxyMessage.getInfo(); JSONObject data = JSONObject.parseObject(info); Integer code = data.getInteger("code"); - String licenseKey = data.getString("licenseKey"); log.info("认证结果:{}", info); if (ExceptionEnum.SUCCESS.getCode().equals(code)) { ProxyConfig.authSuccess = true; - FileUtil.write("./.neutrino-proxy.license", licenseKey); + FileUtil.write("./.neutrino-proxy-client.json", JSONObject.toJSONString(proxyConfig.getCustomConfig(), SerializerFeature.PrettyFormat)); licenseObtainService.stop(); } }