CentOS下shadowsocks-libev一键安装脚本

技术 秋水逸冰 1872846浏览 1182评论

本脚本适用环境:
系统支持:CentOS
内存要求:≥128M
日期:2018 年 06 月 01 日

关于本脚本:
一键安装 libev 版的 Shadowsocks 最新版本。该版本的特点是内存占用小(600k左右),低 CPU 消耗,甚至可以安装在基于 OpenWRT 的路由器上。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。

默认配置:
服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(如不设定,默认为 aes-256-gcm)

Shadowsocks for Windows 客户端下载:
https://github.com/shadowsocks/shadowsocks-windows/releases

使用方法:
使用root用户登录,运行以下命令:

wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh
chmod +x shadowsocks-libev.sh
./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log

安装完成后,脚本提示如下:

Congratulations, Shadowsocks-libev server install completed!
Your Server IP        :your_server_ip
Your Server Port      :your_server_port
Your Password         :your_password
Your Encryption Method:your_encryption_method

Welcome to visit:https://teddysun.com/357.html
Enjoy it!

卸载方法:
使用 root 用户登录,运行以下命令:

./shadowsocks-libev.sh uninstall

其他事项:
客户端配置的参考链接:https://teddysun.com/339.html

安装完成后即已后台启动 Shadowsocks-libev ,运行:

/etc/init.d/shadowsocks status

可以查看进程是否启动。
本脚本安装完成后,会将 Shadowsocks-libev 加入开机自启动。

使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
查看状态:/etc/init.d/shadowsocks status

更多版本 Shadowsocks 安装:
ShadowsocksR 版一键安装脚本(CentOS,Debian,Ubuntu)
Shadowsocks Python 版一键安装脚本(CentOS,Debian,Ubuntu)
Debian 下 Shadowsocks-libev 一键安装脚本
Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)
Shadowsocks 一键安装脚本(四合一)

更新日志

2018 年 06 月 01 日:
1、新增:配置文件新增 fast_open 字段,并根据系统的内核版本,判断大于 3.7.0 时启用,否则不启用;
2、修正:在使用 /etc/init.d/shadowsocks restart 命令重启服务端时,偶尔出现的 “bind: Address already in use” 问题;
3、修正:移除配置文件中的 local_address 字段;
4、修改:不再默认使用 root 用户启动,改为使用 nobody 用户启动服务端 ss-server;
5、升级:mbedtls 到版本 2.9.0;
6、修改:启动脚本中的 -u 参数(即同时启用 TCP 和 UDP 模式),改到配置文件里配置为 “mode”: “tcp_and_udp”;
7、修改:配置文件的内置 NameServers 为 8.8.8.8,默认是从 /etc/resolv.conf 中取得。

2018 年 02 月 07 日:
1、修改:将默认端口从 8989 改为从 9000-19999 之间随机生成。

2017 年 09 月 16 日:
1、修正:Shadowsocks-libev 版 v3.1.0 使用 libc-ares 替换 libudns 依赖包,解决了依赖问题;
2、升级:mbedtls 到版本 2.6.0。

2017 年 07 月 22 日:
1、修正:默认加密方式从 aes-256-cfb 改为 aes-256-gcm(官方原版客户端支持该加密方式);
2、新增:安装时可选 16 种加密方式的其中之一。如下所示:

aes-256-gcm
aes-192-gcm
aes-128-gcm
aes-256-ctr
aes-192-ctr
aes-128-ctr
aes-256-cfb
aes-192-cfb
aes-128-cfb
camellia-128-cfb
camellia-192-cfb
camellia-256-cfb
chacha20-ietf-poly1305
chacha20-ietf
chacha20
rc4-md5

2017 年 02 月 24 日:
1、恢复: 通过 Github API 自动获取 Shadowsocks-libev 的最新 release 版本的功能(v3.0.3)。

2017 年 02 月 13 日:
1、更新:升级版本到 3.0.2。

2017 年 02 月 12 日:
1、更新:升级版本到 3.0.1(请下载最新的脚本来安装)。

2016 年 11 月 05 日:
1、新增:判断是否已安装,若已安装,则获取版本号与最新版比较,然后可以升级覆盖安装;
2、修正:未安装时获取最新版本号的问题。

2016 年 09 月 23 日:
1、修正:偶尔自动获取版本号失败的问题;
2、新增:自动判断如果 VPS 存在 IPv6 地址,则在配置文件里添加监听 IPv6 地址。

