CentOS下shadowsocks一键安装脚本

本脚本适用环境:
系统支持:CentOS/Redhat/Fedora
内存要求:≥64M
日期:2014年2月16日

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

默认配置:
服务器端口:8989
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)

客户端下载:
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:(你的服务器IP)
Your Server Port:8989
Your Password:(你设定的密码 如 www.111cn.net)
Your Proxy Port:

Enjoy it! ^_^

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

 代码如下 复制代码

./shadowsocks.sh uninstall

最后付shadowsocks.sh文件代码

 代码如下 复制代码

#! /bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
clear
echo "#############################################################"
echo "# Install Shadowsocks(Python) for CentOS5.x (32bit/64bit) or CentOS6.x (32bit/64bit)"
echo "#"
echo "# Author: Teddysun <i@teddysun.com>"
echo "#"
echo "#############################################################"
echo ""

# Get IP address
IP=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.*' | cut -d: -f2 | awk '{ print $1}'`;

# Install Shadowsocks
function install_shadowsocks(){
    rootness
    disable_selinux
    pre_install
    download_files
    config_shadowsocks
    iptables_set
    install
}

# Make sure only root can run our script
function rootness(){
if [[ $EUID -ne 0 ]]; then
   echo "Error:This script must be run as root!" 1>&2
   exit 1
fi
}

# Disable selinux
function disable_selinux(){
if [ -s /etc/selinux/config ] && grep 'SELINUX=enforcing' /etc/selinux/config; then
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    setenforce 0
fi
}

# Pre-installation settings
function pre_install(){
    #Set shadowsocks config password
    echo "Please input password for shadowsocks:"
    read -p "(Default password: teddysun.com):" shadowsockspwd
    if [ "$shadowsockspwd" = "" ]; then
        shadowsockspwd="teddysun.com"
    fi
    echo "password:$shadowsockspwd"
    echo "####################################"
    get_char(){
        SAVEDSTTY=`stty -g`
        stty -echo
        stty cbreak
        dd if=/dev/tty bs=1 count=1 2> /dev/null
        stty -raw
        stty echo
        stty $SAVEDSTTY
    }
    echo ""
    echo "Press any key to start...or Press Ctrl+C to cancel"
    char=`get_char`
}

# Download files
function download_files(){
    if [ -s ez_setup.py ]; then
        echo "ez_setup.py [found]"
    else
        echo "ez_setup.py not found!!!download now......"
        if ! wget --no-check-certificate https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py;then
            echo "Failed to download ez_setup.py!"
            exit 1
        fi
    fi
}

# Config shadowsocks
function config_shadowsocks(){
    touch /etc/config.json
    cat >>/etc/config.json<<-EOF
{
    "server":"${IP}",
    "server_port":8989,
    "local_port":1080,
    "password":"${shadowsockspwd}",
    "timeout":600,
    "method":"aes-256-cfb"
}
EOF
}

# iptables set
function iptables_set(){
    /sbin/service iptables status 1>/dev/null 2>&1
    if [ $? -eq 0 ]; then
        /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8989 -j ACCEPT
        /etc/rc.d/init.d/iptables save
        /etc/init.d/iptables restart
    fi
}

# Install
function install(){
    yum install -y wget openssl-devel gcc swig python python-devel python-setuptools autoconf libtool libevent
    yum install -y automake make curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel
    python ez_setup.py install
    easy_install pip
    pip install shadowsocks
    pip install M2Crypto
    pip install greenlet
    pip install gevent
    nohup ssserver -c /etc/config.json > /dev/null 2>&1 &
    clear
    echo ""
    echo "Congratulations, shadowsocks install completed!"
    echo -e "Your Server IP: 33[41;37m ${IP} 33[0m"
    echo -e "Your Server Port: 33[41;37m 8989 33[0m"
    echo -e "Your Password: 33[41;37m ${shadowsockspwd} 33[0m"
    echo -e "Your Proxy Port: 33[41;37m 1080 33[0m"
    echo ""
    echo ""
    echo "Welcome to visit:http://teddysun.com/342.html"
    echo "Enjoy it! ^_^"
    echo ""
    echo ""
}

# Uninstall Shadowsocks
function uninstall_shadowsocks(){
    killall ssserver
    pip uninstall shadowsocks
}

# Initialization step
action=$1
[  -z $1 ] && action=install
case "$action" in
install)
    install_shadowsocks
    ;;
uninstall)
    uninstall_shadowsocks
    ;;
*)
    echo "Usage: `basename $0` {install|uninstall)}"
    ;;
esac

时间: 2024-10-25 04:56:09

