CentOS/Debian/Ubuntu ShadowsocksR 单/多端口 一键管理脚本
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。并且最容易安装锐速(锐速不支持OpenVZ)
CentOS根据大家的要求,加入了CentOS 6和7的支持,CentOS 7 自带防火墙问题自行解决,其他版本没有做测试。
脚本版本
Ver: 2.0.3
2017/03/17,脚本重做了,功能相差不大,但是结构清晰多了,并且 新版本的脚本 相比旧版本少了 44%的代码量,精简后的脚本问题更少,效率更高,结构更清晰,细节处理更好,建议升级(注意:升级前请先卸载旧脚本的ShadowsocksR服务端)。
当然每一个新脚本 都会伴随着一些BUG出生,所以估计一开始这几天会根据网友的测试和反馈 来修复一些小BUG,毕竟没有BUG的脚本是不存在的
(除非穿女装 误
脚本特点:
目前网上的各个ShadowsocksR脚本基本都是只有 安装/启动/重启 等基础功能,对于小白来说还是不够简单方便。既然是一键脚本,那么就要尽可能地简单,小白更容易接受使用!
- 支持 限制 端口限速
- 支持 限制 端口设备数
- 支持 显示 当前连接IP
- 支持 显示 SS/SSR连接+二维码
- 支持 切换管理 单/多端口
- 支持 一键安装 锐速
- 支持 一键安装 BBR
- 支持 一键封禁 垃圾邮件(SMAP)/BT/PT
安装步骤
简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!
本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root,如果是 root账号,那么请跳过!
输入上面代码回车后会提示你输入 root账号的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。
v2.0.0 版本以后的脚本,请先卸载旧脚本ShadowsocksR服务端,再重新安装!
备用下载地址(上面的链接无法下载,就用这个):
下载运行后会提示你输入数字来选择要做什么。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果协议是origin,那么混淆也必须是plain !
使用说明
运行脚本,
输入对应的数字来执行相应的命令。
当你为 单端口模式时,使用 7. 修改 用户配置 是 修改 单端口账号配置。
当你为 多端口模式时,使用 7. 修改 用户配置 是 添加/删除/修改 多端口账号配置。
文件位置
安装目录:/usr/local/shadowsocksr
配置文件:/etc/shadowsocksr/user-config.json
其他说明
ShadowsocksR 安装后,自动设置为 系统服务,所以支持使用服务来启动/停止等操作,同时支持开机启动。
- 启动 ShadowsocksR:service ssr start
- 停止 ShadowsocksR:service ssr stop
- 重启 ShadowsocksR:service ssr restart
- 查看 ShadowsocksR状态:service ssr status
ShadowsocksR 默认支持UDP转发,服务端无需任何设置。
本脚本已经集成了 安装/卸载 锐速(ServerSpeeder)开心版,但是是否支持请查看 Linux支持内核列表 。(锐速不支持OpenVZ)
v2.0.0 以前的旧版本下载地址:
备用下载地址(上面的链接无法下载,就用这个):
ShadowsocksR目前支持的协议和混淆:
协议(Protocol):origin,auth_sha1_v4,auth_aes128_md5,auth_aes128_sha1
混淆(Obfs):plain,http_simple,http_post,random_head,tls1.2_ticket_auth
origin 和 plain 是原版,加粗的是推荐使用的。
ShadowsocksR 端口限速中 单线程限速 和 端口总限速 的区别
请查看这个文章:ShadowsocksR服务端 限制设备连接数 和 限制端口速度 的方法
解决 可使用原版协议,但无法使用ShadowsocksR协议 的问题
如果发现Shadowsocks原版协议/混淆可以使用,而ShadowsocksR的协议/混淆无法使用,那么多半是 VPS时区问题
这个命令,我的ShadowsocksR脚本在安装的时候已经执行了,如果你发现没有执行,那你可以手动执行。
我们可以通过下面这个命令,把VPS的时区调整为北京时区,这样就避免了ShadowsocksR 协议/混淆 因为时差太大造成的无法验证。
注意,部分VPS会提示你是否覆盖文件,输入 y 然后回车。
如果你遇到,crontab设定的定时任务不按更换时区后的VPS时间执行,那么请看下面:
crontab设定的定时任务不按VPS的时间执行,那是因为你更换VPS时区后还需要重启crontab。
CentOS 系统:
Debian/Ubuntu 系统:
提示 Media change: please insert the disc labeled‘Debian GNU/Linux 7.0.0 Wheezy — Official amd64 CD 等信息是 apt源 的问题,更换 apt源
我发现有一些人的VPS的 apt源有问题,导致安装失败,所以我这里写上如何更换 apt源。
本步骤仅适合 Debian 系统,Ubuntu系统自行搜索 apt源。
下面的手动改的方法一些人可能嫌麻烦,所以你们可以这样字更换apt源。
依次输入就可以更换apt源了,下面的代码是以 us美国 为例,你可以自己去这里选一个近一些合适的,然后替换下面代码中 us.sources.list 的 us 。
手动更换(上面的命令执行完毕就不要重复执行这个了)
打开你的apt源文件,
然后按 I 键 进入编辑模式,如果你没有安装vim,也无法通过 apt-get install vim -y 安装,那么你就只能通过SFTP下载这个文件本地编辑了。
把下面的内容复制过去,注意下面示例是美国的apt源,想要其他地区的apt源,请看:Debian全球镜像站(替换下面的 ftp.us.debian.org 中的 us )
修改完毕之后,按 ESC 键 退出编辑模式,然后输入 :wq 保存并退出,然后再试一试 apt-get update 是否正常。
提示wget: unknown host “softs.pw” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
CentOS系统:
Debian/Ubuntu系统:
限制设备连接数
限制设备连接数的这个功能,很早就有了,就是修改协议参数:protocol_param
打开你的配置文件,假设你在 /root 文件夹中安装的ShadowsocksR服务端,那么就是:
找到协议参数(参数为空 "" 时,默认限制 64个设备数)
在协议参数中设置你要限制 每个端口最大设备连接数(建议最少2个),比如 限制最大 5个设备同时链接,那么改为:
如果你服务端 协议设置(protocol)的是 原版(origin) 时,设备数限制无效。
如果你服务端 协议设置(protocol)的是 协议兼容原版 ,那么当用户使用原版协议(origin)连接Shadowsocks账号时,设备数限制无效。
限制端口速度
限制端口速度这个功能,是 2017年2月15日凌晨 才更新新添加的功能,我的一键ShadowsocksR管理脚本已经支持了这个设置。
打开你的配置文件,假设你在 /root 文件夹中安装的ShadowsocksR服务端,那么就是:
新增的两个参数分别是(参数为 0 时,默认代表不限速):
单位是 KB/S ,也就是我们平时下载文件的速度单位,我们家庭宽带100兆就是:100Mbps / 8 = 12.5MB/S * 1024 =12800KB/S。
比如我们要设置 单线程限速 1MB/S ,端口总限速 3MB/S ,那么就这样写:
speed_limit_per_con 指的是,单线程限速。
当你使用这个端口 下载某个文件时,单线程下载限速 100KB/S ,多线程下载(比如5个线程)就是 500KB/S 了,Youtube是单线程。
speed_limit_per_user 指的是,端口总限速。
使用这个端口的总速度被限制为 100KB/S 。
举例子说明:
假设设置,单线程限速 100KB/S ,端口总限速不限制,那么:
- 你单线程下载文件速度为 100KB/S ,你多线程 5个线程就是 500KB/S 。
假设设置,单线程限速 100KB/S ,端口总限速 300KB/S ,那么:
- 你单线程下载文件速度为 100KB/S ,你多线程最多 300KB/S 。
假设设置,单线程限速不限制,端口总限速 800KB/S ,那么:
- 你单线程下载文件速度为 800KB/S ,你多线程最多也是 800KB/S 。