1.安装 pip
Pip 是 Python 的包管理工具
curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
python get-pip.py
2.安装 Shadowsocks 客户端
pip install --upgrade pip
pip install shadowsocks
2.1 配置
新建配置文件:
vi /etc/shadowsocks.json
填写以下内容:
{
"server": "x.x.x.x", #你的 ss 服务器 ip
"server_port": 0, #你的 ss 服务器端口
"local_address": "127.0.0.1", #本地ip
"local_port": 1080, #本地端口
"password": "password", #连接 ss 密码
"timeout": 300, #等待超时
"method": "aes-256-cfb", #加密方式
"workers": 1 #工作线程数
}
例如:
{
"server": "x.x.x.x",
"server_port": 0,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "password",
"timeout": 300,
"method": "rc4-md5",
"workers": 1
}
2.2 启动
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
2.3 设置自启动
rc.local
法:CentOS 6 可用
echo "## shadowsocks client
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" >> /etc/rc.local
## 修复centos7 默认修改 /etc/rc.d/rc.local 开机启动无效
chmod +x /etc/rc.d/rc.local
systemctl
法:CentOS 7 可用
创建 shadowsocks 服务
cat > /etc/systemd/system/shadowsocks.service << EOF
[Unit]
Description=Shadowsocks
[Service]
TimeoutStartSec=0
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/shadowsocks.json
[Install]
WantedBy=multi-user.target
EOF
启动 shadowsocks 服务
systemctl enable shadowsocks.service
systemctl start shadowsocks.service
systemctl status shadowsocks
2.4 测试
运行curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
,如果返回你的 ss 服务器 ip 则测试成功:
{
"origin": "x.x.x.x" #你的 ss 服务器 ip
}
3.Privoxy
Shadowsocks 是一个 socket5 服务,我们需要使用 Privoxy 把流量转到 http/https 上。
下载安装文件
wget http://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20%28stable%29/privoxy-3.0.26-stable-src.tar.gz
tar -zxvf privoxy-3.0.26-stable-src.tar.gz
cd privoxy-3.0.26-stable
privoxy-3.0.26-stable 是目前最新的稳定版,建议在下载前去Privoxy 官网下载页检查一下版本。
3.1 新建用户
Privoxy 强烈不建议使用 root 用户运行,所以我们使用useradd privoxy
新建一个用户.
3.2 安装
autoheader && autoconf
./configure
make && make install
安装后配置文件会在/usr/local/etc/privoxy
3.3 配置
vi /usr/local/etc/privoxy/config
找到以下两句,确保没有注释掉
listen-address 127.0.0.1:8118 # 8118 是默认端口,不用改,下面会用到
forward-socks5t / 127.0.0.1:0 . # 这里的端口写 shadowsocks 的本地端口(注意最后那个 . 不要漏了)
3.4 启动
privoxy --user privoxy /usr/local/etc/privoxy/config
还可以以服务形式启动 privoxy:
systemctl enable privoxy
systemctl start privoxy
systemctl status privoxy
4.配置/etc/profile
编辑:
vi /etc/profile
添加下面两句:
#这里的端口和上面 privoxy 中的保持一致
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
运行以下:
source /etc/profile
测试生效:
curl www.google.com
返回一大堆 HTML 则说明 shadowsocks 正常工作了。
后记
如果不能访问,请重启机器,依次打开 shadowsocks 和 privoxy 再测试.
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
privoxy --user privoxy /usr/local/etc/privoxy/config
如果不需要用代理了,记得把/etc/profile
里的配置注释掉,不然会一直走代理流量。
评论区