coyove / goflyway

An encrypted HTTP server
MIT License
4.31k stars 655 forks source link

客户端需要前置代理要怎么配置? #35

Open newcastlecy opened 6 years ago

newcastlecy commented 6 years ago

goflyway -k="password" -up="VPS:PORT" -l=":LOCAL_PORT"

前置代理 要配置代理ip 10.10.81.12 端口5366 才能上网

goflyway这个支持么?

coyove commented 6 years ago

10.10.81.12:5366 是什么类型的代理,认证方式是什么

newcastlecy commented 6 years ago

HTTP代理

coyove commented 6 years ago

现在release和master都没有前置代理功能,需要切换gdev分支下

如果是纯HTTP代理(应该不太可能吧),需要mitm模式,导入根证书ca.pem后命令:

./goflyway -up="mitm@10.10.81.12:5366;VPS:PORT" -k=...

如果是https代理,命令:

./goflyway -up="10.10.81.12:5366@VPS:PORT" -k=...
newcastlecy commented 6 years ago

应该是squid 做成的Http代理,可以编译个win的包么

coyove commented 6 years ago

请使用https://github.com/coyove/goflyway/releases/tag/v1.0.11a 版本进行测试

newcastlecy commented 6 years ago

goflyway -k="password" -up="mitm@10.10.81.12:5366;VPS:PORT" -l=":8100" goflyway (build 1711200915366)

coyove commented 6 years ago

错误显示10.10.81.12:5366不可连接

newcastlecy commented 6 years ago

10.10.81.12:5366 应该是 纯HTTP代理,直接代理访问国内是没有问题的

coyove commented 6 years ago

直接将浏览器的代理设为10.10.81.12:5366可以访问?

newcastlecy commented 6 years ago

可以

coyove commented 6 years ago

如果有curl的话,请尝试

curl -v -X GET -H "Host: www.baidu.com" http://10.10.81.12:5366
curl -v -X GET -x 10.10.81.12:5366 http://www.baidu.com

看看有什么输出

newcastlecy commented 6 years ago

root@localhost# curl -v -X GET -x 10.10.81.12:5366 http://www.baidu.com Note: Unnecessary use of -X or --request, GET is already inferred.

coyove commented 6 years ago

该问题无法重现

提议: 在服务器上git clone https://github.com/inaz2/proxy2这个简单的代理脚本,把proxy2.py里的第375行改为server_address = ('::', port),然后使用python proxy2.py启动

客户端使用-up="mitm@VPS:8080;VPS:PORT"连接,看看是否可以正常工作

jzp820927 commented 6 years ago

想请教一下,纯HTTP代理 为什么要 需要mitm模式?

coyove commented 6 years ago

浏览器发出的https请求走不了http代理,必须通过中间人把其中的数据拆出来。 同理websocket,http2因为要求全双工的连接,所以goflyway也并不支持