mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-16 10:25:07 +08:00
【fix】新增本地socks代理服务端
This commit is contained in:
@ -50,11 +50,11 @@ public class NettyHttpProxyHandler extends ChannelInboundHandlerAdapter {
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
Channel channel = ctx.channel();
|
||||
if (channel instanceof NioSocketChannel) {
|
||||
System.out.println("这是一个TCP通道");
|
||||
System.out.println("http 这是一个TCP通道");
|
||||
} else if (channel instanceof NioDatagramChannel) {
|
||||
System.out.println("这是一个UDP通道");
|
||||
System.out.println("http 这是一个UDP通道");
|
||||
} else {
|
||||
System.out.println("未知类型的通道");
|
||||
System.out.println("http 未知类型的通道");
|
||||
}
|
||||
String visitorId = UUID.randomUUID().toString();
|
||||
ChannelAttributeKeyUtils.buildVisitorId(channel, visitorId);
|
||||
|
@ -1,14 +1,17 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.protocol.handler;
|
||||
|
||||
import io.netty.channel.*;
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import io.netty.channel.SimpleChannelInboundHandler;
|
||||
import io.netty.channel.socket.nio.NioDatagramChannel;
|
||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
||||
import io.netty.handler.codec.socksx.v5.*;
|
||||
import io.netty.handler.codec.socksx.v5.Socks5AddressType;
|
||||
import io.netty.handler.codec.socksx.v5.Socks5CommandRequest;
|
||||
import io.netty.handler.codec.socksx.v5.Socks5CommandType;
|
||||
import io.netty.util.ReferenceCountUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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.adapter.ChannelTypeAdapter;
|
||||
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.constant.ProxyMessageType;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.utils.ChannelAttributeKeyUtils;
|
||||
@ -33,11 +36,11 @@ public class NettySocks5CommandRequestHandler extends SimpleChannelInboundHandle
|
||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||
Channel channel = ctx.channel();
|
||||
if (channel instanceof NioSocketChannel) {
|
||||
System.out.println("这是一个TCP通道");
|
||||
System.out.println("socks 这是一个TCP通道");
|
||||
} else if (channel instanceof NioDatagramChannel) {
|
||||
System.out.println("这是一个UDP通道");
|
||||
System.out.println("socks 这是一个UDP通道");
|
||||
} else {
|
||||
System.out.println("未知类型的通道");
|
||||
System.out.println("socks 未知类型的通道");
|
||||
}
|
||||
String visitorId = UUID.randomUUID().toString();
|
||||
ChannelAttributeKeyUtils.buildVisitorId(channel, visitorId);
|
||||
@ -78,6 +81,9 @@ public class NettySocks5CommandRequestHandler extends SimpleChannelInboundHandle
|
||||
proxyMsg.setType(ProxyMessageType.SOCKET_SERVER_PROXY_CLIENT_);
|
||||
}
|
||||
}
|
||||
|
||||
// 绑定当前通道地址类型
|
||||
ChannelAttributeKeyUtils.buildSocks5AddressType(ctx.channel(), socks5AddressType.byteValue());
|
||||
NettySocketChannelContext nettyChannelContext=new NettySocketChannelContext();
|
||||
nettyChannelContext.setChannelHandlerContext(ctx);
|
||||
nettyChannelContext.setSocks5AddressType(request.dstAddrType());
|
||||
|
Reference in New Issue
Block a user