参考:CentOS7下手动编译安装Shadowsocks-libev最新版
如果想快速安装请直接看第 8 步:
1. 编译环境
yum install epel-release -y
yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
2. 下载源码
若没安装 git,则先安装 git.
yum install git
cd /usr/local/src
git clone https://github.com/shadowsocks/shadowsocks-libev.git
3. 编译
cd /usr/local/src/shadowsocks-libev
git submodule update --init --recursive
sh autogen.sh
./configure --disable-documentation
make
make install
4. 配置
配置/etc/shadowsocks-libev/config.json:
cp /usr/local/src/shadowsocks-libev/debian/config.json /etc/shadowsocks-libev/config.json
如果出现如下提示
cp: cannot create regular file ‘/etc/shadowsocks-libev/config.json’: No such file or directory
则先创建shadowsocks-libev目录:
mkdir -p /etc/shadowsocks-libev
然后再执行上一步配置/etc/shadowsocks-libev/config.json:
.
然后根据自己服务器的具体情况,填上相关信息,如:
{
"server":"192.168.1.86",
"server_port":10086,
"local_port":1080,
"password":"ab10086K",
"timeout":60,
"method":"chacha20-ietf-poly1305"
}
配置shadowsocks.service:
因为是make安装的,程序默认安装到
/usr/local
下面,所以要改下/usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.service
文件:
把
ExecStart=/usr/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS
改为
ExecStart=/usr/local/bin/ss-server -c "$CONFFILE" $DAEMON_ARGS
然后将相应文件cp到对应目录
cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.service /usr/lib/systemd/system/
cp /usr/local/src/shadowsocks-libev/rpm/SOURCES/systemd/shadowsocks-libev.default /etc/sysconfig/shadowsocks-libev
Linux客户端设置与服务器端相差无几,只不过,要改的文件是shadowsocks-libev-local.service而已,其他一样。
5. 启动
systemctl enable shadowsocks-libev
systemctl start shadowsocks-libev
systemctl status shadowsocks-libev
安装过程中,如果对配置
有任何更改,只要重启下服务就行了,不用重启服务器,命令如下:
systemctl restart shadowsocks-libev
6. 防火墙设置
开启防火墙
systemctl start firewalld
查看状态
systemctl status firewalld
开机启用
systemctl enable firewalld
开启端口
firewall-cmd --permanent --add-port={PORT/tcp,PORT/udp}
其中 PORT/tcp 和 PORT/udp 中 PORT
要替换成自己想要开设的端口号,比如我要开设 tcp 的 80 端口
和 udp 的 443 端口,那么就设置为:
firewall-cmd --permanent --add-port={80/tcp, 443/udp}
firewall-cmd --reload
firewall-cmd --list-all
删除已开通端口
firewall-cmd --permanent --remove-port=80/tcp
7. 客户端连接
在客户端上输入之前设置的IP、密码、等数据,连接服务器
: