ShadowsocksR 单用户版服务端安装教程 - month-time/shadowsocksr GitHub Wiki
ShadowsocksR 单用户版服务端安装教程 Shadowsocks Toyo 2年前 (2015-11-27) 71评论 文章目录 [显示] 本文最后更新于 2017年7月28日 13:19 可能会因为没有更新而失效。如已失效或需要修正,请留言! 说明:
Shadowsocks原作者被喝茶 放弃此项目,由ShadowsocksR作者接手,所以以后只能转成SSR的服务端和客户端了。
此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程:多用户版教程
一键脚本:『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)
本教程转自github,由ShadowsocksR作者编写!
不会链接VPS的,你需要看着个:Linux SSH链接工具 Putty 新手详细使用教程 更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
注意:ShadowsocksR服务端 auth_aes128_* 及以后的所有协议不支持兼容原版,混淆依然支持,影响解释看着个。 基本库安装
以下命令均以root用户执行,或sudo方式执行
centos:
yum update yum install git -y ubuntu/debian:
apt-get update apt-get install git -y 如果要使用Chacha20 chacha20-ietf 等加密方式,请安装 libsodium:
ShadowsocksR 安装libsodium 以支持 Chacha20/Chacha20-ietf 加密方式 如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf
获取源代码
git clone -b manyuser https://github.com/ToyoDAdoubi/shadowsocksr.git 执行完毕后此目录会新建一个shadowsocksr目录,其中根目录的是多用户版(即数据库版,个人用户请忽略这个),
子目录中的是单用户版(即shadowsocksr/shadowsocks)。
以下是相对路径,比如你在 /root 目录下执行上面的代码,那你的根目录就是 /root/shadowsocksr ,子目录就是 /root/shadowsocksr/shadowssocks
根目录即 shadowsocksr
子目录即 shadowsocksr/shadowsocks
服务端配置
进入根目录:
cd shadowsocksr 初始化配置:
bash initcfg.sh 通过配置文件运行
打开并修改配置文件,根据下下面的各选项说明来修改各个参数。
vi user-config.json 文件内容大概如下:
注意:新版ShadowsocksR服务端的 默认加密方式从 aes-256-cfb 改为 aes-128-ctr 了,大家注意一下。 { "server": "0.0.0.0", "server_ipv6": "::", "server_port": 8388, "local_address": "127.0.0.1", "local_port": 1080,
"password": "m", "timeout": 120, "udp_timeout": 60, "method": "aes-128-ctr", "protocol": "auth_aes128_md5", "protocol_param": "", "obfs": "tls1.2_ticket_auth_compatible", "obfs_param": "", "speed_limit_per_con": 0, "speed_limit_per_user": 0,
"dns_ipv6": false, "connect_verbose_info": 0, "redirect": "", "fast_open": false } 注意:ShadowsocksR服务端 auth_aes128_* 及以后的所有协议不支持兼容原版(compatible),混淆依然支持,影响解释看着个。 进入子目录:
假设ShadowsocksR安装在 /root 目录,那么这时候我们是在 /root/shadowsocksr/shadowsocks 文件夹了。
cd shadowsocks 前台运行(调试专用,断开SSH后就自动关闭):
python server.py 赋予脚本执行权限
chmod +x *.sh 启动服务:
./logrun.sh 停止服务:
./stop.sh 查看日志:
./tail.sh 开机启动
一些人可能需要开机启动,我就一起写上吧。
首先设置开机启动文件的权限,并打开该文件。
Cent OS 系统:
chmod +x /etc/rc.d/rc.local vi /etc/rc.d/rc.local Ubuntu/Debian 系统:
chmod +x /etc/rc.local vi /etc/rc.local 然后在 exit 0 这一句代码(只有ubuntu/debian有这个 exit 0)的前面加上 下面这句代码(如果你的Shadowsocks文件夹不在root目录下,请自行修改路径)。
/bin/bash /root/shadowsocksr/shadowsocks/logrun.sh 然后按 ESC键 退出vi编辑模式,然后输入 :wq 保存并退出该文件,就完成了。
端口限速和设置设备数
请查看这个文章:ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法
多端口配置
如果不会,推荐我写的一键脚本:『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)
如果要多个用户一起使用的话,请写入以下配置:
注意:JSON的格式是最后一个参数不加 逗号"," (不包括{}),所以请注意格式。 { "server": "0.0.0.0", "server_ipv6": "::", "local_address": "127.0.0.1", "local_port": 1080, "port_password":{ "8888":"password1", "9999":"password2", "2333":"password3" }, "timeout": 120, "udp_timeout": 60, "method": "aes-128-ctr", "protocol": "auth_aes128_md5", "protocol_param": "", "obfs": "tls1.2_ticket_auth_compatible", "obfs_param": "", "speed_limit_per_con": 0, "speed_limit_per_user": 0, "dns_ipv6": false, "connect_verbose_info": 0, "redirect": "", "fast_open": false }
主要就是修改这部分,按照格式修改端口和密码:
"port_password":{
"8888":"password1",
"9999":"password2",
"2333":"password3"
},
如果要为每个端口配置不同的混淆协议,请写入以下配置:
{ "server":"0.0.0.0", "server_ipv6":"::", "local_address":"127.0.0.1", "local_port":1080, "port_password":{ "8388":{"protocol":"auth_simple", "password":"abcde", "obfs":"http_simple", "obfs_param":""}, "8389":{"protocol":"origin", "password":"abcde"} }, "timeout":300, "method":"aes-128-ctr", "protocol": "auth_aes128_md5", "protocol_param": "", "obfs": "tls1.2_ticket_auth_compatible", "obfs_param": "", "speed_limit_per_con": 0, "speed_limit_per_user": 0, "redirect": "", "dns_ipv6": false, "fast_open": false, "workers": 1 } 按格式修改端口、密码以及混淆协议。也可以和以前的格式混合使用,如果某个端口不配置混淆协议,则会使用下面的默认”obfs”配置。
各选项说明:
Name Explanation 中文说明 server the address your server listens 监听地址 server_ipv6 the ipv6 address your server listens ipv6地址 server_port server port 监听端口 local_address the address your local listens 本地地址 local_port local port 本地端口 password password used for encryption 密码 timeout in seconds 超时时间 method default: “aes-128-cft” 加密方式 protocol_param default:”” 协议插件参数,可设置每个端口的链接设备数,比如”5″就是一个端口最大5个设备连接 protocol default:”auth_aes128_md5″ 协议插件,默认”auth_aes128_md5″ obfs default:”tls1.2_ticket_auth_compatible” 混淆插件,默认”tls1.2_ticket_auth_compatible” obfs_param default:”” 混淆插件参数,默认”” speed_limit_per_con default:0 单线程限速,默认 0,单位KB/S,说明看这里 speed_limit_per_user default:0 端口总限速,默认 0,单位 KB/S,说明看这里 redirect default:”” 重定向参数,默认”” dns_ipv6 default:false 是否优先使用IPv6地址,有IPv6时可开启 fast_open use TCP_FASTOPEN, true / false 快速打开(仅限linux客户端) workers number of workers, available on Unix/Linux 线程(仅限linux客户端) 其中protocol有如下四种取值:
12月30日以后的ShadowsocksR服务端,协议 都不在支持兼容原版!
protocol 说明 “origin” 原版协议 “verify_deflate” 带压缩的协议 “auth_sha1_v4″ 支持兼容原版,类似”auth_sha1″,提供更好的长度混淆特性 “auth_aes128_md5″ 推荐!但不支持兼容原版 “auth_aes128_sha1″ 推荐!但不支持兼容原版 其中obfs有如下四种取值:
obfs 说明 “plain” 不混淆 “http_simple” 伪装为http协议 “tls_simple” 伪装为tls协议(不建议使用) “random_head” 发送一个随机包再通讯的协议 “tls1.2_ticket_auth” 伪装为tls ticket握手协议(强烈推荐),同时能抗重放攻击 如果你想要使用 tls1.2_ticket_fastauth 混淆插件,那么服务端选择 tls1.2_ticket_auth,客户端选择 tls1.2_ticket_fastauth 即可。 如果服务端 设置混淆参数为:tls1.2_ticket_auth_compatible (兼容原版) 那么客户端 可使用的混淆为:plain / tls1.2_ticket_auth / tls1.2_ticket_fastauth tls1.2_ticket_auth 与 tls1.2_ticket_fastauth 的区别为,后者不会等待服务器回应,所以不会增加延迟。适合于,因为混淆插件增加延迟的原因不得不选择原版混淆 plain,但是又因为QOS等因素而处于延迟与干扰/限速等之间抉择的时候,可以选择 tls1.2_ticket_fastauth 客户端混淆插件! 注意:tls1.2_ticket_fastauth 需要 2017/06/04 后更新的服务端方可使用! 各混淆插件的说明请点击这里查看:混淆插件说明
注:客户端的protocol和obfs配置必须与服务端的一致。 redirect参数说明: 值为空字符串或一个列表,若为列表示例如 “redirect”:[“bing.com”, “cloudflare.com:443″], 作用是在连接方的数据不正确的时候,把数据重定向到列表中的其中一个地址和端口(不写端口则视为80),以伪装为目标服务器。 dns_ipv6参数说明: 为true则指定服务器优先使用IPv6地址。仅当服务器能访问IPv6地址时可以用,否则会导致有IPv6地址的网站无法打开。 一般情况下,只需要修改以下五项即可: "server_port":8388, //端口 "password":"password", //密码 "protocol":"origin", //协议插件 "obfs":"http_simple", //混淆插件 "method":"aes-128-ctr", //加密方式 更新源代码
如果代码有更新可用本命令更新代码
进入shadowsocks目录
cd shadowsocksr
执行
git pull
成功后重启ss服务
其它异常
如果你的服务端python版本在2.6以下,那么必须更新python到 2.7.x 版本
更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
一键脚本:『原创』Debian/Ubuntu ShadowsocksR一键单端口/多端口管理脚本(集成锐速)
转载自ShadowsocksR官方Github文档:https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup
转载请超链接注明:逗比根据地 » ShadowsocksR 单用户版服务端安装教程 责任声明:本站一切资源均原创或收集自互联网,仅作交流学习之用,请勿用作商业!如造成任何后果,本站概不负责!