Skip to content

Instantly share code, notes, and snippets.

@NullPointerMaker
Created March 14, 2021 14:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NullPointerMaker/af8e7f24933f451c33aca6f8a779f54d to your computer and use it in GitHub Desktop.
Save NullPointerMaker/af8e7f24933f451c33aca6f8a779f54d to your computer and use it in GitHub Desktop.
为什么 Trojan 不支持 CDN

Trojan-GFW 其实是基于 HTTPS(基于 SSL 的 HTTP 协议)正向代理实现的,修改了握手的特征,加入了随机数据量混淆。

而 CDN 是反向代理,不能正确处理 HTTP 代理请求头(主要是不支持 HTTP Connect)。

原因就是这么简单。

为了穿过反向代理,就需要在 HTTP 协议的基础上创建一个新的协议。
与其重复发明轮子,不如使用现成的 WebSocket 协议,快捷高效。
Trojan-Go 就是这么做的。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment