2015年2月19日星期四

CentOS下shadowsocks-go一键安装脚本

本脚本适用环境:
系统支持:CentOS 5 & 6 & 7 32或64位
内存要求:≥128M
日期:2015年01月08日
关于本脚本:
一键安装 go 版的 shadowsocks 最新版本 1.1.3。据说 go 版本有 buff ,但是我没看到。与 python 版不同的是,其客户端程序能使用多个服务端配置,但是本脚本安装的是服务端。作者默认推荐 aes-128-cfb 加密,基于一致性的决定,脚本还是使用了 aes-256-cfb 加密方式。
默认配置:
服务器端口:8989
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)
使用方法:
使用root用户登录,运行以下命令:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-go.sh
chmod +x shadowsocks-go.sh
./shadowsocks-go.sh 2>&1 | tee shadowsocks-go.log
安装完成后,脚本提示如下:
Congratulations, shadowsocks-go install completed!
Your Server IP:your_server_ip
Your Server Port:8989
Your Password:your_password
Your Local Port:1080
Your Encryption Method:aes-256-cfb

Welcome to visit:http://teddysun.com/392.html
Enjoy it!
卸载方法:
使用 root 用户登录,运行以下命令:
./shadowsocks-go.sh uninstall
其他事项:
客户端配置的参考链接:http://teddysun.com/339.html
安装完成后即已后台启动 shadowsocks-go ,运行:
/etc/init.d/shadowsocks status
可以查看 shadowsocks-go 进程是否存在。
本脚本安装完成后,会将 shadowsocks-go 加入开机自启动。
使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status
多用户多端口配置文件 sample(2015年01月08日):
配置文件路径:/etc/shadowsocks/config.json
{
    "port_password":{
         "8989":"password0",
         "9001":"password1",
         "9002":"password2",
         "9003":"password3",
         "9004":"password4"
    },
    "method":"aes-256-cfb",
    "timeout":600
}
官方版本的 sample ,详见这里
特别说明:
1、关于 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
更新日志:
更新(2015年01月08日):修改了启动脚本 /etc/init.d/shadowsocks ,按照 CentOS 的 chkconfig 标准语法修改了一下(原来使用的是作者 Github 上自带的)。去掉了以 nobody 用户启动 shadowsocks 的方式,改为直接以当前登录用户直接启动(一般是 root 用户)。开机自启动,以及修改端口号提示无权限的问题已经解决。
更新(2015年01月07日):支持在 CentOS 5,6 及 7 下安装。注意,在 CentOS 7 中默认是没有 iptables 的,如果你开启了 firewalld ,请手动对端口放行。

http://teddysun.com/392.html

没有评论:

发表评论