CentOS下shadowsocks-libev一键安装脚本

技术 秋水逸冰 1685128浏览 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. 秋大你好,我尝试用nohup /usr/local/bin/ss-server -u -s 0000 -p 8005 -k 0000 -m chacha20 & 可以新增端口使用,但原先在配置文件里的端口就失效了。然后用这个指令只能新增一个。。。不能再多 最后一个问题就是,本教程中写到的不能多端口,可以多进程 多进程是什么意思?谢谢
    haha8年前(2016-08-08)回复
  2. Shadowsocks-libev start success! 然后无法翻墙,是不是腾讯云的云服务器广州二区的无法用这个? [root@VM_193_53_centos ~]# /etc/init.d/shadowsocks start Starting shadowsocks (via systemctl): [ OK ] [root@VM_193_53_centos ~]# /etc/init.d/shadowsocks status * shadowsocks.service - Shadowsocks Loaded: loaded (/etc/systemd/system/shadowsocks.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Sat 2016-08-06 23:13:52 CST; 13s ago Process: 31703 ExecStart=/usr/bin/ssserver -c /etc/shadowsocks.json (code=exited, status=203/EXEC) Main PID: 31703 (code=exited, status=203/EXEC) Aug 06 23:13:52 VM_193_53_centos systemd[1]: Started Shadowsocks. Aug 06 23:13:52 VM_193_53_centos systemd[1]: Starting Shadowsocks... Aug 06 23:13:52 VM_193_53_centos systemd[1]: shadowsocks.service: main proce...C Aug 06 23:13:52 VM_193_53_centos systemd[1]: Unit shadowsocks.service entere.... Aug 06 23:13:52 VM_193_53_centos systemd[1]: shadowsocks.service failed. Hint: Some lines were ellipsized, use -l to show in full. 希望你能解答一下,谢谢啦。是哪里出问题了。
    idisreg8年前(2016-08-06)回复
    • 请问广州是不是还在国内? 你用一个国内的 VPS 本来就是无法访问 Google 的啊
      秋水逸冰8年前(2016-08-07)回复
  3. 看来只能换别的试试了
    汐枫8年前(2016-08-05)回复
  4. 大神,有办法设置多用户登陆么?朋友按上反应一个人上了一个上号后,另一个人上另一个账号,之前的会被挤掉。
    汐枫8年前(2016-08-03)回复
    • 如果你想使用多用户的话,可以换成 go 版。 libev 版暂不支持只修改配置文件来实现多用户。
      秋水逸冰8年前(2016-08-03)回复
      • 忽然发现,发错位置了,应该是 “L2TP/IPSec一键安装脚本”那个,有办法设置多用户登陆么?朋友按上反应一个人上了一个上号后,另一个人上另一个账号,之前的会被挤掉。
        汐枫8年前(2016-08-04)回复
        • 用命令 l2tp -a 来新增用户。 用命令 l2tp -l 来查看所有用户。 你说的这种情况我没有测试过,不过你可以在连接稳定之后登录 VPS 去运行命令: ipsec status 看看是什么输出信息? 不过目前据我所知,同一个局域网下的不同用户同时连接好像是有这样的情况出现。
          秋水逸冰8年前(2016-08-04)回复
          • 好吧,确实是在同一局域网下进行的。。搭建起来原本是打算多人使用,结果刚建建了两个用户,同时登录时忽然发现只有后一个用户能登上
            汐枫8年前(2016-08-05)回复
          • 感谢O(∩_∩)O~
            汐枫8年前(2016-08-05)回复
  5. 请求更新呀! gayhub上已经是2.4.8啦
    nomsq8年前(2016-08-02)回复
    • 2.4.8 大幅度的改动了代码,新增了不少依赖。 很有可能会编译失败。
      秋水逸冰8年前(2016-08-04)回复
  6. 每次安装都是到这里,Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.100.133|:443... 可是我ping都是通的呀,求解
    阿特8年前(2016-08-02)回复
    • 说明你的 VPS 连接 Github 有点问题。自己排查一下是不是 DNS 的原因。
      秋水逸冰8年前(2016-08-02)回复
  7. iptables:将链设置为政策 ACCEPT:security raw nat mangle fi[失败]
    yingnierxiao8年前(2016-08-01)回复
  8. 在CentOS6.7环境下跑会报错line 214./Configuration没有这个文件,我在脚本214行前面加上echo "${cur_dir}"看了下,脚本运行位置是/root 看起来应该是在/root/shadows-libdv-v2.4.7下运行./Configuration才对的,为啥你们都说能用,看起来这里应该有错误跑不起来才对,应该先cd到下载解压后的目录才能安装啊
    TKljx8年前(2016-07-30)回复
    • 脚本都已经自动化安装了。而且 214 行是 ./configure ,麻烦你看仔细一点。
      秋水逸冰8年前(2016-07-30)回复
  9. "workers": 1 这个参数有什么用,需要设置吗,还有为什么不同的语言 TIMEOUT 时间有的是 300 有的是 600
    HELLODADDY8年前(2016-07-29)回复
  10. 抱歉 经过二次测试 ,这次可以正常安装 谢谢
    kevin8年前(2016-07-27)回复
  11. 请问SS-libev版本 您的最新更新不再使用master版本 那么上面的wget地址经测试返回404,请问,您改成2.6.7版本后 所对应的wget地址是什么呢 ? 谢谢您的帮助
    kevin8年前(2016-07-27)回复
  12. 楼主你好,请问怎么把加密方式改为chacha20?需不需要装libsodium?
    REYES8年前(2016-07-25)回复
    • 已经自带安装了。直接改配置文件即可
      秋水逸冰8年前(2016-07-26)回复
  13. 您好,我按照上面的教程成功搭建好了,但是依旧翻不了墙。我用的腾讯云的VPS 系统是CentOS 7.2 64位的。
    ray8年前(2016-07-19)回复
    • 哦?你确定你用的不是腾讯云的国内数据中心的么?
      秋水逸冰8年前(2016-07-19)回复
  14. 大神你好,看了你的帖子后感觉安装libev好简单啊,安装好后安装锐速进行提速,效果不错,但是请问下,这个libev不能配置多用户吗?为什么我配置后所有的账号(端口号)都登录不了了,是这个libev不支持还是我配置的不对,麻烦你帮我看下谢谢!附上配置表! { "server":"0.0.0.0", "local_port":1080, "timeout": 600, "method":"aes-256-cfb", "fast_open": true, "port_password": { "443": "65245577564", "450": "664365586", "451": "1234567890", }, "_comment": { "443": "The server port comment", "450": "lin zun peng", "451": "hai mei you shi yong de", } }
    musky77889998年前(2016-07-17)回复
    • libev 的 ss-server 进程是不能配置多端口的。只有 ss-manage 是可以,目前脚本还不支持这种写法。还有,你的这个 json 格式是错的。451 端口后面不该有那个逗号。
      秋水逸冰8年前(2016-07-17)回复
      • 好的,谢谢大神的解答!对我非常有帮助!还有一个问题有点跑偏了,但是我还是想请教一下,希望大神解答!众所周知SS的账号可以多台客服端登录,有没有办法能只能让一台客服端登录,如果有我该怎么弄,谢谢!希望大神不吝赐教!
        musky77889998年前(2016-07-17)回复
        • 目前有面板可以做到这个功能。脚本中不包含控制客户端数目的功能。
          秋水逸冰8年前(2016-07-17)回复
          • 请问官方的ss-libev如何升级啊,从2.4.6到2.4.7,wiki里也没有写,难道只能卸载啦重装? 求大神指点
            nomsq8年前(2016-07-18)回复
            • 没错,卸载重装是唯一途径。因为需要重新编译新版本。
              秋水逸冰8年前(2016-07-18)回复
      • 顺便说下,大神,我是一个主机玩家(包括PS4\XB1\wiiu等)经常要爬墙,那么请问下,这是SS的版本不同区别于在什么地方呢?对于主机玩家来说应该选择什么更好呢?还是只要VPS速度快够稳定,什么版本的SS都无所谓呢?
        musky77889998年前(2016-07-17)回复
        • 具体区别肯定是有,这个你需要去问问作者哈,我可不是作者。对于主机玩家,用 libev 版就可以了。支持 udp relay 功能。
          秋水逸冰8年前(2016-07-17)回复
  15. 大神,请问我用了这个一键安装后,一切都好,就是有时候ss服务会自动停了,我得从新start一下,请问有什么解决方法么,还是我设置错了
    moonstruck8年前(2016-07-15)回复