yshunda/Notes

自建SSR服务器教程 (以Vultr为例)

yshunda opened this issue · 22 comments

title: 自建SSR服务器教程 (以Vultr为例)
date: 2017-09-20 20:41:13

前言:每次有时候在论坛里分享SS/SSR账号的后,用过一段时间后不能用了就会有人又找我求账号,我的信箱也因此经常爆满;So,授人以鱼不如授人以"渔",这篇帖子我们以Vultr为例。(也建议:自己学习一下,求人不如求已,这样你也多了一项技能、对吧!?文章适合小白,希望你能看完)

banner

文章概述:

第一节:一些概念和原理

Shadowsocks(SS)是什么?

"banner"

Shadowsocks是由若干人因为兴趣而制作的一个项目,主要开发者和领导者是@clowwindy其作用是加密传输资料。但是也正因为它加密传输资料的特性,使得 GFW 无法精准识别,经由它传输的资料和其它普通资料的区别(如上图)。但是在2015年下半年 被“相关部门”约谈喝茶,于是被迫删除Github的源码及相关文档。

clowwindy

但Shadowsocks属于开源项目,所以删除前已经有人备份,同时由另一批志愿者跟进维护原版 Shadowsocks 客户端,而由此衍生的基于Shadowsocks项目的第三方项目有:ShadowsocksR、Shadowsocks-qt5、ShadowsocksCap等。

ShadowsocksR(SSR)是什么?

Shadowsocks RSS,也叫SSR,是由破娃酱开发的加强版的Shadowsocks(SS)。它增加了混淆和协议两个主要功能来达到防止某墙的重放攻击和躲避QoS。虽然某墙在检测Shadowsocks(SS)流量时并不一定能认出这个到底是属于什么类型的流量,从而有可能被QoS。

补充:QoS (Quality of Service),原本用于路由器上对某种类型的网络流量进行权重分配从而达到较好的网络使用情况。打个比方,在家里,网络电话以及游戏流量的权重较高,如果QoS分配给他们的宽带有一定高权重的情况下,即使还有一个人疯狂下载,也能保证网络电话和游戏这俩Services的流畅性(通过牺牲部分下载速度)。此处,某墙可能在部分封锁严重的地区会对SS流量进行QoS限速,但不是出于保障其他流量流畅性的目的。但如果在无QoS监视地区使用SSR,则有可能会造成访问速度上的下降。

什么是 VPS 和 Vultr?

虚拟专用伺服务器(英语:Virtual private server,缩写为 VPS),是将一台服务器分割成多个虚拟专享服务器的一项技术。实现vps的技术分为容器技术和虚拟化技术。在容器或虚拟机中,每一个vps都可以分配独立公网IP地址、独立的操作系统、实现不同不同vps之间磁盘空间/内存/CPU资源/进程和系统配置的隔离,从而为用户和应用程序模拟出"独享"使用计算机资源的体验。也就是说每个VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。

Vultr是一家国际知名的的VPS租赁服务商,也是现在使用人数较多的VPS服务商之一,关于其优劣可查阅此篇文章"vultr vps服务器存在的7个优势及选择原因";与之相媲美的是搬瓦工,之前推出的$3.99美元一年的套餐,现已成为了"传家宝"。

什么是 Linux 和 SSH?

Linux是一套开源的类似Unix操作的,支持多用户/多任务/多线程和多CPU的免费开源操作系统。它被世界上大半多服务器所采用,有大量优秀的开源软件可以安装。但是Linux没有像window一样有图形化用户界面(GUI),想要操作Linux系统需要学习一些常用的命令行(CLI命令),想深入学习Linux系统的小伙伴推荐这个网站(我也在这个上面学习中....)鳥哥的Linux私房菜,这里列举一些常用操作:

