将TCP/UDP放到WebSocket中传输(就能走CDN)基于ws的内网穿透 隧道代理 tcp2ws 全平台0依赖
本次更新主要在客户端,服务端可以不更新
@manaphp 的需求:
tcp2ws ws://127.0.0.1/ws/ 127.0.0.1:1234
#8使用环境变量http_proxy和https_proxy来使用代理,避免客端机器机无法上网的情况
@swimmingchar 提的需求 #6
只需更新客户端即可
启动服务时会检查服务是否真的启动成功,方便在更新版本替换服务端时新服务在旧服务停止后自动补上去
至于怎么让新服务端不停尝试启动呢,写一个死循环就行
while true;do;tcp2ws 127.0.0.1:22 127.0.0.1:22222;done
为了避免连续传输大量数据时心跳对连接的干扰 在2分钟内,隧道中有数据传输,将不发送心跳 于是就更稳定了,好诶 (只需要更新服务端就行了)
tcp2ws-freebsd可用于TrueNAS
如果没指定监听ip那就全部监听 省掉不必要的防火墙
在多网卡时只监听其中一个网卡
比如监听设置为127.0.0.1交给nginx转发就不需要使用防火墙拦截这个监听端口也不会被外部访问
这样启动服务 tcp2ws 22 127.0.0.1:222
说人话就是支持https,需要自己整一个证书,举个🌰
tcp2ws 22 1234 server.crt server.key
也可以直接
tcp2ws 22 1234 ssl
来使用默认的证书路径server.crt和server.key
另外nginx是可以把wss转到ws的,所以可以起https的ng转给ws的tcp2ws
go的map是线程不安全的,同时读写就会炸到退出
因此给他加了一个锁,确保了高并发下的稳定性
尝试减少对map的访问,来避免map的读写冲突
(这个问题主要体现在低性能设备并且请求连接断开特别疯狂的时候)
错误主要体现于客户端,服务端可以继续用4.4
(编辑了三次了)
重要的事情说三次,更新更新更新,一定要更新到这个版本
(还是虽然有向上兼容,能用,但是不建议)