Releases: zanjie1999/tcp-over-websocket
Ws服务器IP优选 服务器连通性检查
本次更新主要在客户端,服务端可以不更新
- 客户端启动时会自动获取域名对应的ip(如果服务端链接是个域名的话),会进行tcping选择延迟最低的ip进行连接
与直接替换掉链接不同,服务端依然能收到连接使用的域名(像cf这种公共cdn,使用域名判断该转给谁)
在Android中运行的时候再也不会因为开了Vpn而导致域名无法解析了
也不会因为Openwrt的dnsmasq上游爆炸而导致无法连接 - nginx提示的ip改为127.0.0.1照护一下Windows用户
@manaphp 的需求:
增加http代理支持
使用环境变量http_proxy和https_proxy来使用代理,避免客端机器机无法上网的情况
@swimmingchar 提的需求 #6
只需更新客户端即可
修复了服务未启动成功时仍在运行的Bug
启动服务时会检查服务是否真的启动成功,方便在更新版本替换服务端时新服务在旧服务停止后自动补上去
至于怎么让新服务端不停尝试启动呢,写一个死循环就行
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
支持wss服务(SSL)
说人话就是支持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
更新!更新!更新!
(编辑了三次了)
- 修复了一个我也不知道为什么之前居然能用的问题
(说人话就是优化了稳定性) - 被扫或是直接访问会显示访问者ip
- release中windows的二进制文件名变成了tcp2ws.exe
- 崩溃后会自动重启重连
- 修复上次修改导致服务端不会关闭多余连接的问题
重要的事情说三次,更新更新更新,一定要更新到这个版本
(还是虽然有向上兼容,能用,但是不建议)
Web服务伪装
优化了连接突然断开时的稳定性,建议更新
可以写一个index.html文件放到运行目录下
直接访问时就会显示这个文件的内容,伪装成一个非常普通的Web服务