如果有一个远程https proxy代理服务器,支持CONNECT进行代理访问互联网,如果本地有个程序,只能使用http代理,那么需要把远程的代理转换为本地代理后,再在本地程序中,设置为本地代理即可。
+--------+ +--------+ +-----------+ +--------+
| +-------> socks5 +--------> +------> |
| client | | over | |https proxy| | server |
| <-------+ https <--------+ <------+ |
+--------+ +--------+ +-----------+ +--------+
SOCKS5 proxy over HTTP tunnel, which simply coverts a certain HTTPS proxy (which doesn't prohibit CONNECT on non-443 port) into SOCKS5 proxy.
可以使用gost来实现,例如,假设有个远程https代理服务器 www.abc.com,通过下面的指令即可转换:
gost-windows-amd64.exe -L=:8080 -F=https://www.abc.com:443
之后,本地程序只要设置http代理为 http://127.0.0.1:8080即可。
如果 https 需要登陆,可以用 https://username:password@server.com:443 的方式进行登录
你也可以配置一个config.json,例如:
{
"Debug": false,
"Retries": 0,
"ServeNodes": [
":8080"
],
"ChainNodes": [
"https://username:password@www.server.org:443"
]
}
之后可以用 gost-windows-amd64.exe -c config.json 来启动服务