Total Pageviews

Friday, 20 July 2018

使用shrpx搭配域名,创建HTTP2/HTTPS代理服务器,用来翻墙


按照http://briteming.blogspot.com/2015/08/nghttpx-http2.html,编译spdylay后,在vps上会生成可执行文件-shrpx:
root@localhost:~# which shrpx
/usr/local/bin/shrpx
root@localhost:~#

然后把你的某个域名yourdomain.com解析到你服务器的ip.
然后按此文http://briteming.blogspot.com/2017/06/lets-encryptsslcertbot.html,替你的域名生成证书文件和私匙文件。生成的证书文件和私匙文件分别为:
 /etc/letsencrypt/live/yourdomain.com/cert.pem和 /etc/letsencrypt/live/yourdomain.com/privkey.pem

然后创建shrpx程序的配置文件shrpx.conf:
root@localhost:~# nano shrpx.conf

shrpx.conf文件的内容如下:

frontend=0.0.0.0,456
backend=127.0.0.1,8118
private-key-file=/etc/letsencrypt/live/yourdomain.com/privkey.pem
certificate-file=/etc/letsencrypt/live/yourdomain.com/fullchain.pem
spdy-proxy=yes

(这里的8118端口上运行了一个http代理服务器程序:kiss-proxy,详见
https://briteming.blogspot.com/2018/04/gohttpkiss-proxy.html)


root@localhost:~# shrpx --conf=/root/shrpx.conf -s --daemon
不过这条命令:shrpx --conf=/root/shrpx.conf -s --daemon并不会随vps的启动而自动运行。所以还是用systemd来设置,更合适:
killall shrpx
nano /etc/systemd/system/shrpx-for-domain.service
内容为:
[Unit]
After=network.target

[Service]
WorkingDirectory=/root/
ExecStart=/usr/local/bin/shrpx --conf=shrpx.conf -s 
Restart=always

[Install]
WantedBy=multi-user.target

然后运行:
systemctl start shrpx-for-domain
systemctl enable shrpx-for-domain
服务器端就搭建好了。

然后在客户机上,安装chrome,并安装chrome的插件switchyomega
(https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif)
安装chrome的插件switchyomega后,点击chrome的右上角的switchyomega图标,然后点击“选项”-“新建情景模式”-“情景模式名称”取名为https proxy by shrpx(名称可以随便取)-点击“创建”- “代理协议”选择https,"代理服务器"栏填写你所绑定的域名yourdomain.com,“代理端口”填写456-点击“应用选项”。
然后在chrome中,即可翻墙。

相关帖子:
https://briteming.blogspot.com/2015/09/spdy-ssl-proxy.html