项目地址: https://github.com/yueyoum/make-proxy
已经稳定使用几年了。 以前也发过,但这次更新还是值得再次宣传一下的
架构还是常见的 本地代理 + 外部服务器 的形式。
本次新版本几乎重写了整个项目,
并且使用了 成熟的 ranch
库
所以整个代码更加清晰
支持 HTTP, SOCKS4,SOCKS5 代理,而且都是代理在同一个端口上的。
HTTPS 目前不支持,正在准备添加,但 HTTPS 就得单独一个端口了
开发 HTTP 代理的时候,居然发现 浏览器可能会把多个 site 的请求 发送到同一个连接上。
比如 流程是这样的
socks 是没有这个问题的,但 http 却遇到这个事情,于是只能撸一个完整的 http 协议解析, 并且把 发送到本地代理的请求 缓存起来,直到有一个完成的 http 请求后,才发给代理服务器。