Tcp Over Websocket Versions Save

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

11.1

7 months ago

小优化可以不更新

11.0

7 months ago

修复客户端被外部掐断ws后重连失败时出错,错误表现为重连失败后不会再次重连并一直出错 #21 重写了重连的方式,在客户端被外部断开ws时,重连ws,如果连接失败将在下次客户端收到tcp数据包时重新尝试连接

修复保存的数据使用了同一个内存地址导致都是一样的内容的问题,所以服务端也需要更新

10.4

7 months ago

在多次测试检查后,找到了这个问题,很生草的赋给了一个新的局部变量,于是第一次优选出来的ip没存到,在第一次ttl超时后将正常工作 需要更新客户端 修复了这个问题 #19

10.3

11 months ago

#15 更新客户端

2023/08/21 重新上传更小的二进制文件

10.2

1 year ago

由正则驱动的resolv.conf解析器,如有配置,优先使用配置的dns并使用udp 53连接解析域名,方便内网用户使用(无法访问公共dns) Windows的话咩咩不知道配置存在哪里,所以就没有了,如果有什么好办法,可以提个issuse来讨论下(为了良好的兼容性,尽量不引入新的库) 需要更新客户端

10.1

1 year ago

用正则写了个hosts解析器,来弥补一下在没有本地dns的情况下实现某些奇怪的域名ip解析需求 ^([0-9.]+).+[ \t](hostname$|hostname.*) 这个正则应该可以覆盖目前常见的hosts配置格式,看起来应该可以优化但没想到怎么优化 虽然咩咩也不知道这么干有什么用,因为已经会自动测试连通性并选择延迟最小的ip使用,但是 #14 有这个需求那就写一下吧 只需要更新客户端

10.0

1 year ago

#13 提的需求 只需更新客户端 另外go获取dns记录的ttl,只能使用miekg/dns这个库,别无它法 不再获取本地设置的dns用于解析,但是会先尝试使用本地udp53的dns服务

9.0

1 year ago

@chengziqing 的需求 #5 调了半天重写了两次写出来了 需要更新客户端和服务端才能支持UDP转发,有向下兼容,但在有一端是旧版时无法使用UDP转发 所有版本看这里 https://github.com/zanjie1999/tcp-over-websocket/releases

8.5

1 year ago

8.5修复了如果从dns获取的域名ip优选到ipv6将无法连接的问题

8.4修复了修复了8.3版本在Android的Termux下无法使用系统DNS解析域名导致无法启动 如果系统的DNS无法解析ws服务器的域名,将使用opendns的5353非标准端口进行初始化时的nslookup

以下为8.3的更新日志: 本次更新主要在客户端,服务端可以不更新

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

客户端可以指定tcp监听ip,就像这样只监听本地tcp2ws ws://127.0.0.1/ws/ 127.0.0.1:1234 https://github.com/zanjie1999/tcp-over-websocket/issues/8 nginx提示的location改为随机12位uuid https://github.com/zanjie1999/tcp-over-websocket/issues/9

8.4

1 year ago

本版本修复了修复了8.3版本在Android的Termux下无法使用系统DNS解析域名导致无法启动 如果系统的DNS无法解析ws服务器的域名,将使用opendns的5353非标准端口进行初始化时的nslookup

以下为8.3的更新日志: 本次更新主要在客户端,服务端可以不更新

  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