安装 ShadowSocks

1
2
3
4
cd /etc/yum.repos.d/
curl -O https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y shadowsocks-libev

验证安装

1
2
3
4
5
6
ss-local

# 如果报错:ss-local: error while loading shared libraries: libmbedcrypto.so.0: cannot open shared object file: No such file or directory
# 执行下面命令即可
cd /usr/lib64
ln -s libmbedcrypto.so.1 libmbedcrypto.so.0

添加配置文件

/etc/shadowsocks-libev/config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"server": "10.10.10.10",
"server_port": 9999,
"local_port": 1080,
"password": "ss-password",
"method": "aes-256-gcm",
"mode": "tcp_and_udp",
"timeout": 600
}

# 说明
"server": 必填,填入要连接的 shadowsocks 服务器域名或 IP。
"server_port": 必填,填入服务器上 shadowsocks 所监听的端口。
"local_port": 必填,填入本地 shadowsocks 客户端 SOCKS5 代理要监听的端口。
"password": 必填,密码,需与 shadowsocks 服务器端配置一致。
"method": 必填,加密方法,需与 shadowsocks 服务器端配置一致。
"mode": 选填,默认 "tcp_only"。可填 "tcp_only", "udp_only" 和 "tcp_and_udp"。
"timeout": 选填,不活动连接的保持时间。默认 60 秒,设置较长时间有助于保持 HTTP 长连接等。设置时间过长则会导致不必要地占用过多 shadowsocks 服务器资源。

# 如果想要变更默认的配置文件,或者提供其他命令行参数,可以修改:
vim /etc/sysconfig/shadowsocks-libev:

# Configuration file
CONFFILE="/etc/shadowsocks-libev/config.json"

# Extra command line arguments
DAEMON_ARGS="-u"

# 其中 CONFFILE 指定了 shadowsocks-libev 所读取的配置文件;DAEMON_ARGS 则指定了额外的命令行参数,此处的 "-u" 表示启用 UDP 协议。
# 需要注意的是,命令行参数 DAEMON_ARGS 比配置文件 CONFFILE 中指定的选项优先级要更高一些。

启动服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 启动
systemctl start shadowsocks-libev-local

# 同时也会配置 Shadowsocks 客户端服务的开机自动启动
systemctl enable --now shadowsocks-libev-local

# 检查服务
systemctl status shadowsocks-libev-local

# 查看日志
journalctl -u shadowsocks-libev-local

# 测试
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
# 返回你的 ss 服务器 ip 则测试成功
{
"origin": "10.10.10.10" # shadowsocks服务器IP
}

配置代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 安装 privoxy
yum install privoxy

# 修改 privoxy 配置文件 /etc/privoxy/config
listen-address 127.0.0.1:8118
forward-socks5t / 127.0.0.1:1080 .

# 启动 privoxy 服务
systemctl enable privoxy
systemctl start privoxy
systemctl status privoxy

# 设置代理环境变量
echo -e "export http_proxy=http://127.0.0.1:8118" >> /etc/profile
echo -e "export https_proxy=http://127.0.0.1:8118" >> /etc/profile
source /etc/profile

# 测试
curl www.google.com

# 去除代理,把 /etc/profile 里的配置注释即可。

配置 yum 代理

1
2
3
4
5
6
7
# 打开yum.conf配置文件
vim /etc/yum.conf

# 然后在里面加入一行
proxy=https://127.0.0.1:8118

# 保存并退出

配置 wget 代理

1
2
3
4
5
6
7
8
9
10
# 打开wget配置文件
vim /etc/wgetrc

# 在里面找对应的参数位置,如果都被注释掉了,则添加配置
use_proxy = on
https_proxy=https://127.0.0.1:8118
http_proxy=http://127.0.0.1:8118
ftp_proxy=http://127.0.0.1:8118

# 保存并退出