一、安装 Shadowsocks
yum install python-setuptools && easy_install pip
#apt-get install python-gevent python-pip python-m2crypto
pip install shadowsocks
二、建立配置文件,密码是 135246,端口为55555
cat < /etc/shadowsocks.json
{
“server”:”0.0.0.0″,
“server_port”:55555,
“local_port”:1080,
“password”:”135246″,
“timeout”:600,
“method”:”aes-256-cfb”
}
EOF
三、配置服务
cat < /etc/init.d/shadowsocks
#!/bin/sh
NAME=shadowsocks
PIDFILE=/var/run/$NAME.pid
DAEMON=/usr/bin/ssserver
DAEMON_OPTS=”-c /etc/shadowsocks.json”
start() {
echo -n “Starting daemon: “$NAME
touch $PIDFILE
chown root:root $PIDFILE
start-stop-daemon –make-pidfile –background –start –quiet –pidfile $PIDFILE –chuid root:root –exec $DAEMON — $DAEMON_OPTS || true
echo “.”
}
stop() {
echo -n “Stopping daemon: “$NAME
start-stop-daemon –stop –quiet –oknodo –pidfile $PIDFILE || true
echo “.”
}
case “$1” in
start)
start
;;
stop)
stop
;;
restart)
echo -n “Restarting daemon: “$NAME
stop
sleep 1
start
;;
*)
echo “Usage: “$1″ {start|stop|restart}”
exit 1
esac
exit 0
EOF
四、配置和启动服务端
chmod +x /etc/init.d/shadowsocks
update-rc.d shadowsocks defaults
/etc/init.d/shadowsocks start
=================
yum install m2crypto
To run in the foreground:
ssserver -c /etc/shadowsocks.json
To run in the background:
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
=================
#!/bin/bash
if
ps -ef|grep “shadowsocks on”|grep -v “grep”
then
echo “Running!”
else
echo “Stopped!”
nohup /opt/shadowsocks-libuv/server > /dev/null 2>&1 &
fi
======================
easy_install https://github.com/shadowsocks/shadowsocks/archive/master.zip
讚讚
easy_install pip
若报错,需要执行
yum install python-pip
讚讚
安装SS的C语言分支libev
wget https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-7/librehat-shadowsocks-epel-7.repo -O /etc/yum.repos.d/librehat-shadowsocks-epel-7.repo
yum install shadowsocks-libev
PS:
https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/
https://github.com/shadowsocks/shadowsocks-libev
https://github.com/shadowsocks/shadowsocks-android/releases
讚讚
#!/bin/bash
# chkconfig: 2345 90 10
# description: A secure socks5 proxy, designed to protect your Internet traffic.
### BEGIN INIT INFO
# Provides: Shadowsocks
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Fast tunnel proxy that helps you bypass firewalls
# Description: Start or stop the Shadowsocks server
### END INIT INFO
if [ -f /usr/bin/ssserver ]; then
BIN=/usr/bin/ssserver
elif [ -f /usr/local/bin/ssserver ]; then
BIN=/usr/local/bin/ssserver
fi
NAME=Shadowsocks
if [ -f /etc/shadowsocks-python/config.json ]; then
CONF=/etc/shadowsocks-python/config.json
elif [ -f /etc/shadowsocks.json ]; then
CONF=/etc/shadowsocks.json
fi
RETVAL=0
check_running(){
PID=`ps -ef | grep -v grep | grep -i “${BIN}” | awk ‘{print $2}’`
if [ ! -z $PID ]; then
return 0
else
return 1
fi
}
do_start(){
check_running
if [ $? -eq 0 ]; then
echo “$NAME (pid $PID) is already running…”
exit 0
else
$BIN -c $CONF -d start
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo “Starting $NAME success”
else
echo “Starting $NAME failed”
fi
fi
}
do_stop(){
check_running
if [ $? -eq 0 ]; then
$BIN -c $CONF -d stop
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo “Stopping $NAME success”
else
echo “Stopping $NAME failed”
fi
else
echo “$NAME is stopped”
RETVAL=1
fi
}
do_status(){
check_running
if [ $? -eq 0 ]; then
echo “$NAME (pid $PID) is running…”
else
echo “$NAME is stopped”
RETVAL=1
fi
}
do_restart(){
do_stop
do_start
}
case “$1” in
start|stop|restart|status)
do_$1
;;
*)
echo “Usage: $0 { start | stop | restart | status }”
RETVAL=1
;;
esac
exit $RETVAL
讚讚
配置服务(这样做成服务可以成功)
建脚本 /etc/init.d/shadowsocks 文件(其实也是 /etc/rc.d/init.d/shadowsocks 文件):
$ sudo vim /etc/init.d/shadowsocks
添加以下内容:
#!/bin/sh
#
# shadowsocks start/restart/stop shadowsocks
#
# chkconfig: 2345 85 15
# description: start shadowsocks/ssserver at boot time
start(){
ssserver -c /etc/shadowsocks.json -d start
}
stop(){
ssserver -c /etc/shadowsocks.json -d stop
}
restart(){
ssserver -c /etc/shadowsocks.json -d restart
}
case “$1” in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo “Usage: $0 {start|restart|stop}”
exit 1
;;
esac
——————-
对脚本的一些注解:
前面的几行,看起来像注释,特别chkconfig那一行,不可删除,否则无法设置开机启动,会提示错误:service shadowsocks does not support chkconfig
chkconfig: 2345 85 15 中,2345代表在设置在那个level中是on的。如果一个都不想on,那就写一个横线”-“,比如:chkconfig: – 85 15。后面两个数字代表S和K的默认排序号
讚讚
1、Shadowsocks安装
yum install python-setuptools && easy_install pip
pip install shadowsocks
2、Shadowsocks配置
Create a config file /etc/shadowsocks.json
{
“server”:”my_server_ip”,
“server_port”:8388,
“local_address”: “127.0.0.1”,
“local_port”:1080,
“password”:”mypassword”,
“timeout”:300,
“method”:”aes-256-cfb”,
“fast_open”: false
}
3、Shadowsocks前台运行
ssserver -c /etc/shadowsocks.json
4、Shadowsocks后台运行
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
讚讚