CentOS下shadowsocks一键安装脚本

本帖由 Xiao.T2014-10-21 发布。版面名称:服务器/环境搭建

  1. Xiao.T

    Xiao.T 管理员 技术员

    作者: http://teddysun.com/342.html
    本脚本适用环境:
    系统支持:CentOS 6.x 32或64位
    内存要求:≥64M
    日期:2014年10月10日

    关于本脚本:
    一键安装 Python 版 shadowsocks 的最新版,同时安装了 Python 包管理工具 pip。


    默认配置:
    服务器端口:8989
    客户端端口:1080
    密码:自己设定(如不设定,默认为teddysun.com)
    备注:脚本默认创建单用户配置文件,如需配置多用户,安装完毕后参照下面的教程 sample 手动修改配置文件后重启即可。

    客户端下载:
    http://sourceforge.net/projects/shadowsocksgui/files/dist/

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

    wget --no-check-certificate https://raw2.github.com/teddysun/shadowsocks_install/master/shadowsocks.sh
    chmod +x shadowsocks.sh
    ./shadowsocks.sh 2>&1 | tee shadowsocks.log
    安装完成后,脚本提示如下:

    Congratulations, shadowsocks install completed!
    Your Server IP:your_server_ip
    Your Server Port:8989
    Your Password:your_password
    Your Local IP:127.0.0.1
    Your Local Port:1080
    Your Encryption Method:aes-256-cfb

    Welcome to visit:http://teddysun.com/342.html
    Enjoy it!
    卸载方法:
    使用root用户登录,运行以下命令:

    ./shadowsocks.sh uninstall
    单用户配置文件sample(2014年06月17日新增):
    配置文件路径:/etc/shadowsocks.json

    {
    "server":"your_server_ip",
    "server_port":8989,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"yourpassword",
    "timeout":60,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
    }
    多用户多端口配置文件 sample(2014年10月10日新增):
    配置文件路径:/etc/shadowsocks.json

    {
    "server":"your_server_ip",
    "local_address": "127.0.0.1",
    "local_port":1080,
    "port_password":{
    "8989":"password0",
    "9001":"password1",
    "9002":"password2",
    "9003":"password3",
    "9004":"password4"
    },
    "timeout":60,
    "method":"aes-256-cfb",
    "fast_open": false,
    "workers": 1
    }
    使用命令(2014年05月29日新增):
    启动:/etc/init.d/shadowsocks start
    停止:/etc/init.d/shadowsocks stop
    重启:/etc/init.d/shadowsocks restart
    查看状态:/etc/init.d/shadowsocks status

    更多版本 shadowsocks 安装:
    CentOS 下 shadowsocks-nodejs 一键安装脚本
    CentOS 下 shadowsocks-libev 一键安装脚本
    Debian 下 shadowsocks-libev 一键安装脚本

    参考链接:
    http://teddysun.com/339.html

    更新日志:
    (2014年10月10日)
    跟作者反馈了多用户多端口问题,作者已更新 Wiki 页面。本教程新增多用户多端口配置文件的 sample 。
    (2014年09月24日)
    如何配置多用户?详见:这里
    备注:Shadowsocks 已经支持多用户,在配置文件中增加不同的端口,对应不同的密码即可。
    (2014年09月18日)
    1、安装完成一段时间后,执行下面的命令可以升级到最新版本。

    pip install -U shadowsocks
    注意升级完成后需要再重启一下。
    (2014年07月12日)
    1、修正获取公网 IP 时的一个问题。建议不要使用共享公网 IP 的 VPS 来搭建 Shadowsocks 服务。
    (2014年05月29日)
    1、增加 chkconfig 配置,实现 service 命令。
    2、配置文件名从 /etc/config.json 改为 /etc/shadowsocks.json(与官方的命名一致)。
    3、配置文件中新增 workers ,值默认为 1(与官方配置同步)。
    (2014年05月27日)
    1、修正开机自启动失效的问题。
    2、优化是否后台启动成功的判断逻辑。
    (2014年05月04日)
    1、修正对增加防火墙端口逻辑的判断bug,对于已经放行 8989 端口的情况下,则无需再次增加。
    2、修正获取服务器 IP 的判断bug,对于多 IP 的 VPS 或服务器,默认只取第一个公网 IP 写到配置文件(/etc/config.json)里。
    3、加入开机自启动。

    特别说明:
    1、已安装旧版本的 shadowsocks 需要升级的话,需下载脚本的最新版,运行卸载命令./shadowsocks.sh uninstall 后,再次执行本脚本即可安装最新版。
    2、关于 CentOS 的默认 iptables 防火墙规则 icmp-host-prohibited ,如果安装之后发现已经启动 shadowsocks,本地客户端却不能连接上,请检查 iptables 是不是有如下的一条规则:

    REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
    运行命令:

    /etc/init.d/iptables status
    查看。如果有这条规则,则添加的 8989 端口需手动更改一下,放到这条规则的上一行。编辑 /etc/sysconfig/iptables 文件,将:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT
    放在:

    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    的前面。最终效果如下:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    编辑完后,重启 iptables 防火墙。命令:/etc/init.d/iptables restart
     
正在加载...