[Shadowsocks/SS搭建教程]使用 Vultr VPS搭建SS服务器及Shadowsocks节点配置客户端实现科学上网

本系列教程适合新手小白,当然老鸟也可以看看,也许会有你还不知道的黑科技。一灯不是和尚手把手教你搭建Shadowsocks/SS/SSR/V2Ray/Trojan节点服务器并实现科学上网,这可能是史上最全、最简单、最适合小白萌新的SS搭建教程。本教程内容包括购买域名和VPS,远程连接并管理VPS和一键搭建Shadowsocks/SS服务器,并开启BBR加速以及Shaodowsocks/SS客户端配置方法。

[知识科普]Shadowsocks各版本的区别和关系

Shadowsocks 服务端按照程序语言不同大致分为5个版本,分别为 Python、libev、Go、 Nodejs 和 R ,其中 Python 和 Nodejs 版本的作者都是 @clowwindy ,Nodejs已经停止维护,目前主流使用前 3 种,最后 R 是指 ShadowsocksR,属于分支版本。众所周知,Shadowsocks-Python 是 @clowwindy 开发的 Shadowsocks 原版,也就是我们通常所说的 Shadowsocks。

现在,你可以认为 Shadowsocks 只有这4种版本:Shadowsocks-Python、Shadowsocks-Go(go-shadowsocks2)、Shadowsocks-libev 和 ShadowsocksR。其中,Shadowsocks-Go 已经被 go-shadowsocks2 项目替代,是Go语言编写的二进制文件,安装非常快;Shadowsocks-libev 是 C 语言移植开发的,运行过程中占用内存极低,很适合搭建在内存小的VPS或路由器上面,64M内存即可流畅运行;ShadowsocksR 是 Shadowsocks 最出名的分支版本,虽然仍被很多人使用,但已经停更,所以不再推荐使用。

Shadowsocks-python: 最原始的版本,近年来更新速度略慢;
Shadowsocks-go: 二进制编译,轻量、快速;
Shadowsocks-libev: 一直在更新,而且支持obfs混淆;
ShadowsocksR: 颇具争议性的分支版本,obfs混淆模式开创者,已经被GFW精准识别。

所以,你安装任何一个语言的版本都是可以的,功能上并没有任何差异。另外,Shadowsocks一直由社区人员在更新维护,而ShadowsocksR已经很久没有更新维护了,所以我建议大家使用Shadowsocks,不再推荐使用ShadowsocksR/SSR。

1、注册域名和购买非中国大陆地区的VPS

(1)注册域名

如果你是要伪装成“Shadowsocks/SS+WS+TLS+CDN”模式的话,就需要用到域名伪装成网站,否则不需要域名。注册域名有两种途径:注册国外免费域名和付费购买域名。

1)注册免费域名

注册免费域名请参考文章 最新的国外免费顶级域名网站Freenom注册免费域名教程与Cloudflare托管解析的方法

2)购买付费域名

购买付费域名推荐 NameSilo(推荐) 或 Namecheap,大部分域名一般不到4美元/第1年,像 .xray 和 .top 这样顶级域名还不到1美元/年,非常划算,第2年重新注册一个新的就可以了。

如果你打算在 NameSilo 注册域名的话,请参考文章 NameSilo – 美国知名域名注册商 | 仅年付0.99/1.99美元 | 域名购买与账户注册图文教程

3)域名解析

注册好域名之后,请把域名解析到你要搭建SS服务器所用VPS对应的IP地址,一般5分钟之内就可以生效,最迟72小时生效。我一直推荐大家使用 Cloudflare 管理域名,解析速度快,基本秒生效,非常方便快捷,而且 Cloudflare 的免费 CDN 很好用,而且搭建自用SS/SSR/V2Ray/Trojan机场经常会用到。

关于互联网域名注册、购买与添加DNS域名解析记录的详细操作教程,请参考文章 互联网域名注册、服务购买与添加域名解析记录及更改DNS服务器的详细图文教程

(2)购买非中国大陆地区的VPS

