CentOS下shadowsocks-libev一键安装脚本

技术 秋水逸冰 1872649浏览 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. 一个很神奇的问题: root@test:~# ./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.log ############################################################# # Install Shadowsocks-libev server for Debian or Ubuntu # # Intro: https://teddysun.com/358.html # # Author: Teddysun # # Github: https://github.com/shadowsocks/shadowsocks-libev # ############################################################# Latest version: Please input password for shadowsocks-libev: 这个地方读不到版本号,但是单独执行 ver=$(wget --no-check-certificate -qO- https://api.github.com/repos/shadowsocks/shadowsocks-libev/releases/latest | grep 'tag_name' | cut -d\" -f4) [ -z ${ver} ] && echo "Error: Get shadowsocks-libev latest version failed" && exit 1 shadowsocks_libev_ver="shadowsocks-libev-$(echo ${ver} | sed -e 's/^[a-zA-Z]//g')" download_link="https://github.com/shadowsocks/shadowsocks-libev/archive/${ver}.tar.gz" init_script_link="https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev" 又是可以得到正确的版本号,
    许较瘦8年前(2016-11-04)回复
    • bug 已经修正。请下载最新脚本重试即可。
      秋水逸冰8年前(2016-11-05)回复
  2. 你好,首先非常感谢你的分享。安装的时候会报错: Please input port for shadowsocks-libev [1-65535] (Default port: 8989): --------------------------- port = 8989 --------------------------- Press any key to start...or press Ctrl+C to cancel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp Package unzip-6.0-15.el7.x86_64 already installed and latest version Package autoconf-2.69-11.el7.noarch already installed and latest version Package automake-1.13.4-3.el7.noarch already installed and latest version Package 1:make-3.82-21.el7.x86_64 already installed and latest version Package zlib-devel-1.2.7-15.el7.x86_64 already installed and latest version Package libtool-2.4.2-21.el7_2.x86_64 already installed and latest version Package libevent-2.0.21-4.el7.x86_64 already installed and latest version Package xmlto-0.0.25-7.el7.x86_64 already installed and latest version Package asciidoc-8.6.8-5.el7.noarch already installed and latest version Package pcre-8.32-15.el7_2.1.x86_64 already installed and latest version Package pcre-devel-8.32-15.el7_2.1.x86_64 already installed and latest version Package 1:openssl-devel-1.0.1e-51.el7_2.7.x86_64 already installed and latest version Package gcc-4.8.5-4.el7.x86_64 already installed and latest version Package 4:perl-5.16.3-286.el7.x86_64 already installed and latest version Package 4:perl-devel-5.16.3-286.el7.x86_64 already installed and latest version Package cpio-2.11-24.el7.x86_64 already installed and latest version Package expat-devel-2.1.0-8.el7.x86_64 already installed and latest version Package gettext-devel-0.18.2.1-4.el7.x86_64 already installed and latest version Nothing to do wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. Failed to download .tar.gz
    什么是神魔8年前(2016-11-04)回复
    • bug 已经修正。请下载最新脚本重试即可。
      秋水逸冰8年前(2016-11-05)回复
  3. 提示错误 Protected multilib versions: pcre-8.32-15.el7_2.1.x86_64 != pcre-8.32-15.el7.i686 wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. Failed to download .tar.gz
    chord8年前(2016-11-04)回复
    • bug 已经修正。请下载最新脚本重试即可。
      秋水逸冰8年前(2016-11-05)回复
  4. Vultr Centos 7 root登录后使用 wget --no-check-certificate 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 结果装到最后出错 wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. Failed to download .tar.gz
    水皮8年前(2016-11-04)回复
    • bug 已经修正。请下载最新脚本重试即可。
      秋水逸冰8年前(2016-11-05)回复
  5. 冰哥,还有个问题,我用AWS EC2 如果还没绑定弹性IP,重启会更换公共IP,那么应该用什么命令来执行呢? 我刚刚找不到相关资料,只能卸载再安装。
    爱迪生8年前(2016-10-31)回复
  6. 冰哥我用的是AWS EC2 LINXU MICRO 免费的配置,通过Putty连接后(我也是看Youtube上的视频连接的,不知道有没错),然后ROOT之后使用你的一键脚本,成功搭建后,能使用5分钟,然后就不行了,我在Linux系统里重启shadowsocks后又能上网了,这是什么原因呢
    爱迪生8年前(2016-10-31)回复
  7. 你好。请问安装完成后显示的You Server Ip:IP。 1.当显示的IP是ipv4而不是ipv6地址时,怎么更换成ipv6地址? 2.shadowcakes中用的服务器IP是否必须和上面的IP一致,如果要一致,如何解决第一问呢? 谢谢冰哥
    浓浓是以8年前(2016-10-25)回复
  8. 冰哥,你好。我按着你的教程安装成功了。但我现在中途想修改密码的话,该怎么操作呢?
    Brian8年前(2016-10-21)回复
    • @Brain 修改 /etc/shadowsocks-libev/config.json,然后命令行输入 `/etc/init.d/shadowsocks restart` 重启即可。
      snn8年前(2016-10-24)回复
  9. 已经安装成功,但是查看服务状态并没有运行,手动启动报错 /etc/rc.d/init.d/functions: No such file or directory
    sss8年前(2016-10-18)回复
  10. CC ss_server-cache.o CC ss_server-acl.o CC ss_server-resolv.o CC ss_server-server.o CC ss_server-http.o CC ss_server-tls.o CC ss_server-rule.o CCLD ss-server CC ss_manager-utils.o CC ss_manager-jconf.o CC ss_manager-json.o CC ss_manager-manager.o CCLD ss-manager CC ss_redir-utils.o CC ss_redir-jconf.o CC ss_redir-json.o CC ss_redir-encrypt.o CC ss_redir-netutils.o CC ss_redir-cache.o CC ss_redir-udprelay.o CC ss_redir-redir.o CC ss_redir-http.o CC ss_redir-tls.o CC ss_redir-rule.o CCLD ss-redir make[2]: Leaving directory `/root/shadowsocks-libev-2.5.5/src' Making all in doc make[2]: Entering directory `/root/shadowsocks-libev-2.5.5/doc' GEN shadowsocks-libev.xml GEN shadowsocks-libev.8 /usr/bin/xmlto: line 576: 2083 Killed "$XSLTPROC_PATH" $XSLTOPTS -o "$XSLT_PROCESSED" "$STYLESHEET" "$INPUT_FILE" make[2]: *** [shadowsocks-libev.8] Error 1 rm shadowsocks-libev.xml make[2]: Leaving directory `/root/shadowsocks-libev-2.5.5/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/shadowsocks-libev-2.5.5' make: *** [all] Error 2 Shadowsocks-libev install failed! Please visit https://teddysun.com/357.html and contact.
    jhgongfu8年前(2016-10-17)回复
    • 内存过小,导致编译的时候,进程被 killed
      秋水逸冰8年前(2016-10-19)回复
  11. 在搬瓦工的64M小鸡上面安装出错,日志如下: make[2]: Leaving directory `/root/shadowsocks-libev-2.5.5/src' Making all in doc make[2]: Entering directory `/root/shadowsocks-libev-2.5.5/doc' GEN shadowsocks-libev.xml GEN shadowsocks-libev.8 /usr/bin/xmlto: line 576: 17241 Killed "$XSLTPROC_PATH" $XSLTOPTS -o "$XSLT_PROCESSED" "$STYLESHEET" "$INPUT_FILE" make[2]: *** [shadowsocks-libev.8] Error 1 rm shadowsocks-libev.xml make[2]: Leaving directory `/root/shadowsocks-libev-2.5.5/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/shadowsocks-libev-2.5.5' make: *** [all] Error 2 请大神帮我看看,谢谢
    Hopewell8年前(2016-10-17)回复
    • 内存过小,导致编译的时候,进程被 killed
      秋水逸冰8年前(2016-10-19)回复
  12. firewall set start... Firewalld looks like not running, try to start... success success success firewall set completed... checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/root/shadowsocks-libev-2.5.5': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details make: *** No targets specified and no makefile found. Stop. Shadowsocks-libev install failed! Please visit https://teddysun.com/357.html and contact.
    .Sxisuyy8年前(2016-10-13)回复
    • 看来是你的 VPS 的 repo 有问题,不然不会安装不上 gcc 的。
      秋水逸冰8年前(2016-10-13)回复
      • 碰到同样的状况了,请教大大如何解决?
        soloyu8年前(2016-10-16)回复
  13. 总是提示Error: Get shadowsocks-libev latest version failed错误,求大大告知解决方法
    ims8年前(2016-10-11)回复
    • 获取版本号失败的原因,一般是 VPS 连不上 Github 导致的。 原因不详。
      秋水逸冰8年前(2016-10-13)回复
      • 我也是提示这个错误,但是安装Shadowsocks-go没问题,应该不是连不上Github吧。
        watchpig8年前(2016-10-15)回复
  14. [root@ims ~]# wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh -bash: wget: command not found
    ims8年前(2016-10-11)回复
    • 缺少 wget 命令,运行 yum install -y wget 即可
      秋水逸冰8年前(2016-10-13)回复
  15. 浏览网页看youtube速度最高只有50KB,我是上海电信100M的,为什么?是不是要装锐速之类的东西?怎么弄?请博主帮帮我,谢谢!!!
    1238年前(2016-10-10)回复