shadowsocks
安装时是不分客户端还是服务器端的,只不过安装后有两个脚本一个是sslocal
代表以客户端模式工作,一个是ssserver
代表以服务器端模式工作。
一、下载shadowsocks仓库文件
- 可以前往librehat/shadowsocks下载仓库文件:
- 也可以通过命令进行下载
$ wget https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo
二、将仓库文件保存到yum源
$ mv librehat-shadowsocks-epel-7.repo /etc/yum.repos.d/
# 更新yum源
$ yum update
三、yum安装shadowsocks-libev
$ yum install shadowsocks-libev
【可能遇到的问题】
安装相应的依赖包:
$ yum install epel-release
$ yum install libsodium-devel mbedtls-devel
之后再次执行上述命令即可。
四、配置shadowsocks
代理服务器配置如下(服务端):
$ vi /etc/shadowsocks-libev/config.json
{
"server":"0.0.0.0",
"server_port":your_port,
"password":"your_password",
"timeout":5,
"method":"aes-256-cfb" #也可以选择其他加密方法
}
客户端主机配置如下(客户端):
$ vi /etc/shadowsocks-libev/config.json
{
"server": "your_server_ip",
"server_port": your_server_port,
"password": "your_server_password",
"method": "your_server_method",
"local_address": "127.0.0.1",
"local_port": 1080,
"timeout": 5
}
五、自启动
- 新建启动脚本文件
以服务端配置为例:
注意上述服务器名称$ vi /etc/systemd/system/shadowsocks.service # 输入以下内容 [Unit] Description=Shadowsocks [Service] TimeoutStartSec=0 ExecStart=/usr/bin/ss-server -c /etc/shadowsocks-libev/config.json [Install] WantedBy=multi-user.target
ss-server
,不同版本可能有所区别,可以查看usr/bin
文件夹下以ss-
开头的服务名称。
如果是客户端,则只需将上述配置中ExecStart=/usr/bin/ss-server
修改为ExecStart=/usr/bin/ss-local
即可。 - 开机启动
$ systemctl enable shadowsocks
- 启动shadowsocks
$ systemctl start shadowsocks
- 查看服务状态
systemctl status shadowsocks -l
六、安装Privoxy
上述过程中安装好了shadowsocks
,但它是socks5
代理,我们在shell
里执行的命令,发起的网络请求现在还不支持socks5
代理,只支持http/https
代理。为此我们需要安装privoxy
代理,它能把电脑上所有http请求转发给shadowsocks
。
- 从官网获取Privoxy的安装包:
目前最新版本为:3.0.28
- 安装前需要执行
useradd privoxy
创建一个用户privoxy
,然后依次执行如下三条命令:
如果安装过程中提示$ autoheader && autoconf $ ./configure $ make && make install
autoheader && autoconf
命令找不到,则我们可以安装epel
源(yum install epel-release
),之后使用yum search autoconf
查找需要安装的包:
之后调用yum install XXX
即可。 - 执行如下命令启动
privoxy
:$ privoxy --user privoxy /usr/local/etc/privoxy/config
- 执行
vim /etc/profile
,添加如下三句:
然后export http_proxy=http://127.0.0.1:8118 export https_proxy=http://127.0.0.1:8118 export ftp_proxy=http://127.0.0.1:8118
source /etc/profile
,执行curl www.google.com
或wget www.google.com
判断是否成功访问。
七、配置privoxy
自启动:
- 新建执行脚本
privoxy.sh
脚本位置在/root
目录下:
此时,该脚本没有执行权限。$ touch privoxy.sh $ vi privoxy.sh # 添加此句命令 privoxy --user privoxy /usr/local/etc/privoxy/config $ ll -rw-r--r--. 1 root root 53 Mar 11 01:47 privoxy.sh
- 添加脚本执行权限
$ chmod +x privoxy.sh $ ll -rwxr-xr-x. 1 root root 53 Mar 11 01:47 privoxy.sh
- 在
/etc/rc.d/rc.local
中加入执行脚本命令,并添加执行权限$ vi /etc/rc.d/rc.local # 添加此句命令 /root/privoxy.sh $ chmod +x /etc/rc.d/rc.local
- 重启系统
reboot
,privoxy
自动启动。
【参考链接】
https://www.jianshu.com/p/11585058cbe9
https://blog.csdn.net/huangbaokang/article/details/79924058