1)为什么要购买非中国大陆地区的VPS?

因为中国大陆经营的正规VPS提供商都在国家正规备案的,不允许你搭建Shadowsocks/SS节点服务器,一旦发现你违规使用会停掉你的VPS,还可能不退款。另外,即使你可以搭建科学上网服务器,而且没有被发现,那么也可能被监控,并有隐私泄露的风险,因为像国内大厂的云产品上面都有监控代码,你未必能清理干净。鉴于以上原因,我建议你选择非天朝公司且不在大陆备案经营的VPS提供商。

2)使用香港或者澳门公司的VPS怎么样?

当然是可以的,但是他们都很贵,而且仍是天朝下辖地区,还是不碰为好。我推荐你选择美国、台湾、日本、新加坡、韩国等地区机房的VPS,甚至欧洲公司的产品,毕竟中国台湾还没有被统一,天朝直接管不了。

通过以上分析和介绍,我相信你也不愿意选择阿里云、腾讯云、百度云和华为云等这样的国内大公司的VPS,最好选择美国西海岸、日本东京或新加坡机房的VPS。

3)搭建SS用什么VPS划算?

国外VPS哪家好?一键搭建Shadowsocks/SS服务器推荐你使用 Vultr推荐)、搬瓦工(BandwagonHOST) 或 Hostwinds 等大公司的VPS。其中,Vultr在全球拥有30个数据中心,虽然在不同国家和地区的机房数据中心对中国大陆不同地域网络的访问速度和延迟有些差别,但你只需要测试好最适合自己当地网络环境的机房位置即可,因为你可以方便且无限制地免费更换IP,直至找到最适合你的那个数据中心。毋庸置疑,在优质国外VPS服务商中,Vultr是性价比最高、最值得推荐的一家。另外,BandwagonHOST(搬瓦工)在中国大陆的知名度非常高,它的速度和稳定性都很不错,尤其是 CN2 GIA 线路的套餐,但价格非常贵,是同类产品中相对较贵的,性价比一般,而且现在换IP也非常贵。最后,鉴于Hostwinds在国外口碑非常好,服务器安全稳定,还支持免费更换IP,网站不仅支持中文操作界面,而且有中文客服实时在线,所以也是值得一试的。

如果你是老鸟的话,你应该懂得任何一家VPS都有值得推荐的优势。如果你追求速度和稳定性的话,我推荐您使用有中国电信 CN2 GIA、中国联通 CUVIP(AS9929) 或移动CMI,甚至日本软银等高端线路的VPS。其中,由于中国香港、中国台湾、日本和韩国的数据中心更靠近中国大陆,网络延迟相对更低,连接响应速度会更快,但峰值网络带宽并不一定高。虽然这些国家和地区的物理优势明显,但价格也是比较贵,尤其 CN2 GIA 和CU2(AS9929) 线路非常昂贵,不太适合普通用户,所以我们一般选择较多选择美国或欧洲机房的特殊优化或高端线路,性价比相对较高。如果你追求超高性价比的话,我相信Vultr肯定是你最好的选择。

关于 Vultr 的账户注册、套餐购买和VPS服务器系统安装与远程管理的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述,我后面的图文教程均以 Vultr VPS 为例进行演示。

2、远程连接并管理 Vultr VPS 服务器

关于 Xshell/Putty 远程连接并管理 Vultr VPS 服务器的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述。

当完成 Vultr 账户注册、套餐购买并成功连接到远程 VPS 之后,我们就可以继续下面的步骤了。

3、一键搭建Shadowsocks/SS服务器教程

我这里选择 Vultr VPS 服务器位置在 Seattle(美国西雅图),安装 CentOS 7 X64 系统,使用 Xshell 远程登陆 Vultr VPS 进行操作,然后我们就可以一键搭建Shadowsocks/SS服务器了。具体操作步骤如下:

(1)安装 wget 命令

yum -y install wget #CentOS
sudo apt-get install wget #Debian/Ubuntu

