标题:ShadowTLS:TLS伪装代理
作者:
日期:2022-09-25 14:00:00
内容:

https://github.com/ihciah/shadow-tls

这是做啥的

向中间人表演一次 TLS 握手,之后将流量交给其他连接透明代理掉。

你可以用它来包装任意的 TCP 连接,它的 client 会加一层 TLS 握手头,server 会将这层头剥离。双边部署即可。

啥原理啊

Trojan 将 payload 基于一个伪装的 TLS 连接承载,但它部署起来略微麻烦,主要在于需要证书签发上;并且最近某地开始搞百名单策略,这种方式就不再适用。

那么一个 idea 就是:作为 server 不再自己处理握手,而是将握手流量转发至一个可信的域名上。当握手结束则立刻跳车开始向自己的服务器中转流量。这样中间人看到的就是和 www.gov.xx 的合法握手(观测到的证书也是合法的),而这显然是个白名单域名,这时中间人就会标记这个连接为合法连接。

我咋部署

看项目 Wiki 。推荐使用 docker compose 一键启动。

限制

  1. 它基于 Monoio 实现,可以利用 io_uring 和 zero_copy 实现高性能数据转发,当前仅支持 Linux 和 macOS 。
  2. 对于握手后的数据没有做封装。

来自 https://www.v2ex.com/t/875975  (已经被审查)


返回列表 网站首页