CentOS上使用SSR部署移动免流量

以下教程针对CentOS 7 minimal 。也就是CentOS 7 最小化安装的系统!
教程不使用任何脚本。全部手动,避免不良人员下毒啊!

# 执行系统更新

yum -y update

# 加载epel源

yum install -y epel-release

# 安装git

yum install -y git

# 进入/opt目录,我想吧SSR安装再这里啊,你可以换啦

cd /opt/

# 克隆shadowsocks项目中的manyuser分支到当前目录

git clone -b manyuser https://github.com/breakwa11/shadowsocks.git

# 创建名字叫shadowsocks的文件

vi /etc/init.d/shadowsocks

关于 vi /etc/init.d/shadowsocks 的内容如下

#!/bin/bash
### BEGIN INIT INFO
# Provides: ShadowsocksR
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Fast tunnel proxy that helps you bypass firewalls
# Description: 注意不要乱改啊
### END INIT INFO

# Author: SSR
# 这里是写路径啦,我刚才把我的项目放在这里的,你可以自己根据自己的情况来写
BIN=/opt/shadowsocks/shadowsocks/server.py
# 这个表示配置文件ss.cfg再哪里
conf=/etc/ss.cfg
# 以下的内容全部没必要改动啦

start(){
$BIN -c $conf -d start
RETVAL=$?
if [ “$RETVAL” = “0” ]; then
echo “$name start success”
else
echo “$name start failed”
fi
}

stop(){
pid=`ps -ef | grep -v grep | grep -i “${BIN}” | awk ‘{print $2}’`
if [[ ! -z $pid ]]; then
$BIN -c $conf -d stop
RETVAL=$?
if [ “$RETVAL” = “0” ]; then
echo “$name stop success”
else
echo “$name stop failed”
fi
else
echo “$name is not running”
RETVAL=1
fi
}

status(){
pid=`ps -ef | grep -v grep | grep -i “${BIN}” | awk ‘{print $2}’`
if [[ -z $pid ]]; then
echo “$name is not running”
RETVAL=1
else
echo “$name is running with PID $pid”
RETVAL=0
fi
}

case “$1” in
‘start’)
start
;;
‘stop’)
stop
;;
‘status’)
status
;;
‘restart’)
stop
start
RETVAL=$?
;;
*)
echo “Usage: $0 { start | stop | restart | status }”
RETVAL=1
;;
esac
exit $RETVAL

# 添加系统服务名字叫 shadowsocks

chkconfig --add shadowsocks

# 服务状态打开 因为默认是关闭不启用的

chkconfig shadowsocks on

# 安装libsodium库 是为了使用chacha20加密算法

yum install -y libsodium-devel

# 在/etc的目录下创建配置文件ss.cfg

vi /etc/ss.cfg

关于 vi /etc/ss.cfg 的内容如下

{
“server”: “0.0.0.0”, //监听地址
“server_ipv6”: “::”, //ipv6地址
“port_password”: {
“444”:”mima123456″,
“137”:{“protocol”:”auth_sha1″, “obfs”:”http_simple”, “password”:”mima456789″},
“138”:{“protocol”:”auth_sha1″, “obfs”:”http_simple”, “password”:”mima654321″}
}, //端口密码
“local_address”: “127.0.0.1”, //本地地址
“local_port”: 1080, //本地端口
“timeout”: 120, //超时时间
“method”: “chacha20”, //加密方式
“protocol”: “auth_sha1_v4_compatible”, //协议插件
“protocol_param”: “”, //协议插件参数
“obfs”: “tls1.2_ticket_auth_compatible”, //混淆协议
“obfs_param”: “”, //混淆参数
“dns_ipv6”: false, //是否优先使用IPv6地址,有IPv6时可开启
“connect_verbose_info”: 0,
“redirect”: “”, //重定向参数,默认””
“fast_open”: false, //快速打开(仅限linux客户端)
“workers”: 1 //线程数
}

这其实是一个JSON格式的文件啦,我使用的是多端口多密码的配置。方便电脑手机和其他设备一起使用
其中444端口密码是 mima123456 它没有指明协议protocol那么就用外面默认的protocol协议叫auth_sha1_v4_compatible 兼容原版的SS客户端 也就是你不填auth_sha1_v4它也能工作哦
其中混淆默认是tls1.2_ticket_auth 混淆参数无所谓

444端口不是用来免流的 其中协议protocol和混淆obfs都带了compatible是为了兼容原版的SS 客户端

137 138 端口是用来做移动免流量的
注意看他指明了协议是auth_sha1混淆http_simple 自己再手机版的SSR上混淆参数要写上 wap.xx.10086.cn,XX为你手机所在地的缩写,比如广东为gd,某些特别的地区可能还有变,没事大家交流交流就好啦

加密算法都是默认的chacha20

# 启动ssr

/etc/init.d/shadowsocks start

到此为止你的服务端基本部署完成了

接下来只需要按照你的需求添加修改混淆参数来进行免流

参考链接:
https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup

CentOS上使用SSR部署移动免流量》有2个想法

  1. 这是怎么处理阿? 晕死了 刚转的centos
    /etc/init.d/shadowsocks: line 72: restart: command not found
    awk: cmd. line:1: ‘{print
    awk: cmd. line:1: ^ invalid char ‘�’ in expression
    awk: cmd. line:1: ‘{print
    awk: cmd. line:1: ^ invalid char ‘�’ in expression

发表评论

电子邮件地址不会被公开。 必填项已用*标注