使用goproxy快速搭建tls1.3 + http2代理
项目主页:https://github.com/phuslu/goproxy/tree/server.vps
安装方法:
curl -L git.io/get-goproxy-vps | bash
启动方法:
sudo ./goproxy-vps
或者 sudo ./goproxy-vps.sh start
优势:
- tls 1.3 的 1-RTT 甚至 0-RTT 的握手时间,并且根据客户端自动选择 ECC/RSA 证书,根据服务端自动选择 ECDHE_ECDSA/X25519 和 AES-GCM/ChaCha20。
- http2 多路复用,网页体验明显。
- autocert 自动使用 letsencrypt 的 tls-sni 协议签发证书,这样就可以无痛部署了。
- 向下兼容 https proxy, 所以 iOS 上的 wingy, surge 也能用了。
- 客户端普通的非代理请求可以反代本地 nginx/apache 的 80 端口,使 443 端口不至于只能用作代理。
- proxy auth 使用是 linux 的 PAM 机制或 htpasswd 文件,便于管理。同时也支持客户端证书验证来对抗 TLS 探针。
- golang 实现,效率较高,部署简单。
使用注意点:
- Chrome 请务必打开
chrome://flags/#ssl-version-max
的 tls1.3 支持。 - Firefox 请务必打开
security.tls.version.max = 4
和security.tls.enable_0rtt_data = true
- VPS 请尽可能打开 TCP BBR 算法。
- 某些网络环境对 http2 有限速,请改用
[[https]]
配置。
来源:https://github.com/phuslu/goproxy/issues/1470
VPS可以选择搬瓦工,域名可以用dot.tk免费tk域名或者freedns.afraid.org免费uk.to等二级域名;电脑上可以直接在Chrome+SwitchyOmega里设置https代理不需要运行本地客户端比较方便,iOS上可以使用免费的Wingy,安卓上可以使用Drony设置。
发表评论