桌面共享使用打洞或者服务器中继进行代理

This commit is contained in:
少年郎秃头呀
2024-05-06 15:07:55 +08:00
parent 4e31b7ebe5
commit d27742afcd
11 changed files with 151 additions and 71 deletions

View File

@@ -46,6 +46,7 @@ namespace cmonitor.plugins.viewer.proxy
}
}
RelayTransportState relayState = await relayTransfer.ConnectAsync(runningConfig.Data.Viewer.ServerMachine, "viewer", config.Data.Client.Relay.SecretKey);
if (relayState != null)
{
tunnelSocket = relayState.Socket;
@@ -64,14 +65,14 @@ namespace cmonitor.plugins.viewer.proxy
{
tunnelTransfer.OnConnected += (TunnelTransportState state) =>
{
if (state != null && state.TransportType == ProtocolType.Tcp && state.TransactionId == "viewer")
if (state != null && state.TransportType == ProtocolType.Tcp && state.TransactionId == "viewer" && state.Direction == TunnelTransportDirection.Reverse)
{
BindReceiveTarget(state.ConnectedObject as Socket, null);
}
};
relayTransfer.OnConnected += (RelayTransportState state) =>
{
if (state != null && state.Info.TransactionId == "viewer")
if (state != null && state.Info.TransactionId == "viewer" && state.Direction == RelayTransportDirection.Reverse)
{
BindReceiveTarget(state.Socket, null);
}