pwd 打印当前文件夹的路径
cd  改变目录, 相当于 windows 下的打开文件夹
ls  展示当前目录下的所有文件内容
mkdir 创建目录, 创建文件夹
rmdir 删除文件夹
touch 创建文件
rm 删除文件
cat 原意是指将文件与终端输出流连接, 通俗的说输出文件内容
less 或 more( Unix ) 命令可以分页的打开文件, 注意使用 q 退出
echo 命令 打印
> 重定向, 如果文件存在, 则将文件截断, 并重新输入.
>>  重定向. 不截断重定向
ipconfig/all  查看ip信息
ping IP地址    查看是否连接成功
tips:
注意: 换行问题:在 linux 中使用 \n 表示换行;在 windows 中使用 \r\n 表示换行
注意:文件截断是指将文件的所有内容删除, 但是文件的创建时间等信息不更改

SSH是一种网络协议,主要用于计算机之间的加密登录。例如:如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录时安全的,即使被中途截获密码也不会被泄露。所以,你购买了一台VPS服务器为它安装了Linux系统后,只要借助一些工具,就可以用 SSH 在你自己的 Mac/Windows电脑上(Xshell)远程登录该 VPS 了。

第二节:购买VPS服务器

点击注册Vultr注册后,确认邮件激活账号,充值后即可购买服务器。充值方式是paypal或支付宝(2017年8月30日Vutrl支持支付宝付款,最低充值10美元即70元左右),使用paypal有信用卡即可。paypal注册地址:https://www.paypal.com (paypal是国际知名的第三方支付服务商,相当于国内的支付宝。注册一下账号,绑定信用卡即可购买国外商品)。注册并充值完,在左边选择"Server"标签,点击右边的"加号"部署新的服务器

"Vultr-1"

购买vps服务器时,服务器地址优先选择:美国硅谷(Silicon Valley)、美国达拉斯(Dallas)其次是美国洛杉矶(Los Angeles)和日本(Tokyo)的服务器

"Vultr-2"

系统类型选择CentOS6X64位的系统(系统版本不要选的太高,不要选centos7!centos7默认的防火墙可能会干扰SSR的正常连接!)

"Vultr-3"

根据自己的需求付款就好了,如果只供个人科学上网用的话,$5 绰绰有余。(如果你还想干其它的,那就高配置)

"Vultr-4"

剩下都可以使用默认值。最后一项你可以根据自身需求来自定义服务器的名字和标签,以方便区分。

"Vultr-5"

"Vultr-6"

"Vultr-7"

第三节:连接部署VPS服务器

连接服务器

接下来部署服务器需要一个"SSH客户端",上文我们在介绍SSH有提到过,如果你是Mac OS X系统请阁下自行搜索连接远程VPS的"SSH客户端" Xshell windows版下载地址:百度软件中心Xshell

接下来连接服务器:依次点击"文件"→"新建"

"Vultr-8"

软件会先后提醒你输入用户名和密码,linux系统用户名默认都是root,密码是购买服务器后的cent系统的密码

"Vultr-9"

"Vultr-10"

出现如下图即表示链接成功了

"Vultr-11"

部署服务器(脚本一)

脚本一:

yum -y install wget
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
chmod +x shadowsocksR.sh
./shadowsocksR.sh 2>&1 | tee shadowsocksR.log

复制上面的代码,粘贴进Xshell后按回车,会依次出现如下界面:

"Vultr-12"

"Vultr-13"

"Vultr-14"

一路按"回车"后,出现如下界面即表示部署成功:

"Vultr-15"

脚本一是无法修改密码/端口的,倘若要执意修改需要重新部署一遍,显得稍有些繁琐,若有此需求的小伙伴可以用脚本二方便以后想修改密码、端口什么的,而且功能更多

部署服务器(脚本二)

脚本二:

CentOS/Debian/Ubuntu ShadowsocksR单/多端口一键管理脚本:
yum -y install wget
wget -N --no-check-certificate https://softs.fun/Bash/ssr.sh && chmod +x ssr.sh && bash ssr.sh

备用地址:

yum -y install wget
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

复制以上代码,粘贴进Xshell(如果你之前有安装过,请先执行"3",将其卸载,再执行"1")

