Pages

Friday, 14 December 2018

把服务器上的HTTPS代理转化为本地机器上的HTTP代理的方法

 我们知道,服务器上的HTTPS代理有时在本地机器的程序里是无法直接使用的。这时,我们可以把服务器上的HTTPS代理转化为本地机器上的HTTP代理。
这里,服务器上的HTTPS代理,我们以squid为例。(详见https://briteming.blogspot.com/2015/08/squidchrome.html)
先在服务器上搭建基于squid的https proxy.

方法1. socat法

先在本地机器安装socat: 
brew install socat
(无需在服务器上安装socat)
然后运行:

socat tcp-listen:7085,fork openssl:vps-ip:30289,verify=0
该命令就把服务器上的https://vps-ip:30289转化为了本地机器上的HTTP代理:127.0.0.1:7085 ,
保持此终端窗口不要关闭。
然后设置本地机器上的浏览器(推荐使用chrome+switchyomega组合或firefox+switchyomega组合)的HTTP代理为
127.0.0.1 ,端口为7085,浏览器即可翻墙。

方法2. stunnel法

先在本地机器安装stunnel: 
brew install stunnel
(无需在服务器上安装stunnel)

mkdir local-stunnel-for-squid
cd local-stunnel-for-squid
进入local-stunnel-for-squid目录后,
把服务器上的/root/public.crt和/root/private.key文件下载到当前目录。
装完stunnel后,然后写一个简单的配置文件stunnel.conf,内容如下:
cert = ~/local-stunnel-for-squid/public.crt
key = ~/local-stunnel-for-squid/private.key
client=yes
[https proxy]
accept = 127.0.0.1:50001
connect = vps-ip:
30289  
(上面的public.crt和private.key系从服务器下载下来的文件)
如果是Linux或Mac OS X,把上述内容以文本文件方式保存为stunnel.conf
然后启动 stunnel 程序,在命令行上运行:

stunnel ~/local-stunnel-for-squid/stunnel.conf 
然后设置本地机器的浏览器的http proxy为127.0.0.1,端口50001,浏览器即可翻墙。

方法3. meow法(必须是meow,它的原版cow不行,cow不支持https协议)

先在本地机器安装go环境。然后,
cd $GOPATH
go get -u -v github.com/netheril96/MEOW
(无需在服务器上安装meow)
mkdir ~/.meow
cd ~/.meow
nano rc

rc文件的内容为:
listen = http://127.0.0.1:4411
proxy = https://vps-ip:30289

然后运行: 
meow

然后设置本地机器的浏览器的http proxy为127.0.0.1,端口4411,浏览器即可翻墙。

方法4. gost法

先在本地机器安装go环境。然后,
cd $GOPATH

go get -u -v github.com/ginuerzh/gost/cmd/gost
(无需在服务器上安装gost)

mkdir gost-for-squid
cd gost-for-squid


把服务器上的/root/public.crt和/root/private.key文件下载到当前目录。然后运行:
gost -L=http://127.0.0.1:7575 -F=http+tls://vps-ip:30289?cert=public.crt&key=private.key
或者:
gost -L=http://127.0.0.1:7575 -F=https://vps-ip:30289?cert=public.crt&key=private.key

然后设置本地机器的浏览器的http proxy为127.0.0.1,端口7575,浏览器即可翻墙。

相关帖子:
https://briteming.blogspot.com/2015/08/squidchrome.html
https://briteming.blogspot.com/2013/07/linuxwebvpn.html
https://briteming.blogspot.com/2015/10/meow-cow.html