(2)秋水逸冰(Teddysun)的Shadowsocks/SS一键安装脚本(推荐,无需绑定域名)

此一键搭建Shadowsocks/SS服务器脚本由 秋水逸冰(Teddysun) 制作,而且一直在更新,目前支持 CentOS 6+、Debian 7+、Ubuntu 12+ 及以上系统版本,内存要求:≥128M,不支持“WS+TLS+CDN”,也不需要绑定域名。我推荐新手小白用户使用此一键搭建脚本,老鸟或有基础的用户可使用后面的“Shadowsocks+WS+TLS+CDN”模式的一键脚本,抗封锁效果更好。

wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log

将以上命令粘贴到 Xshell 窗口,回车执行代码,然后会提示有以下4种安装选项,分别是“1) Shadowsocks-Python”、“2) ShadowsocksR”、“3) Shadowsocks-Go”、“4) Shadowsocks-libev”。如果我们选择第2个就是搭建SSR服务器了,我们这里选第1个,搭建Shadowsocks/SS服务器。如下图所示:

我这里以安装第1个“Shadowsocks-Python”为例演示,输入数字“1”后回车,然后进入Shadowsocks服务器的参数配置选项,依次为“服务器连接密码”、“服务器端口”、“数据加密方式”(图中红杠和箭头标识的内容仅为演示,请根据你自己的需求输入即可)。其中,我这里建议你选择chacha20相关的加密方式(因为这些新加密方式的抗封锁效果更好)。如下图所示:

当以上参数选项都输入完毕后,敲击回车键。然后系统会提示“Press any key to start…or Press Ctrl+C to cancel“,即按任意键继续。当我们按任意键之后,系统会进入安装Shadowsocks服务的过程,稍等片刻即可完成。安装Shadowsocks服务成功完成后,如下图所示:

如上图所示,其中各项参数释义如下:

Your Server IP :你的服务器 IP 地址;
Your Server Port :你的服务器端口;
Your Password :你的连接密码;
Your Encryption Method:你的加密方式;
Your QR Code:你的SS链接;
Your QR Code has been saved as a PNG file path:你的SS链接二维码图片的存放位置。

至此,你已经成功搭建Shadowsocks/SS服务器,现在就可以使用了。但是,你会发现看YouTube视频时的网速并不快,我这里测试实际在6000Kbps左右,看1080P足够了。

为什么这么慢?那是因为你还没有安装BBR加速模块,安装并启用BBR之后速度会有明显的提高。

根据热心网友提供资料,如果出现错误提示,“[Error] Failed to install python,Please visit: https://teddysun.com/486.html and contact.”请按照以下图示方法进行尝试:

其中,把shadowsocks.all.sh里面图中标黄的“python”改成“python3”就可以了。上图中是修改过的,没改之前是“python”,因为现在 CentOS 8 已经不识别 python了。

1)卸载方法

若已安装多个版本,则卸载时也需多次运行(每次卸载1种),请使用root用户登录,执行以下命令:

./shadowsocks-all.sh uninstall

2)脚本控制命令

脚本后面的参数含义:启动,停止,重启,查看状态。

Shadowsocks-Python 版:
/etc/init.d/shadowsocks-python start | stop | restart | status

ShadowsocksR 版:
/etc/init.d/shadowsocks-r start | stop | restart | status

Shadowsocks-Go 版:
/etc/init.d/shadowsocks-go start | stop | restart | status

Shadowsocks-libev 版:
/etc/init.d/shadowsocks-libev start | stop | restart | status

3)默认配置文件

Shadowsocks-Python 版:
/etc/shadowsocks-python/config.json

ShadowsocksR 版:
/etc/shadowsocks-r/config.json

Shadowsocks-Go 版:
/etc/shadowsocks-go/config.json

Shadowsocks-libev 版:
/etc/shadowsocks-libev/config.json

(3)M3chD09大佬的“Shadowsocks+WS+TLS+CDN”一键搭建脚本(需绑定域名)

