首页 > 其他分享 >.NET + SignalR 的反向代理 websocket/http 数据隧道

.NET + SignalR 的反向代理 websocket/http 数据隧道

时间:2023-05-17 11:13:48浏览次数:54  
标签:udp websocket -- 端口 tcp SignalR http 客户端

开源项目TuToDataTunnel: https://github.com/viordash/TuToDataTunnel,这个项目可以满足以下几个需求:

  1. 使用一个公网 IP 地址和一个 tcp 端口,默认端口为 80 http。

  1. Websocket 或 http 隧道传输、性能或可访问性。理想情况下,将自动选择最佳可用交换协议。

  1. 同时通过隧道传输多个 TCP 和 udp 套接字。

  1. 可通过启动参数配置的跨平台控制台应用程序

image

整个解决方案是 两个应用程序TutoProxy.Server和TutoProxy.Client:

TutoProxy.Server应用程序是用于隧道客户端和tcp/udp终端客户端的入站服务器,部署在公网上。它的启动参数是:

  • <host>,服务器的地址,例如 http://200.100.10.1:8088

  • --tcp <tcp>,侦听的 TCP 端口列表,例如 --tcp=80,81,443,8000-8100。(可选)前提是存在 --udp 选项。

  • --udp <udp>,侦听的 UDP 端口列表,例如 --udp=700-900,65500。(可选)前提是存在 --tcp 选项。

  • --客户端<客户端>允许客户端的可选列表,例如 --client=Client1,Client2 如果省略此参数,则不会对连接的客户端进行访问检查

例如,用于启动大约 50 个 TCP/UDP 端口到三个客户端的输入隧道的行如下所示:

TutoProxy.Server http://200.100.10.1:8088 --tcp=3389,8071-8073,10000-10010,20000-20010 --udp=5000-5010,7000-7010 --clients=Client0Linux,ClientSecLinux,Client3Win


TutoProxy.Client应用程序是一个出口隧道客户端。

它的启动参数是:

  • <server>,TutoProxy.Server服务器的地址,例如 http://200.100.10.1:8088

  • <sendto>,数据目标的 IP,例如 127.0.0.1

  • --id <id>, 客户端 ID,例如 --id=Client1

  • --tcp <tcp>,TCP 端口列表,例如 --tcp=80,81,443,8000-8100。(可选)前提是存在 --udp 选项。

  • --udp <udp>,UDP 端口列表,例如 --udp=700-900.65500。(可选)前提是存在 --tcp 选项。

例如,启动 5 个 tcp 和 3 个 udp 端口的输出隧道的行将如下所示:

TutoProxy.Client http://200.100.10.1:8088 127.0.0.1 --tcp=8071,10000,20004-20006 --udp=7000-7002 --id= Client0Linux.

重要的是要考虑到不同TutoProxy.Client的端口不应该重叠,即每个客户端提供一组唯一的套接字/端口。

标签:udp,websocket,--,端口,tcp,SignalR,http,客户端
From: https://www.cnblogs.com/shanyou/p/17407937.html

相关文章

  • Qt编写视频监控系统73-不同视频流不同类型的判断和解析(http/m3u8/rtsp/rtmp等)
    一、前言这套视频监控系统大概从2018年起步整体框架,一步步积累到现在,中间经历了无数次的各种视频文件、视频流、视频设备的播放测试,比如光视频文件就有mp4/wmv/rmvb/mkv/avi等格式,视频设备有本地USB摄像头、桌面等,视频流有rtmp/rtsp/rtp/http等,其中http开头的就有视频文件和视频......
  • .Net Core 实现WebSocket Server 的另外三种方式
    回顾之前已经写过关于《WebSocket原生socket实现》和《.NetCoreWebSocket服务端与客户端完整示例》以及《基于.NetTcpListener实现WebSocketServer通讯》。其中除了《.NetCoreWebSocket服务端与客户端完整示例》外,都是基于自己对Websocket协议的实现,这种实现在生产环境......
  • spring boot发送http
     publicstatic<T>TdoGet(Stringurl,Class<T>responseType,Map<String,Object>paramMap){    SimpleClientHttpRequestFactoryrequestFactory=newSimpleClientHttpRequestFactory();    requestFactory.setConnectTimeout(1000);  ......
  • 服务器 nginx 前端配置 SSL 证书并能访问 HTTPS
    安装以下步骤,按图索骥即可。 首先,没安装nginx的去这个地址,安装nginx。本人版本是(1.18.0).https://nginx.org/安装好了之后,在nginx目录下执行cmd运行命令nginx.exe-V出现以下情况就证明nginx自带了SSL模块了,不需要额外安装 有了上面这个东西之后,nginx底下......
  • 用QWebsocket时关于信号槽的一个坑
    https://blog.csdn.net/zerolity/article/details/94746977 坑描述:connect(&m_webSocket,&QWebSocket::textMessageReceived,this,&BWebsocket::onTextMessageReceived);1和主机通过websocket通信。接收主机发的指令有时导致重复接收。信号发送者和接受者同一线程。onTe......
  • Unable to bind to http://localhost:xxxx on the IPv4 loopback interface: '以一种
    这个错误大概率是端口冲突, 这里不再赘述。具体(参考https://www.cnblogs.com/zhengdongdong/p/12001152.html)我这边的原因是运行端口在被排除端口范围中(参考https://gsw945.com/index.php/archives/33/)cmd运行 netshinterfaceipv4showexcludedportrangeprotocol=tcp......
  • C# HttpClient发送Get和Post请求
     HttpClient发送Get和Post请求 publicclassHttpHelper{///<summary>///发起POST同步请求//////</summary>///<paramname="url"></param>///<paramname="postData&q......
  • http yolov5 tensorrt C++ windows 客户端服务器高性能部署,使用tensorrt推理yolov5模
    httpyolov5tensorrtC++windows客户端服务器高性能部署,使用tensorrt推理yolov5模型,封装成了dll;http服务器,监听指定端口、调用dll加载模型到内存(可同时支持多个模型同时加载并行运行)同时监听指定http指定路径是否有请求,收到请求后解析json数据中数据,从中解析出识别指定模型类......
  • httprunner 4.x学习 - 4.提取返回结果与校验(extract, validate)
    执行命令:hrprun.\test_extract.yml--gen-html-report日志:6:03PMINFvalidatestatus_codeassertMethod=eqcheckExpr=status_codecheckValue=200checkValueType=int64expectValue=200expectValueType=int64result=true6:03PMINFrunstependexportVars={"ag......
  • 7个很有特点的HTTP代理服务器
    HTTP代理服务器1.Privoxy-网页过滤、系统支持性好Privoxy是一款不进行网页缓存且自带过滤功能的代理服务器,针对HTTP、HTTPS协议。通过其过滤功能,用户可以保护隐私、对网页内容进行过滤、管理Cookie。可以在Linux、MicrosoftWindows、MacOS、AmigaOS、BeOS以及大多数类Unix......