前言

proxy 是 golang 实现的高性能 http、https、websocket、tcp、udp、socks5 代理服务器,支持正向代理、反向代理、透明代理、内网穿透、tcp/udp 端口映射、ssh 中转、tls 加密传输、协议转换、dns 防污染智能代理、前置 cdn/nginx 反代、代理连接重定向、api动态调用上级代理、限速限连接数。提供全平台的命令行版本,友好易用的windows&linux&macos控制面板,强大的安卓版。

proxy-go可以做什么?

当由于安全因素或者限制,我们不能顺畅的访问我们在其它地方的服务,我们可以通过多个相连的proxy节点建立起一个安全的隧道,顺畅的访问我们的服务.微信接口本地开发,方便调试.远程访问内网机器.和小伙伴一起玩局域网游戏.以前只能在局域网玩的,现在可以在任何地方玩.替代圣剑内网通,显ip内网通,花生壳之类的工具.

v9.0 版本更新内容

1.修复负载均衡,在节点全死的情况下不能随机返回节点的问题.
2.修复sps在某些情况下,上级类型处理不正确的问题.
3.修复http(s)代理上下级都为tls,某些情况下不能正确转发的问题.
4.tcp代理转发增加了负载均衡和高可用,现在可以使用多个-p指定多个上级即可.
帮助命令`proxy help tcp`里面–lb-xx系列参数可以详细配置负载均衡行为.
5.优化sps禁用指定协议后避免启动不必要的模块.
6.增加了http(s)\socks5\sps\tcp\udp代理流量上报功能,通过参数–traffic-url指定上报的http接口地址.
7.修复了认证api参数target,当访问https网站时候为空的问题.
8.内网穿透增加了,穿透http服务的时候,支持在每个http请求的头部增加两个头部 `x-forwarded-for` 和 `x-real-ip` 值是客户端ip, 这样后端http服务就能方便的获取用户端真实ip地址。

特色内容

链式代理,程序本身可以作为一级代理,如果设置了上级代理那么可以作为二级代理,乃至n级代理。通讯加密,如果程序不是一级代理,而且上级代理也是本程序,那么可以加密和上级代理之间的通讯,采用底层tls高强度加密,安全无特征。智能http代理,https代理,socks5代理,会自动判断访问的网站是否屏蔽,如果被屏蔽那么就会使用上级代理(前提是配置了上级代理)访问网站;如果访问的网站没有被屏蔽,为了加速访问,代理会直接访问网站,不使用上级代理。域名黑白名单,更加自由的控制网站的访问方式。跨平台性,无论你是widows,linux,还是mac,甚至是树莓派,都可以很好的运行proxy。多协议支持,支持http(s),tcp,udp,websocket,socks5代理。tcp/udp端口转发。游戏盾,游戏代理,高仿服务器。内网穿透,p2p传输,协议支持tcp和udp,针对http的优化穿透。ssh中转,http(s),socks5代理支持ssh中转,上级linux服务器不需要任何服务端,本地一个proxy即可开心上网。kcp协议支持,http(s),socks5代理支持kcp协议传输数据,降低延迟,提升浏览体验。动态选择上级代理,通过外部api,http(s),socks5,sps代理可以实现基于用户或者ip的限速,连接数限制,动态获取上级。灵活的上级分配,http(s),socks5,sps代理可以通过配置文件实现基于用户或者ip的限速,连接数限制,指定上级。反向代理,支持直接把域名解析到proxy监听的ip,然后proxy就会帮你代理访问需要访问的http(s)网站。透明http(s)代理,配合iptables,在网关直接把出去的80,443方向的流量转发到proxy,就能实现无感知的智能路由器代理。协议转换,可以把已经存在的http(s)或socks5或ss代理转换为一个端口同时支持http(s)和socks5和ss代理,转换后的socks5和ss代理如果上级是socks5代理,那么支持udp功能,同时支持强大的级联认证功能。自定义底层加密传输,http(s)\sps\socks代理在tcp之上可以通过tls标准加密以及kcp协议加密tcp数据,除此之外还支持在tls和kcp之后进行自定义加密,也就是说自定义加密和tls|kcp是可以联合使用的,内部采用aes256加密,使用的时候只需要自己定义一个密码即可。底层压缩高效传输,http(s)\sps\socks代理在tcp之上可以通过自定义加密和tls标准加密以及kcp协议加密tcp数据,在加密之后还可以对数据进行压缩,也就是说压缩功能和自定义加密和tls|kcp是可以联合使用的。安全的dns代理,可以通过本地的proxy提供的dns代理服务器与上级代理加密通讯实现安全防污染的dns查询。负载均衡,高可用,http(s)\socks5\sps代理支持上级负载均衡和高可用,多个上级重复-p参数即可。指定出口ip,http(s)\socks5\sps\tcp代理支持客户端用入口ip连接过来的,就用入口ip作为出口ip访问目标网站的功能。如果入口ip是内网ip,出口ip不会使用入口ip支持限速,http(s)\socks5\sps\tcp代理支持限速。支持限连接数,http(s)\socks5\sps\tcp代理支持限连接数。socks5代理支持级联认证。证书参数使用base64数据,默认情况下-c,-k参数是crt证书和key文件的路径,如果是base64://开头,那么就认为后面的数据是base64编码的,会解码后使用。支持客户端ip黑白名单,更加安全的控制客户端对代理服务的访问,如果黑白名单同时设置,那么只有白名单生效。socks/http(s)/sps/tcp/udp/dns/内网穿透bridge/内网穿透tbridge,都支持客户端ip黑白名单。端口范围批量监听,http(s)\socks5\sps\tcp代理支持指定端口范围监听,避免启动过多进程,提高性能。