"Vultr-16"

之后跟脚本一的设置基本是一样,就不一一截图赘述,出现下图即成功了:

"Vultr-17"

第四节:加速VPS服务器(谷歌BBR加速,推荐)

服务器搭好了,使用过程中可能会出现不稳定的情况,同时加速后一般速度也会有明显的提升,建议部署加速脚本。Vultr采用的框架可以装BBR加速,我们来部署谷歌BBR加速脚本:,将下面脚本复制进Xshell

yum -y install wget
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

一路按回车后,出现如下界面:"输入y"

"Vultr-18"

至此加速完毕!

第五节:全平台翻墙指南(SSR)

window SSR客户端 下载地址

Mac OS X SSR客户端 下载地址

Android SSR客户端 下载地址

IOS SSR客户端 推荐使用Shadowrocket俗称"小火箭" 但是其虽然在国区appstore下架,但是作者@Shadowrocket 在其推特上发布了TestFlight申请,如果名额已满的话(当时我申请时名额未满),就只有去美区购买吧

持续更新补充中.......

你好,我在xshell 6里面按你说的来没有出现应该出现的代码,反而提示connection failed, 怎么回事啊

你好,我在xshell 6里面按你说的来没有出现应该出现的代码,反而提示connection failed, 怎么回事啊

ping一下你的 vps ip,可能是ip被禁了

作者你好,按照步骤完成之后并不能科学上网

呃,我现在可以了,解决办法(也不能说是办法吧)反正就是把端口改了原来好像是二十几后面改成80xx

呃,我现在可以了,解决办法(也不能说是办法吧)反正就是把端口改了原来好像是二十几后面改成80xx

能详细说说是修改哪个端口吗,是部署VPS时候选择的端口吗

就是用的脚本二嘛,可以修改信息啥,然后修改的那个里的端口,不知道对你有没有用啊,我也是刚好试了一次成功了

就是用的脚本二嘛,可以修改信息啥,然后修改的那个里的端口,不知道对你有没有用啊,我也是刚好试了一次成功了

谢谢老哥,我试试

就是用的脚本二嘛,可以修改信息啥,然后修改的那个里的端口,不知道对你有没有用啊,我也是刚好试了一次成功了

好的,能翻墙了

安装成功, 有几个小问题麻烦懂的朋友指点一下:

  1. 如何将配置转换成ssr连接或者订阅呢?
  2. 如何查看VPS或SSR服务器的目前连接情况呢(比如多少人连接了)?
    谢谢

第四節這裡是有速度提升麼?2019年還是一樣的嘛?
是4行代碼?我這裡輸入了以後反而感覺變慢了=,=
求教

可以上了!

qywm commented

你好,按照步骤一部署了,shadowsockr也相应地手动填写了,还是上不了。
哪里有提示可以看到是什么问题吗

你好,我按所有以上步骤做了,但是到最后启动的时候提示shadowsocksR启动失败怎么办

You00 commented

@yshunda
Vultr服务器买来是预装了centos8,然后现在这边是已经把ssr服务装上去了,但是只能在一台电脑上使用,就是我本机电脑连上可以用,但是我手机用Potatso Lite连接不能用,换一台电脑连也不能用,是不是我需要在配置什么呢?

大佬好,请问梯子在三四天内多次被禁用是怎么回事呢?每次换端口只能坚持一天左右。
是因为ip被禁了吗?需要换服务器吗?

更新下在centos8的实践:

1.部署服务器
yum -y install wget
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

2.安装python
sudo dnf install python3
sudo alternatives --set python /usr/bin/python3

3.打开端口(端口为第一步设置的翻墙端口,默认为2333)
firewall-cmd --permanent --add-port=2333/tcp
firewall-cmd --reload

4.查看是否能ping
http://port.ping.pe

5.加速
yum -y install wget
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

请问我自建ssr好了以后,电脑可以用,但是手机上小火箭配置就无法连接,测试都是超时,是什么原因?