Debian下shadowsocks-libev一键安装脚本

技术 秋水逸冰 681656浏览 514评论

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

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

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

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

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

wget --no-check-certificate -O shadowsocks-libev-debian.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev-debian.sh
chmod +x shadowsocks-libev-debian.sh
./shadowsocks-libev-debian.sh 2>&1 | tee shadowsocks-libev-debian.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/358.html
Enjoy it!

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

./shadowsocks-libev-debian.sh uninstall

其他事项:
客户端配置的参考链接:https://teddysun.com/339.html
本脚本安装完成后,已将 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)
CentOS 下 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。
2、修复:在 Debian 7 下默认没有 libudns-dev 依赖包的问题。

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、修正:Shadowsocks 服务改为强制默认开机启动。

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 版;

2015 年 03 月 09 日:
1、新增:启动脚本/etc/init.d/shadowsocks,使用更简单。
2、修正:优化安装过程。

2014 年 10 月 31 日:
1、修正:写入自启动命令到 /etc/rc.local 中的错误。

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

./shadowsocks-libev-debian.sh

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

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

发表我的评论
取消评论

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

表情

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

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

网友最新评论 (514)

  1. UP 为啥我用了这个插件显示UdpBlocked 无法转发UDP数据
    喵布斯7年前(2017-04-03)回复
  2. 希望还是以后支持x86啊 大神
    老四7年前(2017-03-14)回复
    • 3.0.5已经可以在x86机机上跑了
      jiange7年前(2017-04-04)回复
  3. 能提供2016 年 11 月 05 日这个时间更新的脚本吗?debian6 x86这个版本还可以安装。
    feixiang7年前(2017-03-13)回复
  4. 502 Server dropped connection 有人碰上这个了吗?求解救一下。连上了SS登不了油管,谷歌
    handy7年前(2017-03-11)回复
    • 重装或更换ss客户端可解决。
      handy7年前(2017-03-26)回复
  5. 脚本体积好大啊。。。2G磁盘安装完了用了好多。。。我记得1年前也是用您的脚本装的啊,没有这么占用空间啊。
    xiaoyu05297年前(2017-03-08)回复
  6. 您好,我用"auth":true打开了OTA,但是貌似OTA已经被弃用了,restart的时候提示“One time auth has been deprecated. Try AEAD ciphers instead.”这个如何解决呢?
    akring7年前(2017-03-07)回复
  7. ../libbloom/.libs/libbloom.a(libbloom_la-bloom.o): In function `bloom_check_add': /root/shadowsocks-libev-3.0.3/libbloom/bloom.c:57: undefined reference to `murmurhash2' /root/shadowsocks-libev-3.0.3/libbloom/bloom.c:58: undefined reference to `murmurhash2' collect2: error: ld returned 1 exit status Makefile:668: recipe for target 'ss-local' failed make[2]: *** [ss-local] Error 1 make[2]: Leaving directory '/root/shadowsocks-libev-3.0.3/src' Makefile:467: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/root/shadowsocks-libev-3.0.3' Makefile:375: recipe for target 'all' failed make: *** [all] Error 2
    大师傅俺说的7年前(2017-03-06)回复
  8. make[2]: Entering directory `/root/shadowsocks-libev-3.0.3/doc' GEN shadowsocks-libev.xml File "/usr/bin/asciidoc", line 101 except KeyError, k: raise AttributeError, k ^ SyntaxError: invalid syntax make[2]: *** [shadowsocks-libev.xml] Error 1 make[2]: Leaving directory `/root/shadowsocks-libev-3.0.3/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/root/shadowsocks-libev-3.0.3' make: *** [all] Error 2
    大师傅俺说的7年前(2017-03-06)回复
  9. /usr/bin/ld: i386:x86-64 architecture of input file `../libbloom/.libs/libbloom.a(libbloom_la-MurmurHash2.o)' is incompatible with i386 output collect2: error: ld returned 1 exit status Makefile:668: recipe for target 'ss-local' failed make[2]: *** [ss-local] Error 1 make[2]: Leaving directory '/root/shadowsocks-libev-3.0.3/src' Makefile:467: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/root/shadowsocks-libev-3.0.3' Makefile:375: recipe for target 'all' failed make: *** [all] Error 2 Shadowsocks-libev install failed! Please visit https://teddysun.com/358.html and contact.
    X7年前(2017-03-03)回复
    • 请换成 x86_64 系统来安装。
      秋水逸冰7年前(2017-03-03)回复
      • 请问 能否 优化一下代码呢? 之前都是可以直接安装的 谢谢
        Jays7年前(2017-03-07)回复
    • 看了一下Shadowsocks-libev 3.0.3的更新内容是 “Replace nonce cache with a ping-pong bloom filter.”可能脚本没有对这个libbloom进行i386和amd64分辨吧。小内存机器安装64位系统稍微有点压力,还好还能找到3.0.2版的脚本,Debian 7 x86 Minimal 成功安装
      allac7年前(2017-03-06)回复
      • 请问 3.02能支持32位的吗 哪里下载的
        老四7年前(2017-03-14)回复
        • 查阅博主2月13日在GitHub的更新,https://github.com/teddysun/shadowsocks_install/blob/94917d491d4af0a2185bd559d723858b7de32eac/shadowsocks-libev-debian.sh 把第一行命令改成: wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/94917d491d4af0a2185bd559d723858b7de32eac/shadowsocks-libev-debian.sh 二三行不变
          allac7年前(2017-03-17)回复
          • 谢谢 小内存只有靠32位的维持
            老四7年前(2017-03-18)回复
          • 怎么把页面链接转化为下载链接的?
            Tesla7年前(2017-03-25)回复
            • 找到了,是点raw
              Tesla7年前(2017-03-25)回复
          • 装了显示这个,是什么意思啊? checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... no checking whether make supports nested variables... no checking whether UID '0' is supported by ustar format... yes checking whether GID '0' is supported by ustar format... yes checking how to create a ustar tar archive... gnutar checking whether make supports nested variables... (cached) no checking whether to enable maintainer-specific portions of Makefiles... no checking for style of include used by make... none checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/root/libsodium-1.0.11': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details libsodium install failed!
            Lee7年前(2017-05-14)回复
            • 我也是这个问题!!!
              sandersan7年前(2017-07-11)回复
  10. 安装libev版本后,win10上一直无法连接,显示:ERR_SSL_VERSION_OR_CIPHER_MISMATCH,但是在手机上就没有问题,请问如何解决?都已经更新到最新版本。
    BIN7年前(2017-03-03)回复
  11. 使用gfwlist和大陆白名单是有udp转发的 这应该不是ss没用开启UDP吧 啥都不懂的小白 求大神指教
    noobnoobnoob7年前(2017-03-02)回复
  12. https://cokebar.info/archives/767 Ubuntu Lower than 16.04 / Debian 7: 需要先从最近的源码编译安装libmbedtls和libsodium export LIBSODIUM_VER=1.0.11 export MBEDTLS_VER=2.4.0 wget https://download.libsodium.org/libsodium/releases/libsodium-$LIBSODIUM_VER.tar.gz tar xvf libsodium-$LIBSODIUM_VER.tar.gz pushd libsodium-$LIBSODIUM_VER ./configure --prefix=/usr && make sudo make install popd wget https://tls.mbed.org/download/mbedtls-$MBEDTLS_VER-gpl.tgz tar xvf mbedtls-$MBEDTLS_VER-gpl.tgz pushd mbedtls-$MBEDTLS_VER make SHARED=1 CFLAGS=-fPIC sudo make DESTDIR=/usr install popd
    李狗蛋7年前(2017-03-01)回复
  13. Connecting to github-cloud.s3.amazonaws.com 全部脚本都连不上服务器
    Yan7年前(2017-03-01)回复
    • 很不幸的是,3 月 1 日这天,有一段时间,AWS 的 S3 挂了。所以无法连接了。
      秋水逸冰7年前(2017-03-03)回复
  14. 请问如何开启udp转发?
    lyralei7年前(2017-02-28)回复
  15. 最新版3.3 32位系统不能装么?提示错误
    9117年前(2017-02-28)回复