最近经常有小白找我让我把他们安装ShadowsocksR服务端,一开始都是手动安装的,后来嫌麻烦,就打算用脚本,但是网上基本上只是安装一下就没了,只能算一键安装脚本,并不足够方便和适合懒人和小白,于是自己写了一个一键管理脚本,一键安装和一键管理的区别!
更多的Shadowsocks安装教程/一键脚本请看这里:Shadowsocks指导篇
本脚本的 二维码图片 功能,会调用我自建的 二维码API来生成二维码图片( http://doub.pw/qr/qr.php?text=xxx ),生成二维码是使用的JS代码,由浏览器端运行生成,我的二维码API绝不会记录任何调用日志!请确定你信任我和我的脚本,否则请不要用我的脚本。不信任我,为什么进我网站?看我教程?用我脚本?不要在这里暴漏自己的智障!
系统要求
CentOS 6+ / Debian 6+ / Ubuntu 14.04 +
推荐 Debian 7 x64,这个是我一直使用的系统,我的脚本在这个系统上面出错率最低。并且最容易安装锐速(锐速不支持OpenVZ)
CentOS根据大家的要求,加入了CentOS 6和7的支持,CentOS 7 自带防火墙问题(firewalld)自行解决,其他版本没有做测试。
脚本版本
Ver: 2.0.30
本脚本与另一个SSR脚本 『原创』ShadowsocksR MudbJSON模式多用户一键脚本 支持流量限制等 的区别是什么?ssrmu.sh 脚本是单服务器多用户脚本,使用的是 SSR服务端的MudbJSON模式,可以给每个用户(端口)设置不同的加密方式/协议/混淆/限制速度/设备数限制/可用总流量等功能。即实现单服务器多用户流量管理等功能。而 ssr.sh 则是单服务器单用户脚本,使用的是 SSR服务端的单用户配置方式,即使实现了多端口,但是还算不算多用户,不支持每个用户(端口)不同的加密方式/协议/混淆等,并且无法管理流量使用。如何选择这两个脚本?根据你的需求选择,比如你仅仅是 一个或两个人使用,并且不需要流量管理功能,那么选择 ssr.sh 好了。而如果很多人使用,并且都需要限制流量来管理,那你适合使用 ssrmu.sh ,所以自己看着选,多试试(两个脚本不能共存)!
脚本特点:
目前网上的各个ShadowsocksR脚本基本都是只有 安装/卸载 等基础功能,对于小白来说还是不够简单方便,要修改账号配置还要手动修改文件,所以那些ShadowsocksR脚本只能称得上一键安装脚本。既然没有我满意的ShadowsocksR一键管理脚本,那么我就自己造喽,于是特意学了Shell,然后写出来了这个ShadowsocksR一键管理脚本!
- 支持 限制 端口限速
- 支持 限制 端口设备数
- 支持 显示 当前连接IP
- 支持 显示 SS/SSR连接+二维码
- 支持 切换管理 单/多端口
- 支持 一键安装 BBR
- 支持 一键安装 锐速
- 支持 一键安装 LotServer
- 支持 一键封禁 垃圾邮件(SMAP)/BT/PT
安装步骤
简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!
本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root,如果是 root账号,那么请跳过!
输入上面代码回车后会提示你输入当前用户的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。
v2.0.0 版本以后的脚本,请先卸载旧脚本ShadowsocksR服务端,再重新安装!
备用下载地址(上面的链接无法下载,就用这个):
下载运行后会提示你输入数字来选择要做什么。
输入 1 ,就会开始安装ShadowsocksR服务端,并且会提示你输入Shadowsocks的 端口/密码/加密方式/ 协议/混淆(混淆和协议是通过输入数字选择的) 等参数。
如果安装过程中报错,请看 常见问题解决方法。
如果协议是origin,那么混淆也必须是plain !
同时最后也会提示是否设置 混淆 兼容原版(也就是使用原版SS也能链接),不懂 直接回车 或 输入 y 。(协议不在兼容原版)
不输入一路回车就是 默认参数:
最后会提示让你确认是否输入正确,如果没问题那就按任意键继续安装,如果输入错误,那么就使用 Ctrl + C 退出脚本。
如果安装过程没有出错,那么最后就会提示:
SS/SSR链接(格式: ss://XXXXXXX ,很长),可以从剪辑版导入Shadowsocks客户端,不懂的话看下面二维码。
SS/SSR二维码,复制后面的链接在浏览器打开,就会显示一个二维码的图片,可以用Shadowsocks客户端扫描二维码来添加。
使用说明
运行脚本,
输入对应的数字来执行相应的命令。
当你为 单端口模式时,使用 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,auth_chain_a,auth_chain_b
混淆(Obfs):plain,http_simple,http_post,random_head,tls1.2_ticket_auth,tls1.2_ticket_fastauth(需06/04日以后的服务端版本)
origin 和 plain 是原版,加粗的是推荐使用的。
如果你想要使用 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_fastauthtls1.2_ticket_auth 与 tls1.2_ticket_fastauth 的区别为,后者不会等待服务器回应,所以不会增加延迟。适合于,因为混淆插件增加延迟的原因不得不选择原版混淆 plain,但是又因为QOS等因素而处于延迟与干扰/限速等之间抉择的时候,可以选择 tls1.2_ticket_fastauth 客户端混淆插件!
使用阿里云/腾讯云等存着安全组或规则组一类外部防火墙的请注意
因为阿里云/腾讯云的服务器还有一个外部的防火墙也就是叫 安全组或规则组。
一般来说默认是只开放 22(SSH)端口,所以一些人在搭建ShadowsocksR服务端后,会出现无法访问的情况,ShadowsocksR客户端的统计窗口显示超时。
同时ShadowsocksR服务端开启详细日志模式(其他功能中)后,ShadowsocksR客户端访问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
是否正常。ShadowsocksR启动失败,日志提示:Exception: libsodium not found 的错误
这是你使用了 chacha20 系列加密方式,但是却没有安装 libsodium支持库,导致ShadowsocksR无法启动,运行脚本选择选项 4 安装 libsodium支持库即可,如果安装失败,请选择其他的加密方式,对速度影响不大。
提示wget: unknown host “softs.fun” 之类的错误
这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS。
提示 wget: command not found 的错误
这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。
CentOS系统:
Debian/Ubuntu系统:
升级脚本
升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。
定时重启
一些人可能需要定时重启ShadowsocksR服务端来保证稳定性等,所以这里用 crontab 定时。
安装并打开 crontab 后,我们根据需求添加下面的代码,添加后我们按
ESC键
退出编辑模式,然后输入 :wq
保存并退出。
本脚本只是本人的第一个Shell脚本学习练手作品,在逻辑结构上问题不少,大家遇到什么BUG请积极反馈!
没有评论:
发表评论