此一键搭建Shadowsocks/SS服务器脚本由 M3chD09 制作,最大优点是支持“WS+TLS+CDN”,但必须绑定域名,暂时不支持更换加密方式。此脚本目前支持 CentOS 7/8、Ubuntu 18.04/16.04、Debian 9/10 系统(经测试,Debian 10 安装失败概率较高,建议安装 Debian 9),其他系统版本尚未测试。

1)执行一键安装脚本

在 CentOS 7/8 上执行一键安装脚本命令如下:

wget -O centos-ss-install.sh https://github.com/M3chD09/shadowsocks-with-v2ray-plugin-install/raw/master/centos-ss-install.sh
chmod +x centos-ss-install.sh
./centos-ss-install.sh

在 Ubuntu 18.04/16.04 或 Debian 9/10 上执行一键安装脚本命令如下:

wget -O ubuntu-ss-install.sh https://github.com/M3chD09/shadowsocks-with-v2ray-plugin-install/raw/master/ubuntu-ss-install.sh
chmod +x ubuntu-ss-install.sh
./ubuntu-ss-install.sh

粘贴并执行上述一键安装命令后,会依次出现“What do you want to do?”、“Please enter password for shadowsocks-libev:”和“Please enter your domain:”参数设置的提示,我们只需要依次选择“1”安装,设置你的“服务器密码”和“绑定你准备的域名”。如下图所示:

当以上参数信息确认无误后,回车即可看到“Press any key to start the installation.”的信息提示,即按任意键开始安装。一键安装脚本执行成功后,如下图所示:

温馨提醒:如果你的域名在使用 Cloudflare 解析,那么在 Shadowsocks 服务器搭建完成之前,请把解析域名旁边的小云彩点成灰色,即只使用DNS解析功能,而不使用CDN。如果你想要你的 Shadowsocks 服务器支持 CDN 功能,那么在服务器搭建完成后,将域名旁边的小云彩点亮,同时把 SSL/TLS 加密方式设置为“完全(full)”。

2)使用 systemctl 管理 shadowsocks 命令

systemctl status shadowsocks #运行状态
systemctl start shadowsocks #启动
systemctl stop shadowsocks #停止

4、一键安装并开启BBR加速

一键安装BBR加速脚本,执行如下命令:

cd /usr/src && wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

执行以上安装命令后,如下图所示:

我这里选择“2”,“安装 BBRplus版内核”加速。在安装过程中,可能会出现如下提示,用右方向键选“<No>”,然后回车。如下图所示:

安装完成后会提示重启服务器,这时候输入字母“y”,回车后,重启服务器。当服务器启动后,我们再次执行安装命令,选择“7”启用“使用BBRplus版加速”。

至此,BBR Plus 加速模块安装并启用完成。一般情况下,我们再次看YouTube视频,会发现提速效果非常明显,至少提高1倍以上(我这里提升了大约5倍)。如下图所示:

注意事项:以上加速脚本不仅支持安装 BBR原版/BBR Plus/BBR魔改版 加速模块,而且支持 Lotserver(锐速) 内核加速,我这里建议你使用 BBR Plus 加速,因为根据很多用户的反馈,大部分 VPS 安装 BBR Plus 效果较好。我认为主要原因是BBR原版加速较为温和,BBR Plus 有所加强,但是BBR 魔改版加强过于暴力,严重影响同一机房环境的其他 VPS 网络速度,被大部分 VPS 提供商限制了,所以BBR 魔改版在很多VPS上加速效果并不够明显。

5、Shadowsocks/SS客户端配置

关于Shadowsocks/SS客户端配置使用教程,请参考文章 SS/SSR客户端下载、安装与配置使用教程 | 支持Windows/Android/iOS/Mac/Linux/路由器全平台

由于使用一键脚本搭建的“Shadowsocks+WS+TLS+CDN”服务器使用V2Ray插件添加TLS,所以你所使用的 Shadowsocks 客户端也必须支持,或者添加V2Ray插件功能。