CentOS下shadowsocks一键安装脚本的相关文章

CentOS下shadowsocks-nodejs一键安装脚本

本脚本适用环境: 系统支持:CentOS/Redhat/Fedora 内存要求:≥128M 日期:2014年05月05日 关于本脚本: 一键安装 Nodejs 版的 shadowsocks 最新版本,同时会安装 Nodejs. 备注:因为需要编译安装 Nodejs 的最新版,如果内存太小的话会安装失败,因此本人只在最低 128MB 的 VPS 上测试过该脚本. 默认配置: 服务器端口:8989 客户端端口:1080 密码:自己设定(如不设定,默认为teddysun.com) 客户端下载: htt

CentOS下IPSEC/L2TP VPN一键安装脚本(openswan+xl2tpd)

概念性的东西这里不再赘述,网上有太多,一键安装脚本也有很多,但是很多不能用,能用的也仅仅只是在CentOS6下使用,CentOS7基本没看到这些安装脚本.于是花了一些时间来折腾测试,写这个脚本方便以后VPN的一键安装搭建.其中用的开源软件包是openswan和xl2tpd,,中间碰到过很多很多问题,如openswan和xl2tpd之间的兼容性问题. 请容许我这样做,脚本依赖<lnmp一键安装包>,可以在安装完lnmp后,执行这个脚本(vpn_centos.sh)来一键搭建你的个人vpn Cen

linux中dante socks5 一键安装脚本介绍

Danted Socks5 一键安装脚本 ******功能特点 1. 采用最新稳定版本 1.4.0 编译安装. 2. 自动识别系统IP(默认排除192.168.0.*, 10.0.0.*,127.0.0.*),检测多Ip时,进行交互式选择Ip配置(直接回车则全部配置). 3. 采用Pam用户认证,认证不需要添加系统用户(默认添加进程用户sock),删除.添加用户方便,安全. 4. sock5 运行状态查看. 5. 系统启动后自动加载. 6. 认证方式可选: 无用户名密码,系统用户名密码,Pam用

CentOS系统中一键安装Openstack图文教程_OpenStack

前言 首先找到一个国外的网站, http://openstack.redhat.com/Main_Page,进入到quickstart页面中 简单翻译如下:       用到的工具是一个被成为RDO的东东, 能够在基于RHEL内核的linux系统,如RedHat,CentOS,Scientific Linux下,快速实现三步安装.  一:安装RDO软件 sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm 二:安装一个叫p

centos下yum搭建安装linux+apache+mysql+php环境的方法_Linux

一.脚本YUM源安装: 1.yum install wget #安装下载工具wget 2.wget http://www.atomicorp.com/installers/atomic #下载atomic yum源,配置CentOS 6.5第三方yum源 3. sh ./atomic #脚本执行 4. yum check-update #更新yum软件包 二.163yum源的安装 1.进入yum源配置目录 cd /etc/yum.repos.d 2.备份系统自带的yum源 mv CentOS-B

Centos7搭建pptp VPN一键安装脚本

Centos7搭建pptp一键安装脚本 废话不多说,先上脚本地址:Centos7一键pptp 使用: wget https://raw.githubusercontent.com/DanylZhang/VPS/master/CentOS7-pptp-host1plus.sh chmod +x ./CentOS7-pptp-host1plus.sh ./CentOS7-pptp-host1plus.sh -u your_username -p your_password 1 2 3 可在-u.-p

memcached一键安装脚本V1.0

#!/bin/bash #author itnihao #version 1.0 #date 2012-08-04 #mail itnihao@qq.com # www.bianceng.cn #source http://code.google.com/p/auto-task-pe/ green='\e[0;32m' red='\e[0;31m' blue='\e[0;36m' blue1='\e[5;31m' NC='\e[0m' soft_PATH=$(pwd) libevent_vers

cacti一键安装脚本V1.1

01.#!/bin/bash 02.#function +++++++++++++cacti auto install scripts+++++++++++++++++++ 03.#author itnihao 04.#version 1.1 05.#date 2012-08-17 v1.006.#date 2012-08-18 v1.1更新增加syslog-ng等内容07.#mail itnihao@qq.com 08.#www.bianceng.cn 09.#source http://co

centOS下mongodb的安装

###############centOS下mongodb的安装######### mongodb作为非关系型数据库NoSQL数据库的一种,并且是属于免安装类型. mongodb安装说明:32的安装db空间有限,最大支持2G多,并且性能低于64bit.64bit系统db存储没有限制!                                  mongodb安装需要磁盘大小为15G以上,如果只是测试可以使用--smallfiles参数最小安装! 1:准备安装包:    可以到官网下载:ht