2016 年 09 月 17 日:
1、重构代码,自动获取 Github 上最新版来安装,不再手动修改版本号;
2、自动检测本机是否已经安装,若已安装则正常退出(若要安装新版,则需先卸载);
3、改为下载 tar.gz 包来安装,不用依赖 unzip 命令。

2016 年 09 月 12 日:
1、更新:升级版本到 2.5.2。

2016 年 09 月 11 日:
1、更新:升级版本到 2.5.1。

2016 年 08 月 29 日:
1、更新:升级版本到 2.5.0;
2、修正:由于安装时文件名的更新,卸载时文件名改为一致。

2016 年 07 月 14 日:
1、更新:升级版本到 2.4.7。

2016 年 07 月 05 日:
1、修正:新增的依赖 xmlto、asciidoc;
2、修正:由于安装时文件名的更新,卸载时文件名改为一致。

2016 年 05 月 12 日:
1、新增:在 CentOS 7 下的防火墙规则设置。

2015 年 08 月 01 日:
1、新增:自定义服务器端口功能(如不设定,默认为 8989)。

2015 年 04 月 30 日:
1、修正:配置文件 /etc/shadowsocks-libev/config.json 同时启用 IPv4 与 IPv6 支持:

{
    "server":["[::0]","0.0.0.0"],
    "server_port":your_server_port,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"your_password",
    "timeout":600,
    "method":"aes-256-cfb"
}

2、Shadowsocks libev 版不能通过修改配置文件来多端口(只能开启多进程),如果你需要多端口请安装 Python 或 Go 版;

特别说明:
1、已安装旧版本的 shadowsocks 需要升级的话,需下载本脚本的最新版,直接运行即可自动升级

./shadowsocks-libev.sh

参考链接:
https://github.com/shadowsocks/shadowsocks-libev

转载请注明:秋水逸冰 » CentOS下shadowsocks-libev一键安装脚本

发表我的评论
取消评论

