CentOS安装Shadowsocks客户端实现联网

你爱上小溪 是因为没有见过大海 我已见过银河 但我只爱一颗星

安装 pip

Pip 是 Python 的包管理工具,这里我们用 pip 安装 shadowsocks。

1
2
yum install python-pip
pip install shadowsocks

配置 shadowsocks

新建配置文件:

1
vi /etc/shadowsocks.json

填写以下内容:

1
2
3
4
5
6
7
8
9
10
11
{
"server":"your_server_ip", #ss服务器IP
"server_port":your_server_port, #端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"your_server_passwd",#连接ss密码
"timeout":300, #等待超时
"method":"rc4-md5", #加密方式
"fast_open": false, # truefalse。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
"workers": 1 # 工作线程数
}

启动shadowsocks服务

1
2
3
sslocal -c /etc/shadowsocks.json

nohup sslocal -c /etc/shadowsocks.json &>> /var/log/sslocal.log &

设置shadowsocks开机自启

1
sudo vim /etc/systemd/system/shadowsocks.service

填写如下内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Shadowsocks Client Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks.json

[Install]
WantedBy=multi-user.target

配置生效:

1
systemctl enable /etc/systemd/system/shadowsocks.service

测试

运行

1
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

如果返回你的 ss 服务器 ip 则测试成功:

1
2
3
{
"origin": "23.105.222.129"
}

安装 Privoxy

Shadowsocks 是一个 socket5 服务,因此我们需要使用 Privoxy 把流量转到 http/https 上。直接使用yum安装即可:

1
yum install privoxy

安装好后,修改一下配置:

1
vim /etc/privoxy/config

搜索forward-socks5t

1
forward-socks5t / 127.0.0.1:9050 .

取消注释并修改为:

1
forward-socks5t / 127.0.0.1:1080 .

启动 privoxy

1
privoxy /etc/privoxy/config

或以指定用户如www运行privoxy:

1
privoxy --user www /etc/privoxy/config

设置privoxy开机自启

1
sudo vim /lib/systemd/system/privoxy.service

填写如下内容:

1
2
3
4
5
6
7
8
9
[Unit]
Description=Privoxy Web Proxy With Advanced Filtering Capabilities
Wants=network-online.target
After=network-online.target

[Service]
Type=forking
PIDFile=/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --pidfile /run/privoxy.pid /etc/privoxy/config

配置生效:

1
systemctl enable /lib/systemd/system/privoxy.service

配置/etc/profile

执行vim /etc/profile,添加如下代码:

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

修改后使配置生效:

1
source /etc/profile

测试生效:

1
curl www.google.com

返回一大堆 HTML 则说明 shadowsocks 正常工作了。

简化使用

进过上面的步骤我们的确代理成功了。。但是每次都要输入这么多命令太麻烦,这时我们可以利用 命令别名 来简化我们的操作

1
2
3
alias ssinit='nohup sslocal -c /etc/shadowsocks.json &>> /var/log/sslocal.log &'
alias sson='export http_proxy=http://127.0.0.1:8118 && export https_proxy=http://127.0.0.1:8118 && systemctl start privoxy'
alias ssoff='unset http_proxy && unset https_proxy && systemctl stop privoxy && pkill sslocal'

使用方法

1
2
3
4
5
### 开启ss代理
ssinit
sson
## 关闭ss代理
ssoff

https://i.jakeyu.top/2017/03/16/centos%E4%BD%BF%E7%94%A8SS%E7%BF%BB%E5%A2%99/
https://xeylon.com/server/140.html