v2ray-plugin插件下载:v2ray-plugin for Windows | v2ray-plugin for Linux | v2ray-plugin for Android

如果你正在使用Windows系统,那么先下载Windows版的 Shadowsocks 客户端和 v2ray-plugin 插件,然后把插件解压至 Shadowsocks 文件夹,并修改文件名为“v2ray-plugin.exe”。其中,Shadowsocks客户端添加节点的参数配置,如下图所示:

如上图所示,加密方式选择“aes-256-gcm”,“插件程序”填写“v2ray-plugin”,“插件选项”填写“tls;host=你绑定的域名”,确认无误后,点击“确定”保存,你也可以点击“应用”直接保存并启用。

如果你正在使用Android手机的话,那么请安装v2ray-plugin安卓版插件,然后启动Shadowsocks安卓客户端,参数设置跟Windows版客户端基本一致。

如果你正在使用苹果 Mac 电脑的话,Shadowsocks客户端 ShadowsocksX-NG 自带v2ray-plugin插件,参数设置跟Window版客户端基本一致。如下图所示:

如果你正在使用苹果手机的话,那么由于iOS系统的Shadowrocket自带v2ray-plugin插件,所以你在配置的时候,“插件”选“v2ray-plugin”,“模式”选“websocket”,并启用TLS,“服务器”填写你绑定的域名。如下图所示:

使用“Shadowsocks+WS+TLS+CDN”模式搭建的Shadowsocks/SS服务器,我在看YouTube视频时,网速确实会有所下降,但也不是太多,完全可以接受,毕竟安全稳定才是硬道理。

6、自建vps和买机场哪个好

如果你有一定的计算机网络技术基础,还懂得那么一点英文的话,一键搭建Shadowsocks/SS服务器是一件非常简单的事情;否则,对你来说还真是有点麻烦,因为从购买域名和选择VPS、远程登录和执行安装代码等,都是一件很闹心的事情,尤其是有问题的时候,一定会让你崩溃,甚至想放弃。如果你已经决定自建Shadowsocks/SS服务器(即SS机场搭建),那么搭梯子VPS推荐你用 Vultr,一旦被墙,能很方便地免费更换IP,搭建时请尽可能使用较新的加密方式;否则,请安心使用SS机场节点。

7、Shadowsocks/SS节点购买推荐

尽管对于老鸟来说,使用一键脚本搭建Shadowsocks/SS服务器真的非常简单,但是对于新手萌新来说,还是有些摸不着头脑,如果你不喜欢折腾,只是想要一个稳定可靠的科学上网工具,那么我推荐你使用SS节点。SS节点在哪购买?shadowsock节点哪里买?SS节点购买推荐你使用  DuangCloud 或 Just My Socks,DuangCloud是一家主营高端线路的SS机场,全部使用IPLC/IEPL国际专线;Just My Socks 是搬瓦工官方机场,分配6个服务器地址,被墙会自动免费切换到可用IP,而且现在支持Shadowsocks/SS/V2Ray了,大品牌安全可靠,又省心。

【温馨提醒】如果您是新手小白,或不能成功搭建科学上网代理服务器,或对线路节点的速度和稳定性均有更高需求,那么一灯不是和尚推荐您参考文章 优质高速稳定SS/SSR/Xray/Trojan/V2Ray机场推荐 | 网络加速器梯子推荐,它能帮助您挑选一家最适合您的优质SS/SSR/Trojan/Xray/V2Ray机场梯子。

郑重声明:本教程仅限于查阅学习资料和从事科研外贸工作的人群,所涉及到的工具资源均来自于互联网,本站对这些资源的可用性、安全性和版权不负有任何责任。如有侵权,请联系我删除。使用过程中,请您务必遵守当地的法律法规。

本文由一灯不是和尚于2024年12月22日更新;如果您有什么意见或建议,请在文章下面评论区留言反馈。