请输入正确答案后提交评论 *超出时限。 请再次填写验证码。

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1182)

  1. 博主 你好 请问libev版的安装之后默认开启udp转发吗?
    第八7年前(2017-09-28)回复
  2. 博主你好: GCE的平台按照教程搭建好了,选择的是centos6,ip是静态的asia-east1-c,防火墙也调成所有端口都允许。 然后按照你的教程装了bbr,最后装了这个CentOS下shadowsocks-libev一键安装脚本,也安装成功了,提示enjoy it。端口我用的是555,加密方式是aes-256-cfb,但是SS客户端配置后连不上。系统实例也重启过,也不行,从昨天到今天安装了好几遍系统和你的一键脚本都安装OK但就是上不了网。望指点一下,不知道你有电报吗?加一下请教
    jasonwong7年前(2017-09-25)回复
  3. centos 7.2 7.3 [Error] libsodium-1.0.13 install failed.
    yangchongcn7年前(2017-09-24)回复
  4. 怎么填写自己的server ip 阿
    mocuishlelin7年前(2017-09-18)回复
    • server IP一般由脚本自动获取,并在安装成功后显示出来。 客户端连接时,填入此IP地址即可。
      秋水逸冰7年前(2017-09-18)回复
  5. wget --no-check-certificate -O shadowsocks-libev.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh -bash: wget: command not found [root@RFCHOST-170914-5QQU ~]# chmod +x shadowsocks-libev.sh chmod: cannot access `shadowsocks-libev.sh': No such file or directory [root@RFCHOST-170914-5QQU ~]# ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log 我是小白,不太懂,这是咋回事那
    7年前(2017-09-16)回复
    • 首先,没有 wget 命令。请自行安装一下。 其次,复制命令的时候,请一次性复制完,中间不要留有空格。
      秋水逸冰7年前(2017-09-17)回复
  6. github上最新的ss-libev V3.1.0 用此脚本安装不能成功。 该怎么办呢? (3.1.0 uses libc-ares instead of libudns)
    mikeke7年前(2017-09-16)回复
    • 脚本已经更新了。测试也都 OK 的。请下载最新脚本重试。
      秋水逸冰7年前(2017-09-17)回复
  7. [Error] libsodium-1.0.13 install failed.
    众爱妃平身7年前(2017-09-10)回复
  8. 你好,最近在鼓捣obfs,用了这个网址的方法,安装了obfs,然后在/etc/shadowsocks-libev/config.json中添加了"plugin":"obfs-server", "plugin_opts":"obfs=http" 奇怪的是,我用/etc/init.d/shadowsocks start启动,ss服务端能启动的,客户端ss却上不了网了,而如果用ss-server -c /etc/shadowsocks-libev/config.json -v开启ss服务端,ss客户端就算不启用obfs也能正常上网了,急需帮助,谢谢。
    mike7年前(2017-09-10)回复
    • obfs是用下面方法安装的: git clone https://github.com/shadowsocks/simple-obfs.git cd simple-obfs git submodule update --init --recursive ./autogen.sh ./configure && make make install
      mike7年前(2017-09-10)回复
    • 我的意思是希望能正常启用obfs服务端,谢谢!
      mike7年前(2017-09-10)回复
      • 会不会因为是我在ss服务器上又安装了kcptun服务端,导致obfs的这些问题,两者不能共存在服务器上?
        mike7年前(2017-09-12)回复
    • 我也遇到同样的问题,使用/etc/init.d/shadowsocks start命令跑起来的就是不能正常使用obfs,自己使用命令ss-server 却可以正常跑起来
      傲雪7年前(2017-09-18)回复
    • 翻了下issue,找到解决方案了https://github.com/shadowsocks/shadowsocks-libev/issues/1082。 执行以下命令ln -s /usr/local/bin/obfs-server /usr/bin,添加一个链接就好了。因为在用户bin目录下没有找到obfs服务的原因
      傲雪7年前(2017-09-18)回复
      • 其实也跟系统的默认 PATH 有关,一般情况下,/usr/local/bin 这个路径也在 PATH 里的
        秋水逸冰7年前(2017-09-18)回复
  9. 安装时报错 configure: error: in `/root/libsodium-1.0.13': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details [Error] libsodium-1.0.13 install failed.
    1117年前(2017-09-03)回复
  10. 请问版主,我的hadowsocks (pid 28188) is running,Shadowsocks-libev start success 。 看日志也没有什么异常。但是访问不了外网。不知道怎么下手
    mcyang7年前(2017-08-31)回复
  11. System.Reflection.TargetInvocationException: 操作过程中出现异常,结果无效。 有关异常的详细信息,请查看 InnerException。 ---> System.Net.WebException: 基础连接已经关闭: 发送时发生错误。 ---> System.IO.IOException: 由于远程方已关闭传输流,身份验证失败。 我的服务正常启动。 tcp 0 0 0.0.0.0:8989 0.0.0.0:* LISTEN 22028/ss-server 客户端密码也没问题 但是就是连接不上
    郁闷的admin7年前(2017-08-25)回复
    • 提示身份验证失败,那就再仔细检查一下端口和密码。
      秋水逸冰7年前(2017-09-02)回复
  12. 博主,安装过程中Shadowsocks-libev.tar.gz not found...... 什么情况?
    AM7年前(2017-08-23)回复
  13. 你好博主,我想问一下如果/etc/init.d/shadowsock被误删了怎么恢复?
    Yoshio7年前(2017-08-13)回复
    • 视你安装的版本,从Github上重新下载回来到原来的位置就可以了。 比如 libev 版本,在 CentOS 上安装的: wget -O /etc/init.d/shadowsock https://github.com/teddysun/shadowsocks_install/raw/master/shadowsocks-libev 比如 libev 版本,在 Debian/Ubuntu 上安装的: wget -O /etc/init.d/shadowsock https://github.com/teddysun/shadowsocks_install/raw/master/shadowsocks-libev-debian
      秋水逸冰7年前(2017-09-02)回复
  14. 请问vi /etc/shadowsocks.json 填写相关的密码和加密方式后保存却没有效果。应该怎样修改密码
    numessage7年前(2017-08-13)回复
    • 保存之后,还需要重启 Shadowsocks 才行
      秋水逸冰7年前(2017-09-02)回复
  15. 博主你好,我在CentOS上已经成功安装(至少从日志看来)了shadowsocks-libev,但是在/var/log中找不到相关的日志,客户端也是一直在timed out。尝试修改防火墙配置依旧依旧无效。不知博主有没有处理过类似的情况?
    linkinpark2137年前(2017-08-07)回复