GoProxy-VPS如何作为客户端使用

一直以来,我一直以为GoProxy-VPS只能作为服务端来使用。而社长在GoProxy-VPS的帖子里提过GoProxy-VPS作为客户端一事,我一直不能理解。

很长一段时间,我只使用Chrome+SwitchyOmega作为浏览器客户端来和GoProxy-VPS作为服务端搭配使用。一旦遇到需要全局代理时,我就找不到办法了。直到我发现了Stunnel作为客户端实现和GoProxy-VPS作为服务端搭配使用的原理后,我才理解了GoProxy-VPS作为客户端的意义。

Stunnel作为客户端的原理我在GoProxy-VPS搭配Stunnel客户端一文中已经阐述过了。Stunnel可以同时作为客户端以及服务端使用,那么GoProxy-VPS为什么不能呢?GoProxy-VPS作为客户端其实很简单,只需要在配置文件goproxy-vps.toml中留下http选项,其余的全部注释即可

1
2
3
[http]
listen = ":8080"
parent_proxy = "https+h2://<user>:<pass>@<your_goproxy_vps>"

其中parent_proxy参数就是GoProxy-VPS服务端的地址了,而listen参数监听的是本地的端口。如果服务端采用了PAM验证机制的话,需要填写用户名以及密码。https+h2表示服务端同时开启了https以及http2模式。

原来GoProxy-VPS实现客户端如此简单,之前我一直不理解为什么要在配置文件中加入http选项,我一直以为这个选项作为服务端来讲就是个鸡肋。其实我理解错了,http选项是作为客户端来用的,负责和系统的全局代理进行HTTP握手。HTTP握手成功后,GoProxy-VPS客户端才会和GoProxy-VPS服务端进行TLS握手。

avatar

chilihotpot

You Are The JavaScript In My HTML