命令行Shadowsocks配置

前言

一直在使用 Shadowsocks 去墙外逛逛,偶然发现命令行端不能直接访问墙外的资源,这一下子让我突然想要作死一下。简单查了一下,网上相关的资源还真不少。

不过在折腾的过程中也遇到了不少坑,现记录一下,供以后参考。

环境

Ubuntu 14.04

Python 2.7

git

需要拥有代理,如果没有,可以到 shadowsocks 上购买

配置

安装 Shadowsocks 命令行客户端。

sudo apt-get install -y python-pip
pip install shadowsocks
pip install git+https://github.com/shadowsocks/shadowsocks.git@master

编辑配置文件。TIPS:这里的文件可以放在你想放的任何地方,只要使用时能够取到就OK。

vim /usr/local/shadowsocks.json
{
    "server":"haha.com",
    "server_port":15407,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"123",
    "timeout":600,
    "method":"chacha20-ietf-poly1305"
}
名称描述
server代理服务器IP、域名
server_port代理服务器端口
password代理服务器密码
timeout超时时间
method链接方式
local_address本地的ip,127.0.0.1就已经满足
local_port本地端口

启动代理服务器

sslocal -c /usr/local/shadowsocks.json -d start

安装代理转换 privoxy,将 Socks5 代理转化为 http 代理

sudo apt-get install -y privoxy

编辑 privoxy 的配置文件。

sudo vim /etc/privoxy/config

这里有一点需要注意的,请看下面的备注

# 下面一行是默认存在的,如果没有,则需要添加
# 如果 `8118` 端口被占用了,则更换一个未被占用的端口就好
# 但是要记住端口号,后面需要对此做配置的
listen-address 127.0.0.1:8118

# 下面一行是默认存在的,如果没有,那恭喜你
# 如果有,那么需要你默默的在最前面加个 `#`
# 不然启动会失败
listen-address [::1]:8118

# 下面的内容是需要添加进配置文件的,需要注意的是 `.` 必须要
forward-socks5 / 127.0.0.1:1080 .

配置完成后,直接启动 privoxy

sudo service privoxy start

如若启动失败,那就看日志继续查吧,下面是日志的地址:

/var/log/privoxy/logfile

最后一步了,我们需要设置环境变量,指定 httphttps 等链接走我们指定的代理。

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

OK,来试一下成功没有。

curl www.google.com
curl https://www.google.com

最后

打完收工