CentOS下shadowsocks-libev一键安装脚本

技术 秋水逸冰 1889808浏览 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. 博主好,我按照教程部署完成,但是并不能代理,日志提示“[2016-03-24 19:24:47] System.Net.Sockets.SocketException: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 58.215.184.38:8989 在 System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) 在 Shadowsocks.Controller.Handler.ConnectCallback(IAsyncResult ar) ” 应该怎么处理,感谢!
    特爱站长网8年前(2016-03-24)回复
    • 如果系统是CentOS 7,那么请把 firewalld 关掉即可。 如果是其他系统,开启了防火墙 iptables 的话,则需要对相应的端口放行,或者关掉。
      Teddysun8年前(2016-03-24)回复
  2. 给大家一个tips,之前一键安装好,全都正常还是无法翻墙,后来改了服务端的dns就可以了,不能使用的朋友改下客户端试试。
    miller8年前(2016-03-23)回复
    • 没错,DNS会影响服务端对资源的代理请求,也就是服务端访问网络。一般换成8.8.8.8和8.8.4.4即可
      秋水逸冰8年前(2016-03-23)回复
      • 请问服务端的dns在哪里改?谢谢
        chens7年前(2017-10-17)回复
        • 通过修改 /etc/resolv.conf 文件中的内容可以办到。 参考内容如下: nameserver 8.8.8.8 nameserver 8.8.4.4
          秋水逸冰7年前(2017-10-17)回复
  3. go和libev服务端可以共存么?需求是go有多端口配置但是没有UDP转发功能,libev正好相反,想试试libev的udp转发,如果可行麻烦简单介绍下,多谢。
    ssll8年前(2016-03-22)回复
    • 如果你有点动手能力的话,其实是可以共存的。 二者的安装路径不同,可执行文件路径不同,只是启动文件的配置路径是一致的,也就是 /etc/init.d/shadowsocks 这个文件路径是一样的,这样会导致冲突。 先安装 go 版,完成后,将 /etc/init.d/shadowsocks 重命名一下,比如重命名为 /etc/init.d/shadowsocks-go,然后再安装 libev 版即可。 这样,在安装完 libev 版后,会再次创建一个 /etc/init.d/shadowsocks 文件。 以后就可以用 /etc/init.d/shadowsocks-go 来控制 go 版。 用 /etc/init.d/shadowsocks 来控制 libev 版。
      秋水逸冰8年前(2016-03-22)回复
  4. 最近一直遇到/usr/local/bin/ss-server[4036]: server recv: Connection reset by peer 重启服务后,感觉正常,可是马上又不行了 - - 是该升级版本了? 谢谢。
    xingshu8年前(2016-03-18)回复
    • 嗯,如果你想升级版本。先执行卸载命令,然后再次安装即为最新版。 脚本每次安装时,会自动下载 Github 上的最新版本来安装。
      Teddysun8年前(2016-03-18)回复
  5. 你好 我是用百度云的centos 我用python版的一鍵安裝 安裝成功 出現enjoy it 但我不管從mac or win 連進去 都不會改變ip
    Errol8年前(2016-03-18)回复
    • 使用百度云应该还需要在控制面板里将相应的端口放行才行。
      秋水逸冰8年前(2016-03-18)回复
  6. 500 Internal Privoxy Error Privoxy encountered an error while processing your request: Could not load template file no-server-data or one of its included components. Please contact your proxy administrator. If you are the proxy administrator, please put the required file(s)in the (confdir)/templates directory. The location of the (confdir) directory is specified in the main Privoxy config file. (It's typically the Privoxy install directory). 请问我用ss客户端连接会出现这个提示,但是我把ss设置在路由器时又正常使用,怎样解决啊
    Kwing8年前(2016-03-06)回复
    • 这个应该是你本地客户端或者浏览器插件的设置问题吧。
      Teddysun8年前(2016-03-09)回复
    • 虽然不太懂这个,chrome访问不了有可能是迅雷的问题… - - 可以试试卸载它
      Pangurban8年前(2016-03-14)回复
    • 我也是一样的问题,求问解决了么?换了3台电脑下了几个版本的客户端都没用。
      zyxbcde8年前(2016-03-14)回复
      • 确实有很多人说,插件不能用,是跟迅雷有关。
        秋水逸冰8年前(2016-03-15)回复
    • 有可靠反馈说,迅雷软件导致的插件问题。 卸载迅雷即可解决。
      Teddysun8年前(2016-03-18)回复
      • 我也是遇到好多次这个问题每次都没办法解决只能删除在重新建 赶紧删了迅雷试试
        坚定8年前(2016-03-25)回复
  7. 请问,为啥我一键搭建完成后。不能翻墙
    c8年前(2016-02-27)回复
    • 原因有很多,参考文章里的那篇《Shadowsocks Troubleshooting》自查一下原因。
      秋水逸冰8年前(2016-02-27)回复
  8. 我用conoha建的ss,建完之后不管是百度还是dmm都上不去了...是我哪里出了问题吗? 服务器系统是centos7.1
    sky0hjh8年前(2016-02-18)回复
    • CentOS 7请先关闭 firewalld 这个是自带的防火墙默认开启,端口没有被放行导致的。
      秋水逸冰8年前(2016-02-19)回复
      • 好的,关了防火墙已经能愉快的玩舰c了,谢谢
        sky0hjh8年前(2016-02-19)回复
  9. 为什么我一键安装后唯独Facebook访问不了?其他外网都可以。用putty ping www,facebook.com显示连接超时。
    seven8年前(2016-02-18)回复
    • 还有这等事。难不成是 DNS 的设置问题么?
      秋水逸冰8年前(2016-02-19)回复
  10. 请问我看好几版本的ss 有r -libve -go 还有python 这个要怎么选择呢。我是pc机器上用。 hostus上安装
    wishing8年前(2016-02-11)回复
    • 个人使用的话,这几个版本区别不大。 推荐安装 go 版。最简单快速。
      秋水逸冰8年前(2016-02-11)回复
      • 感谢博主的一键脚本,我是24k纯白,就按博主推荐的安装了go版,油管速度80kb,简直感人,还好现在有黑科技fs,安装后唰唰的速度,5m/s,4k不缓冲。。。
        zero8年前(2016-02-11)回复
        • 黑科技在手,天下我有。哈哈。
          秋水逸冰8年前(2016-02-11)回复
          • 黑科技fs是啥。。。
            袅残烟8年前(2016-02-17)回复
            • fs = FinalSpeed 你可以用这个关键字去 Google 搜索一下便知,是个加速软件,最近比较火。
              秋水逸冰8年前(2016-02-17)回复
              • 哇塞!!还好今天上来看看要不然还不知道有这么牛逼的黑科技,刚才搜索这个加速然后在搬瓦工 安装了看youtube速度1.5M/s原来只有2-300K左右...感谢啊
                Andy8年前(2016-02-18)回复
  11. 我在电脑上一键安装成功,但连接不上呀
    Tao8年前(2016-02-10)回复
    • 有可能是防火墙的问题,默认开启了。
      秋水逸冰8年前(2016-02-10)回复
      • 我用的是centOS 7,除了关闭防火墙外,是否路由器也要转发相应的端口?
        Tao8年前(2016-02-11)回复
        • 路由器上就不用再设置了吧。 在你的电脑上能连接应该就可以了。
          秋水逸冰8年前(2016-02-11)回复
  12. 请问one-time authentication在哪里设置?
    weking8年前(2016-02-01)回复
    • 没听说过有这个设置啊
      秋水逸冰8年前(2016-02-01)回复
      • 就是libev版的新增的特性OTA,一次性认证,不知道如何开启
        weking8年前(2016-02-13)回复
      • 我也想问这个问题,这篇帖子是在debian下编译安装ss-libev的,他后面在etc/default/下修改的那个文件,在我用centos和您的脚本安装时候并没有找到,求解,多谢~
        sakya8年前(2016-05-25)回复
        • 不知道你看的是什么资料,如果你看文章够仔细的话,你会发现要修改的配置文件的路径是:/etc/shadowsocks-libev/config.json
          秋水逸冰8年前(2016-05-25)回复
          • 可是修改配置文件的时候 显示 permission denied 怎么办
            sage8年前(2016-05-27)回复
  13. 成功。。。感謝作者大大~~~
    Adam8年前(2016-01-29)回复
  14. 应该和你的脚本无关,我无法访问adword.google.com
    jellzone8年前(2016-01-29)回复
  15. 请问下Linux怎么通过命令行启动类似windows的shadowsocks的客户端?
    jios8年前(2016-01-26)回复