Phantomsocks/修改方式

维基教科书,自由的教学读本

修改方式[编辑]

修改方式是填在 config.jsoninterface 下的 hint 部分,部分可填入的修改方式有:

  • ipv6: 只使用 ipv6 连接
  • ipv4: 只使用 ipv4 连接
  • https: 强制使用 HTTPS 连接
  • http: 强制使用 HTTP 连接
  • h3: HTTPS记录中添加h3并允许使用HTTP/3
  • s-seg: TCP连接的首包小于8字节
  • w-md5: 发出的TCP包带有错误的md5值
  • w-ack: 发出的TCP包带有错误的确认码
  • w-csum: 发出的TCP包带有错误的校验和
  • w-time: 发出的TCP包带有错误的时间戳
  • w-seq: 发出的TCP包带有错误的序号
  • tfo: 建立连接时使用TFO(TCP Fast Open)发送首包数据(仅windivert和pcap可用)
  • mode2: 以另一种顺序注入TCP包
  • df: 发出的 TCP 包不会分段。(Don’t Fragment)
  • sat: 持续注入TCP包直到TLS握手完成
  • ttl: 发出的TCP包将使用下一段ttl中注明的TTL(Time To Live)
  • mss: 建立连接时修改MSS(Maximum segment size)

更多的修改方式请查询源码中pcap.goraw.gowindivert.go文件。

关于修改方式的评论[编辑]

在过去很长一段时间里(2019-2022),防火长城都未能彻底封锁某种修改方式,但在最近(2022年11月)笔者观察到s-seg、w-md5、w-ack、w-time方法修改TCP包容易被重置,具体表现为打开某网页时出现“连接被重置”错误,刷新几次可能会遇到1-3次重置,之后一切正常,可以连接。而ttl方式看起来是最稳定的,笔者使用此方式没有遇到重置。