diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java index af5e6a9..cb636ac 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyHttpProxySocketApplicationListener.java @@ -58,15 +58,15 @@ public class NettyHttpProxySocketApplicationListener implements SocketApplicatio channelFuture.addListener((ChannelFutureListener) channelFuture -> { // 服务器已启动 - log.info("http 协议代理 服务器启动成功 【{}】",httpProtocolProxyPort); + log.info("Http 协议代理 服务器启动成功 【{}】",httpProtocolProxyPort); }); channelFuture.channel().closeFuture().sync(); } catch (Exception e) { - log.error("启动http 协议代理 失败", e); + log.error("启动Http 协议代理 失败", e); } finally { destroy(); // 服务器已关闭 - log.warn("http 协议代理 服务关闭"); + log.warn("Http 协议代理 服务关闭"); } } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java index 16cb400..5e66f4b 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyHttpProxyHandler.java @@ -6,6 +6,7 @@ import io.netty.channel.*; import io.netty.channel.socket.nio.NioDatagramChannel; import io.netty.channel.socket.nio.NioSocketChannel; import io.netty.handler.codec.http.FullHttpRequest; +import io.netty.handler.codec.socksx.v5.Socks5AddressType; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.adapter.ChannelTypeAdapter; @@ -82,18 +83,23 @@ public class NettyHttpProxyHandler extends ChannelInboundHandlerAdapter { ProxyRoute route = RouteContext.getRoute(host, String.valueOf(port)); - String targetIp = route.getTargetIp(); - String targetPort = route.getTargetPort(); + proxyMsg.setVisitorId(visitorId); - proxyMsg.setClientTargetIp(targetIp); - proxyMsg.setClientTargetPort(Integer.valueOf(targetPort)); proxyMsg.setData(bytes); if(ObjectUtils.isEmpty(route)){ + // 本地代理 proxyMsg.setType(ProxyMessageType.HTTP_LOCAL_PROXY); + proxyMsg.setClientTargetIp(host); + proxyMsg.setClientTargetPort(port); }else { + // 远程代理 + String targetIp = route.getTargetIp(); + String targetPort = route.getTargetPort(); + proxyMsg.setClientTargetIp(targetIp); + proxyMsg.setClientTargetPort(Integer.valueOf(targetPort)); if(RouteType.LOCAL.equals(route.getRouteType())){ proxyMsg.setType(ProxyMessageType.HTTP_LOCAL_PROXY); }else if (RouteType.CLIENT_PROXY_CLIENT.equals(route.getRouteType())){ diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java index a2c4882..45fc4c6 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocks5CommandRequestHandler.java @@ -59,15 +59,20 @@ public class NettySocks5CommandRequestHandler extends SimpleChannelInboundHandle proxyMsg.setVisitorId(visitorId); ProxyRoute route = RouteContext.getRoute(host, String.valueOf(port)); - String targetIp = route.getTargetIp(); - String targetPort = route.getTargetPort(); - proxyMsg.setClientTargetIp(targetIp); - proxyMsg.setClientTargetPort(Integer.parseInt(targetPort)); + if(ObjectUtils.isEmpty(route)){ + // 未查询到路由信息、本地代理 proxyMsg.setType(ProxyMessageType.SOCKS_LOCAL_PROXY); + proxyMsg.setClientTargetIp(host); + proxyMsg.setClientTargetPort(port); }else { + // 其他路由代理 + String targetIp = route.getTargetIp(); + String targetPort = route.getTargetPort(); + proxyMsg.setClientTargetIp(targetIp); + proxyMsg.setClientTargetPort(Integer.parseInt(targetPort)); if(RouteType.LOCAL.equals(route.getRouteType())){ proxyMsg.setType(ProxyMessageType.SOCKS_LOCAL_PROXY); }else if (RouteType.CLIENT_PROXY_CLIENT.equals(route.getRouteType())){