对“[Shadowsocks/SS搭建教程]使用 Vultr VPS搭建SS服务器及Shadowsocks节点配置客户端实现科学上网”的 73 条回复:

  • 你好!我试着搭建成功了,但用了几分钟就失效了,不知道是不是被屏蔽。希望能解答!
    我用的azure

      • 确实ping 不通。那就是被屏蔽了?这也太快了吧……我用的chacha20-ietf-poly加密。试了几次都是能连上,几分钟后就失效。是不是现在搭SS已经很困难了啊

        • 现在SS/SSR几乎都是秒封,Trojan协议代理也是活不了多久,除非你在用专线或其他冷门线路,所以我建议你使用VMess或VLESS协议搭建代理。

          • 谢谢回复。我注意到glados他们也有很多节点依旧用的shadowsocks,是不是做了一定的掩护?比如绑定domain之类的?

          • 直接使用Shadowsocks的一般都是专线或隧道中转线路,成本高,但是比较稳定。另外,我想说,使用Shadowsocks协议不代表不好,是因为个人技术没那么好,使用Shadowsocks协议搭建代理容易被墙。

  • 大佬,有没有不容易被墙的服务器推荐。Hostwinds的好多ip都通过不了。。换ip换的快自闭了。。

    • 那你还是使用Vultr试试,他家是IP最多的,数据中心也是非常多的,而且方便创建和删除实例,相对容易遇到可用的IP。

  • Shadowsocks搭建完成了,设置的1688端口,查看进行TCP和UDP的1688端口正在运行,但是手机通过Shadowsocks客户端无法连接。通过电脑Telnet IP 1688也是无法连接。这该怎么解决呀?

    • 应该是你的服务器IP不同吧!搭建前,请先确认你购买VPS所分配的IP地址是否正常联通。

      • 我又关闭防火墙重新搭建服务,现在IP和端口都通,但是在手机端Shadowsocks配置后无法翻墙,不知道怎么解决了!求大神帮帮忙。

        • 我也是搭建完了,IP没问题,但就是没法翻墙,你有解决吗,朋友,如有解决,请邮件和我说一下,谢谢了15978563391@163.com

          • 推荐搭建V2Ray或Xray代理,尤其是现在特殊时期,非专线的SS/SSR存活率比较低。

  • 大佬,目前回国的云服务器有什么推荐吗?是不是腾讯云和阿里云都回不去了,容易被墙?

    • 首先,检查你服务器IP地址是否可以正常访问,然后再检查你服务器代理端口是否被阻断,如果以上都没有问题,那么就检查客户端配置是否有问题。近阶段SS/SSR节点应该非常容易被封,我建议您搭建V2Ray或Trojan代理,扛封锁效果好。

    • 跟libsodium一样,都是单独的依赖包,请尝试重新安装。此脚本已经好多年不更新了,我推荐您使用秋水逸冰的作品,他一直都在保持更新。

        • 这个不是脚本的问题,是因为SS/SSR协议容易被精准识别,然后墙掉,我推荐你搭建V2Ray或Trojan协议的代理节点。

  • 安装 M3chD09大佬的“Shadowsocks+WS+TLS+CDN”一键搭建脚本 提示 Failed to install libsodium.
    菜鸟, 不知道咋弄了

    • 这个应该是,您选择使用salsa20/chacha20等协议,需要安装libsodium依赖库,不使用这些协议就不需要单独安装了。你可以根据自己的服务器系统,执行以下命令安装libsodium依赖库。

      Ubuntu/Debian系统:
      wget https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz
      tar xf libsodium-1.0.18.tar.gz && cd libsodium-1.0.18
      configure && make -j2 && make install
      ldconfig

      CentOS系统:
      wget https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz
      tar xf libsodium-1.0.18.tar.gz && cd libsodium-1.0.18
      configure && make -j2 && make install
      echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
      ldconfig

  • 大佬,呢能进去YouTube但是显示无网络连接,Google搜索显示意外终止连接,这种情况是为什么呢

    • 是不是弹出来验证了,验证通过就好了,这种情况一般都是代理IP太多人同时在使用谷歌服务导致的;如果不是的话,那可能是没有搭建成功。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注