11月05, 2017

SS助力ECS

有时候需要在ECS上访问Github的服务,那个速度,真是惨不忍睹啊,正好前几天通过Vultr搞了一个私人的SS服务,上个Google、看个油管什么的再也没问题了,于是动了在ECS上部署SS Client的念头。

说动手就动手,SS Client安装最方便的就是通过pip了,简简单单的使用:

pip install shadowsocks

就搞定了,不过这边有个坑,如果你使用的加密协议是aes-256-gcm的话,你就需要用下面这种方式来升级一下才能支持aes-256-gcm方法来源):

pip install --upgrade git+https://github.com/shadowsocks/shadowsocks.git@master

然后创建shadowsocks的配置文件/etc/sslocal.json,下面是配置模板:

{
  "server": "YOUR_SS_SERVER_IP",
  "server_port": "YOUR_SS_SERVER_PORT",
  "local_address": "127.0.0.1",
  "local_port": YOUR_LOCAL_PORT,
  "password": "YOUR_SS_SERVER_PASSWORD",
  "timeout": 100,
  "method": "aes-256-gcm",
  "fast_open": false
}

接着就让sslocal依据配置文件/etc/sslocal.json在后台运行就可以了,这里用到了nohup,同时将输出清理掉:

nohup sslocal -c /etc/sslocal.json /dev/null 2>&1 &

为了方便起见,还可以在开机启动文件/etc/rc.local中加入以上内容,方便以后重启以后自动开启sslocal

好了,开启sslocal后,运行一下:

curl --socks5 127.0.0.1:YOUR_LOCAL_PORT ipinfo.io

如果一切正常,你可以看到包含你SS Server IP的运行结果:

{
  "ip": "YOUR_SS_SERVER_IP",
  "hostname": "YOUR_SS_SERVER_HOSTNAME",
  ...
}#

不过SS走的是Socket5,平时我们用到最多的还是HTTP(s),这时候需要再安装一个Privoxy用于将Socket5转到HTTP(s)上。

一般yum中会自带Privoxy,如果没有的话,你可以先安装一下EPEL扩展

yum install epel-release -y

然后再安装Privoxy:

yum install privoxy -y

修改Privoxy配置文件/etc/privoxy/config中的相关内容,增加转发规则:

# 注意别忘了结尾那个.
forward-socks5t / 127.0.0.1:YOUR_LOCAL_PORT .

运行Privoxy,并将它列入开机启动项:

systemctl start privoxy
systemctl enable privoxy

最后别忘了,在.bashrc或者.zshrc中加入http_proxyhttps_proxy的设置:

export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118

8118是Privoxy默认的监听端口,你也可以自行设定。

参考资料
  1. https://github.com/shadowsocks/shadowsocks/issues/986
  2. https://brickyang.github.io/2017/01/14/CentOS-7-%E5%AE%89%E8%A3%85-Shadowsocks-%E5%AE%A2%E6%88%B7%E7%AB%AF/
  3. https://www.loyalsoldier.me/fuck-the-gfw-with-my-own-shadowsocks-server/

本文链接:https://itony.net/post/ecs-ss.html

-- EOF --

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。