Skip to content

Releases: zanjie1999/tcp-over-websocket

当连接不到远程端将客户端的连接关掉

12 Oct 08:21
Compare
Choose a tag to compare

问题修复 请更新客户端和服务端

12 Oct 06:58
Compare
Choose a tag to compare

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

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

修复了第一次dns优选ip的时候没把ip存成功的bug

26 Sep 10:38
Compare
Choose a tag to compare

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

修正hosts正则的正则最后缺一位的问题

09 Jun 10:04
Compare
Choose a tag to compare

#15 更新客户端

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

支持非Windows使用resolv.conf中配置的dns进行解析

15 May 07:07
Compare
Choose a tag to compare

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

hosts支持回归,由正则驱动

15 May 06:40
Compare
Choose a tag to compare

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

根据域名TTL自动定时优选ip,使用tcp获取dns记录防污染

10 May 03:16
Compare
Choose a tag to compare

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

UDP支持

12 Feb 14:42
Compare
Choose a tag to compare

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

Ws服务器IP优选 连通性检查 备用DNS防污染 修复优选ipv6

22 Jan 14:41
Compare
Choose a tag to compare

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 #8
nginx提示的location改为随机12位uuid #9

Ws服务器IP优选 连通性检查 备用DNS防污染

20 Jan 05:47
Compare
Choose a tag to compare

本版本修复了修复了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