diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java index c301c81..08511bf 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/advanced/NettySocketProtocolHandleSocketLocalProxyTypeAdvanced.java @@ -9,12 +9,13 @@ import io.netty.handler.codec.socksx.v5.Socks5AddressType; import io.netty.handler.codec.socksx.v5.Socks5CommandRequestDecoder; import io.netty.handler.codec.socksx.v5.Socks5CommandStatus; import lombok.extern.slf4j.Slf4j; -import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyChannelContext; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettyProxyMsg; +import org.framework.lazy.cloud.network.heartbeat.common.advanced.payload.NettySocketChannelContext; import org.framework.lazy.cloud.network.heartbeat.common.advanced.proxy.socket.AbstractHandleSocketLocalProxyTypeAdvanced; import org.framework.lazy.cloud.network.heartbeat.common.factory.EventLoopGroupFactory; -import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyClient2DestInboundHandler; -import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyDest2ClientInboundHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettyProxy2realInboundHandler; +import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocketReal2ProxyInboundHandler; import org.framework.lazy.cloud.network.heartbeat.protocol.handler.NettySocks5CommandRequestHandler; import org.springframework.stereotype.Component; @@ -32,13 +33,14 @@ public class NettySocketProtocolHandleSocketLocalProxyTypeAdvanced */ @Override protected void doHandler(NettyChannelContext nettyChannelContext, NettyProxyMsg nettyProxyMsg) { - Channel channel = nettyChannelContext.channel(); - ChannelHandlerContext channelHandlerContext = nettyChannelContext.channelHandlerContext(); + NettySocketChannelContext nettySocketChannelContext = (NettySocketChannelContext) nettyChannelContext; + Channel channel = nettySocketChannelContext.channel(); + ChannelHandlerContext channelHandlerContext = nettySocketChannelContext.channelHandlerContext(); EventLoopGroup group = EventLoopGroupFactory.createClientWorkGroup(); String host = nettyProxyMsg.getTargetIpString(); Integer port = Integer.parseInt(nettyProxyMsg.getTargetPortString()); Bootstrap b = new Bootstrap(); - Socks5AddressType socks5AddressType=Socks5AddressType.IPv4; + Socks5AddressType socks5AddressType = nettySocketChannelContext.getSocks5AddressType(); b.group(group) .channel(NioSocketChannel.class) @@ -46,7 +48,7 @@ public class NettySocketProtocolHandleSocketLocalProxyTypeAdvanced .handler(new ChannelInitializer() { @Override protected void initChannel(SocketChannel ch) throws Exception { - ch.pipeline().addLast(new NettyDest2ClientInboundHandler(channelHandlerContext)); + ch.pipeline().addLast(new NettySocketReal2ProxyInboundHandler(channelHandlerContext)); } }); log.info("准备连接目标服务器,ip={},port={}", host, port); @@ -55,7 +57,7 @@ public class NettySocketProtocolHandleSocketLocalProxyTypeAdvanced if (future.isSuccess()) { log.info("目标服务器连接成功"); //添加客户端转发请求到服务端的Handler - channel.pipeline().addLast(new NettyClient2DestInboundHandler(future)); + channel.pipeline().addLast(new NettyProxy2realInboundHandler(future)); DefaultSocks5CommandResponse commandResponse = new DefaultSocks5CommandResponse(Socks5CommandStatus.SUCCESS, socks5AddressType); channel.writeAndFlush(commandResponse); channel.pipeline().remove(NettySocks5CommandRequestHandler.class); diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyTcpProxySocketApplicationListener.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java similarity index 80% rename from wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyTcpProxySocketApplicationListener.java rename to wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java index fa99488..0787d8c 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettyTcpProxySocketApplicationListener.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/context/NettySocketProxySocketApplicationListener.java @@ -13,7 +13,7 @@ import org.springframework.stereotype.Component; @Slf4j @Component -public class NettyTcpProxySocketApplicationListener implements SocketApplicationListener { +public class NettySocketProxySocketApplicationListener implements SocketApplicationListener { private final EventLoopGroup bossGroup = new NioEventLoopGroup(); private final EventLoopGroup workerGroup = new NioEventLoopGroup(); @@ -21,7 +21,7 @@ public class NettyTcpProxySocketApplicationListener implements SocketApplication private ChannelFuture channelFuture; private final ProtocolProxyProperties protocolProxyProperties; - public NettyTcpProxySocketApplicationListener(NettyTcpProxyFilter nettyTcpProxyFilter, ProtocolProxyProperties protocolProxyProperties) { + public NettySocketProxySocketApplicationListener(NettyTcpProxyFilter nettyTcpProxyFilter, ProtocolProxyProperties protocolProxyProperties) { this.nettyTcpProxyFilter = nettyTcpProxyFilter; this.protocolProxyProperties = protocolProxyProperties; } @@ -34,8 +34,8 @@ public class NettyTcpProxySocketApplicationListener implements SocketApplication */ @Override public void doRunning() throws Exception { - ProtocolProxyProperties.TcpProtocolProxy tcpProtocolProxy = protocolProxyProperties.getTcpProtocolProxy(); - Integer tcpProtocolProxyPort = tcpProtocolProxy.getPort(); + ProtocolProxyProperties.SocketProtocolProxy socketProtocolProxy = protocolProxyProperties.getSocketProtocolProxy(); + Integer socketProtocolProxyPort = socketProtocolProxy.getPort(); try { ServerBootstrap b = new ServerBootstrap(); b.group(bossGroup, workerGroup) @@ -53,19 +53,19 @@ public class NettyTcpProxySocketApplicationListener implements SocketApplication .childOption(ChannelOption.WRITE_BUFFER_WATER_MARK, new WriteBufferWaterMark(1024 * 1024, 1024 * 1024 * 2)) .childHandler(nettyTcpProxyFilter); - channelFuture = b.bind(tcpProtocolProxyPort).sync(); + channelFuture = b.bind(socketProtocolProxyPort).sync(); channelFuture.addListener((ChannelFutureListener) channelFuture -> { // 服务器已启动 - log.info("TCP 协议代理 服务器启动成功 【{}】", tcpProtocolProxyPort); + log.info("Socket 协议代理 服务器启动成功 【{}】", socketProtocolProxyPort); }); channelFuture.channel().closeFuture().sync(); } catch (Exception e) { - log.error("启动TCP 协议代理 失败,端口:{}", tcpProtocolProxyPort, e); + log.error("启动Socket 协议代理 失败,端口:{}", socketProtocolProxyPort, e); } finally { destroy(); // 服务器已关闭 - log.warn("TCP 协议代理 服务关闭"); + log.warn("Socket 协议代理 服务关闭"); } } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyProxy2realInboundHandler.java similarity index 87% rename from wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java rename to wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyProxy2realInboundHandler.java index 1ff3878..d9f0052 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyClient2DestInboundHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyProxy2realInboundHandler.java @@ -11,11 +11,11 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -public class NettyClient2DestInboundHandler extends ChannelInboundHandlerAdapter { +public class NettyProxy2realInboundHandler extends ChannelInboundHandlerAdapter { private final ChannelFuture dstChannelFuture; - public NettyClient2DestInboundHandler(ChannelFuture dstChannelFuture) { + public NettyProxy2realInboundHandler(ChannelFuture dstChannelFuture) { this.dstChannelFuture = dstChannelFuture; } @@ -47,7 +47,7 @@ public class NettyClient2DestInboundHandler extends ChannelInboundHandlerAdapter @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { - log.error("NettyClient2DestInboundHandler exception", cause); + log.error("NettyProxy2realInboundHandler exception", cause); ctx.close(); } } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocketReal2ProxyInboundHandler.java similarity index 85% rename from wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java rename to wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocketReal2ProxyInboundHandler.java index 82c18c2..05c652e 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettyDest2ClientInboundHandler.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/handler/NettySocketReal2ProxyInboundHandler.java @@ -9,11 +9,11 @@ import lombok.extern.slf4j.Slf4j; @Slf4j -public class NettyDest2ClientInboundHandler extends ChannelInboundHandlerAdapter { +public class NettySocketReal2ProxyInboundHandler extends ChannelInboundHandlerAdapter { private final ChannelHandlerContext clientChannelHandlerContext; - public NettyDest2ClientInboundHandler(ChannelHandlerContext clientChannelHandlerContext) { + public NettySocketReal2ProxyInboundHandler(ChannelHandlerContext clientChannelHandlerContext) { this.clientChannelHandlerContext = clientChannelHandlerContext; } @@ -43,7 +43,7 @@ public class NettyDest2ClientInboundHandler extends ChannelInboundHandlerAdapter @Override public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception { - log.error("NettyDest2ClientInboundHandler exception", cause); + log.error("NettySocketReal2ProxyInboundHandler exception", cause); ctx.close(); } } diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java index d1b17fb..65652a9 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/init/InitProtocolProxySocket.java @@ -3,7 +3,7 @@ package org.framework.lazy.cloud.network.heartbeat.protocol.init; import lombok.extern.slf4j.Slf4j; import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettyHttpProxySocketApplicationListener; -import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettyTcpProxySocketApplicationListener; +import org.framework.lazy.cloud.network.heartbeat.protocol.context.NettySocketProxySocketApplicationListener; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; @@ -17,7 +17,7 @@ import org.springframework.context.annotation.Import; @Slf4j @Configuration @Import({NettyHttpProxySocketApplicationListener.class, - NettyTcpProxySocketApplicationListener.class}) + NettySocketProxySocketApplicationListener.class}) public class InitProtocolProxySocket { diff --git a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/properties/ProtocolProxyProperties.java b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/properties/ProtocolProxyProperties.java index 072b0e3..2f239ba 100644 --- a/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/properties/ProtocolProxyProperties.java +++ b/wu-lazy-cloud-heartbeat-protocol-proxy/src/main/java/org/framework/lazy/cloud/network/heartbeat/protocol/properties/ProtocolProxyProperties.java @@ -21,11 +21,8 @@ public class ProtocolProxyProperties { /** * tcp协议代理 */ - private TcpProtocolProxy tcpProtocolProxy = new TcpProtocolProxy(); - /** - * udp协议代理 - */ - private UdpProtocolProxy udpProtocolProxy = new UdpProtocolProxy(); + private SocketProtocolProxy socketProtocolProxy = new SocketProtocolProxy(); + @@ -35,12 +32,8 @@ public class ProtocolProxyProperties { } @Data - public static class TcpProtocolProxy { + public static class SocketProtocolProxy { private Integer port=9001; } - @Data - public static class UdpProtocolProxy { - private Integer port=10001; - } }