Skip to content

扶墙功能已经实现

Compare
Choose a tag to compare
@arloor arloor released this 18 Nov 09:46
· 312 commits to master since this release

实现了不可描述的功能

2018-11-18 08:44:54.446 [nioEventLoopGroup-4-1] INFO  c.a.p.r.DefaultHttpMessageDecoderAdapter - 处理请求 HttpRequest{body='null', method='CONNECT', host='adservice.google.co.jp', port=443, path=adservice.google.co.jp:443}
2018-11-18 08:44:54.457 [nioEventLoopGroup-2-1] INFO  c.a.p.proxyconnection.ProxyConnectionHandler - 连接成功: adservice.google.co.jp:443

2018-11-18 08:44:54.630 [nioEventLoopGroup-4-1] INFO  c.a.p.r.DefaultHttpMessageDecoderAdapter - 处理请求 HttpRequest{body='null', method='CONNECT', host='ogs.google.com', port=443, path=ogs.google.com:443}
2018-11-18 08:44:54.650 [nioEventLoopGroup-2-2] INFO  c.a.p.proxyconnection.ProxyConnectionHandler - 连接成功: ogs.google.com:443

2018-11-18 08:45:45.016 [nioEventLoopGroup-4-1] INFO  c.a.p.r.DefaultHttpMessageDecoderAdapter - 处理请求 HttpRequest{body='null', method='CONNECT', host='r1---sn-a5meknek.googlevideo.com', port=443, path=r1---sn-a5meknek.googlevideo.com:443}
2018-11-18 08:45:45.139 [nioEventLoopGroup-2-1] INFO  c.a.p.proxyconnection.ProxyConnectionHandler - 连接成功: r1---sn-a5meknek.googlevideo.com:443

2018-11-18 08:45:54.703 [nioEventLoopGroup-4-1] INFO  c.a.p.r.DefaultHttpMessageDecoderAdapter - 处理请求 HttpRequest{body='null', method='CONNECT', host='www.google.co.jp', port=443, path=www.google.co.jp:443}
2018-11-18 08:45:54.754 [nioEventLoopGroup-2-1] INFO  c.a.p.proxyconnection.ProxyConnectionHandler - 连接成功: www.google.co.jp:443

可以看到,代理服务器成功穿过墙收到了一些“不合法”的请求,并且成功连接到“不合法”的服务器,返回响应到墙内的过程没有打日志。

如何运行以fq

1.在一台ip没有被墙的服务器上运行proxyserver.jar
2.用winrar等解压工具修改proxyserver.jar中的proxy.properties文件,将server.host修改为上一步机器的ip
3.在本机运行proxyclient.jar
4.配置本机代理设置,可以通过chrome的switchyOmega插件修改。
5.可以正常使用了

另外,如果是windows电脑,并且没有装java,可以使用proxyclient.exe作为客户端。这是我用go写的代理客户端,也很好用。最大的优点是占用内存小。

同时,go写的客户端还可以在http://127.0.0.1:8080/pac提供了pac文件(pac.txt和exe要在同一文件下才可以),会自动设置windows注册表为使用此pac

使用效果

使用了香港的vps,此代理很好,youtube 1080p很稳定。

已知问题

netty的直接内存好像无法回收。。运行较久或者持续大流量下载内部报OOM。通过jmc看,堆内存占据不多。但top命令显示java进程占用res达到1.几g。