文章524
标签277
分类67

在CentOS7中使用Shadowsocks客户端

本文讲述了如何在CentOS7中配置并使用Shadowsocks客户端;


在CentOS7中使用Shadowsocks客户端

最近需要在CentOS中加入SSR代理,网上的教程大部分都是通过脚本一键安装,具有服务器暴露的风险;

最后找到了通过原生的Shadowsocks配合Privoxy配置客户端的方法;


安装Shadowsocks

使用pip3安装:

1
2
3
pip3 install shadowsocks # pip安装ss客户端
# 如果提示 -bash: pip: command not found
# 运行 yum -y install python-pip

安装完成会会有sslocal和ssserver两个可执行文件;

我们使用sslocal连接SSR服务器;


创建配置文件

创建配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mkdir /etc/shadowsocks

vi /etc/shadowsocks/shadowsocks.json

{
"server":"SERVER-IP",
"server_port":PORT,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"PASSWORD",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}

安装privoxy

直接使用sslocal是不能转发HTTP和HTTPS的流量的,所以我们还需要安装privoxy;

1
yum -y install privoxy

配置 socks5 全局代理:

1
echo 'forward-socks5 / 127.0.0.1:1080 .' >> /etc/privoxy/config

设置 http/https 代理:

1
2
3
# privoxy默认监听端口为8118
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118

运行 privoxy:

1
service privoxy start

简化使用

每次启动代理时都要输入许多命令太麻烦,可以利用命令别名来简化我们的操作:

编辑~/.bashrc文件:

1
2
3
4
5
vi ~/.bashrc

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
source ~/.bashrc

使用方法:

  • 开启ss代理:ssinit & sson;
  • 关闭ss代理:ssoff;

使用测试

启动SSR代理,并测试 socks5 全局代理:

1
curl www.google.com

如果出现下面这段输出则代理成功!

1
2
3
4
302 Moved

The document has moved
here.

附录

文章参考:



本文作者:Jasonkay
本文链接:https://jasonkayzk.github.io/cn/2021/05/27/%E5%9C%A8CentOS7%E4%B8%AD%E4%BD%BF%E7%94%A8Shadowsocks%E5%AE%A2%E6%88%B7%E7%AB%AF/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可