mirror of
https://gitee.com/wujiawei1207537021/wu-lazy-cloud-network.git
synced 2025-06-16 18:35:05 +08:00
【fix】 支持本地代理
This commit is contained in:
@ -178,6 +178,28 @@ public class NettyProxyMsg {
|
||||
}
|
||||
return new String(clientId, StandardCharsets.UTF_8);
|
||||
}
|
||||
/**
|
||||
* 客户端目标地址
|
||||
*
|
||||
* @return 客户端目标地址
|
||||
*/
|
||||
public String getTargetIpString() {
|
||||
if (ObjectUtils.isEmpty(clientTargetIp)) {
|
||||
return null;
|
||||
}
|
||||
return new String(clientTargetIp, StandardCharsets.UTF_8);
|
||||
}
|
||||
/**
|
||||
* 客户端目标端口
|
||||
*
|
||||
* @return 客户端目标端口
|
||||
*/
|
||||
public String getTargetPortString() {
|
||||
if (ObjectUtils.isEmpty(clientTargetPort)) {
|
||||
return null;
|
||||
}
|
||||
return new String(clientTargetPort, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
public void setClientTargetIp(byte[] clientTargetIp) {
|
||||
this.clientTargetIp = clientTargetIp;
|
||||
|
@ -0,0 +1,25 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http;
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||
|
||||
/**
|
||||
* http 本地代理处理
|
||||
* @param <MSG>
|
||||
*/
|
||||
public abstract class AbstractHttpProtocolHandleChannelLocalProxyTypeAdvanced<MSG> extends AbstractHandleChannelTypeAdvanced<NettyProxyMsg> implements HandleChannelTypeAdvanced {
|
||||
|
||||
|
||||
/**
|
||||
* 是否支持当前类型
|
||||
*
|
||||
* @param nettyProxyMsg 通道数据
|
||||
* @return 布尔类型 是、否
|
||||
*/
|
||||
@Override
|
||||
protected boolean doSupport(NettyProxyMsg nettyProxyMsg) {
|
||||
return TcpMessageTypeEnums.HTTP_LOCAL_PROXY.getTypeByte() == nettyProxyMsg.getType();
|
||||
}
|
||||
}
|
@ -0,0 +1,25 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http;
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.NettyProxyMsg;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.AbstractHandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.HandleChannelTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.enums.TcpMessageTypeEnums;
|
||||
|
||||
/**
|
||||
* http 远程处理处理
|
||||
* @param <MSG>
|
||||
*/
|
||||
public abstract class AbstractHttpProtocolHandleChannelRemoteProxyTypeAdvanced<MSG> extends AbstractHandleChannelTypeAdvanced<NettyProxyMsg> implements HandleChannelTypeAdvanced {
|
||||
|
||||
|
||||
/**
|
||||
* 是否支持当前类型
|
||||
*
|
||||
* @param nettyProxyMsg 通道数据
|
||||
* @return 布尔类型 是、否
|
||||
*/
|
||||
@Override
|
||||
protected boolean doSupport(NettyProxyMsg nettyProxyMsg) {
|
||||
return TcpMessageTypeEnums.HTTP_REMOTE_PROXY.getTypeByte() == nettyProxyMsg.getType();
|
||||
}
|
||||
}
|
@ -1,5 +1,7 @@
|
||||
package org.framework.lazy.cloud.network.heartbeat.common.constant;
|
||||
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http.client.AbstractHttpClientProtocolHandleChannelLocalProxyTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http.client.AbstractHttpClientProtocolHandleChannelRemoteProxyTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.*;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.server.*;
|
||||
@ -213,6 +215,31 @@ public class TcpMessageType {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* http 代理 ------------------------------------------------------------------------------------
|
||||
* 90~120
|
||||
*/
|
||||
/**
|
||||
* http 本地代理
|
||||
* @see TcpMessageTypeEnums#HTTP_LOCAL_PROXY
|
||||
* @see AbstractHttpClientProtocolHandleChannelLocalProxyTypeAdvanced
|
||||
*
|
||||
*/
|
||||
public static final byte HTTP_LOCAL_PROXY = TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE+1;
|
||||
/**
|
||||
* http 远程代理
|
||||
* @see TcpMessageTypeEnums#HTTP_REMOTE_PROXY
|
||||
* @see AbstractHttpClientProtocolHandleChannelRemoteProxyTypeAdvanced
|
||||
*
|
||||
*/
|
||||
public static final byte HTTP_REMOTE_PROXY = HTTP_LOCAL_PROXY+1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
@ -2,6 +2,8 @@ package org.framework.lazy.cloud.network.heartbeat.common.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http.client.AbstractHttpClientProtocolHandleChannelLocalProxyTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.protocol.http.client.AbstractHttpClientProtocolHandleChannelRemoteProxyTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.constant.TcpMessageType;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.AbstractTcpHandleChannelHeartbeatTypeAdvanced;
|
||||
import org.framework.lazy.cloud.network.heartbeat.common.advanced.tcp.client.*;
|
||||
@ -121,7 +123,25 @@ public enum TcpMessageTypeEnums {
|
||||
* @see AbstractHandleTcpReportClientPermeateClientTransferCloseTypeAdvanced
|
||||
*/
|
||||
TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE(TcpMessageType.TCP_REPORT_CLIENT_PERMEATE_CLIENT_TRANSFER_CLOSE, "TCP 上报客户端渗透客户端通信通道关闭"),
|
||||
|
||||
|
||||
/**
|
||||
* http本地代理
|
||||
*
|
||||
* @see AbstractHttpClientProtocolHandleChannelLocalProxyTypeAdvanced
|
||||
*/
|
||||
HTTP_LOCAL_PROXY(TcpMessageType.HTTP_LOCAL_PROXY, "http本地代理"),
|
||||
|
||||
/**
|
||||
* http远程代理
|
||||
*
|
||||
* @see AbstractHttpClientProtocolHandleChannelRemoteProxyTypeAdvanced
|
||||
*/
|
||||
HTTP_REMOTE_PROXY(TcpMessageType.HTTP_REMOTE_PROXY, "http远程代理"),
|
||||
|
||||
|
||||
/**
|
||||
* 下发 客户端接收连接成功通知
|
||||
* @see AbstractHandleTcpDistributeConnectSuccessNotificationTypeAdvancedHandle
|
||||
*/
|
||||
TCP_DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION(TcpMessageType.TCP_DISTRIBUTE_CLIENT_CONNECTION_SUCCESS_NOTIFICATION, "TCP 下发 客户端接收连接成功通知"),
|
||||
|
Reference in New Issue
Block a user