Tcp Over Websocket Versions Save

将TCP/UDP放到WebSocket中传输(就能走CDN)基于ws的内网穿透 隧道代理 tcp2ws 全平台0依赖

8.3

1 year ago

本次更新主要在客户端,服务端可以不更新

  1. 客户端启动时会自动获取域名对应的ip(如果服务端链接是个域名的话),会进行tcping选择延迟最低的ip进行连接 与直接替换掉链接不同,服务端依然能收到连接使用的域名(像cf这种公共cdn,使用域名判断该转给谁) 在Android中运行的时候再也不会因为开了Vpn而导致域名无法解析了 也不会因为Openwrt的dnsmasq上游爆炸而导致无法连接
  2. nginx提示的ip改为127.0.0.1照护一下Windows用户

@manaphp 的需求:

  1. 客户端可以指定tcp监听ip,就像这样只监听本地tcp2ws ws://127.0.0.1/ws/ 127.0.0.1:1234 #8
  2. nginx提示的location改为随机12位uuid #9

8.0

2 years ago

使用环境变量http_proxy和https_proxy来使用代理,避免客端机器机无法上网的情况 @swimmingchar 提的需求 #6
只需更新客户端即可

7.0

2 years ago

启动服务时会检查服务是否真的启动成功,方便在更新版本替换服务端时新服务在旧服务停止后自动补上去
至于怎么让新服务端不停尝试启动呢,写一个死循环就行 while true;do;tcp2ws 127.0.0.1:22 127.0.0.1:22222;done

6.2

2 years ago

为了避免连续传输大量数据时心跳对连接的干扰 在2分钟内,隧道中有数据传输,将不发送心跳 于是就更稳定了,好诶 (只需要更新服务端就行了)

tcp2ws-freebsd可用于TrueNAS

6.1

2 years ago

如果没指定监听ip那就全部监听 省掉不必要的防火墙
在多网卡时只监听其中一个网卡 比如监听设置为127.0.0.1交给nginx转发就不需要使用防火墙拦截这个监听端口也不会被外部访问
这样启动服务 tcp2ws 22 127.0.0.1:222

6.0

2 years ago

说人话就是支持https,需要自己整一个证书,举个🌰
tcp2ws 22 1234 server.crt server.key
也可以直接
tcp2ws 22 1234 ssl
来使用默认的证书路径server.crt和server.key
另外nginx是可以把wss转到ws的,所以可以起https的ng转给ws的tcp2ws

5.0

2 years ago

go的map是线程不安全的,同时读写就会炸到退出
因此给他加了一个锁,确保了高并发下的稳定性

4.5

2 years ago

尝试减少对map的访问,来避免map的读写冲突
(这个问题主要体现在低性能设备并且请求连接断开特别疯狂的时候)
错误主要体现于客户端,服务端可以继续用4.4

4.4

2 years ago

(编辑了三次了)

  1. 修复了一个我也不知道为什么之前居然能用的问题 (说人话就是优化了稳定性)
  2. 被扫或是直接访问会显示访问者ip
  3. release中windows的二进制文件名变成了tcp2ws.exe
  4. 崩溃后会自动重启重连
  5. 修复上次修改导致服务端不会关闭多余连接的问题

重要的事情说三次,更新更新更新,一定要更新到这个版本
(还是虽然有向上兼容,能用,但是不建议)

4.0

2 years ago

优化了连接突然断开时的稳定性,建议更新

可以写一个index.html文件放到运行目录下
直接访问时就会显示这个文件的内容,伪装成一个非常普通的Web服务