Shadowsocks指南2019 | 安装+优化+配置

什么是Shadowsocks?

什么 - 是 -  2.6.8

Shadowsocks本质上是一种旨在绕过地理限制的开源技术。由于Shadowsocks服务不属于任何公司,任何具有编程技能的人都可以使用并为此技术做出贡献。

也就是说,Shadowsocks不容易使用。构建和配置它并不适合所有人,需要相当多的技术知识。

这就是为什么Shadowsocks在技术娴熟的人群中非常受欢迎,特别是在编程社区。

Shadowsocks技术的细分

Shadowsocks基本上有两个组件。实际的Shadowsocks服务器和Shadowsocks客户端软件与服务器进行交互。我将在下面的单独标题中解释这两个组件的作用。

Shadowsocks服务器

  • Shadowsocks服务器可以位于中国大防火墙之外的任何地方。
  • 它允许多个设备或用户绕过地理限制。
  • Shadowsocks服务器既可以用于个人用途,也可以出租给其他人使用。

Shadowsocks客户端软件

  • Shadowsocks客户端软件可在各种设备和平台上运行。支持Windows,Android,iOS。
  • 客户端软件完全免费使用。
  • Shadowsocks服务器可用于连接中国辖区以外的远程Shadowsocks服务器。

Shadowsocks版本

由于这项技术相对较新,它只有两个版本。Shadowsocks(SS)和ShadowsocksR(SSR)。

Shadowsocks(SS)

  • Shadowsocks(SS)是该技术的首次发布。
  • 它是ShadowsocksR(SSR)的前身
  • Shadowsocks(SS)已经过时了今天的标准,现在很少使用。

ShadowsocksR(SSR)

  • ShadowsocksR(SSR)是Shadowsocks(SS)的继承者。
  • ShadowsocksR(SSR)改进了SS版本并提供了加密等高级功能。

构建自己的Shadowsocks服务器的先决条件

在你太兴奋之前,我将打破构建你自己的Shadowsocks服务器所需的实际知识和资源。

熟悉计算命令

在考虑制作自己的Shadowsocks服务器之前,您需要熟悉Linux命令及其工作原理。

作为参考,Linux命令看起来像这样:

  • 光盘
  • PWD
  • LS
  • CP

如果您从未熟悉过这些命令,请不要费心投入时间和精力来构建Shadowsocks服务器。

Shadowsocks帐户购买和承担外包成本

虚拟专用服务器并不便宜,它们可以在几美元到几百美元之间的任何范围内。

尽管与shadowsocks购买相关的付款程序相对容易,但您必须确保能够负担得起海外服务器的成本。

除此之外,您还需要掌握英语语言,以便与全球VPS提供商进行沟通。

与VPS建立连接

即使您能够负担得起VPS并了解Linux命令的方法,您仍然需要知道如何使用SSH连接到虚拟专用服务器。这意味着对于Mac用户,您需要知道如何使用内置终端,Windows用户必须知道如何使用Putty

最后,构建,优化并进入Shadowsocks服务器配置

既然您知道SSR构建自己的Shadowsocks服务器需要什么,那么我们应该深入研究实现。

以免直接潜入它。

购买海外虚拟专用服务器

现在,选择VPS提供商并没有硬性规定。您可以选择满足您需求的任何提供商。

如果您不了解任何可靠的VPS供应商,可以参考以下内容:

为了本教程的目的,我将使用DigitalOcean

创建主机VPS

现在您已购买了DigitalOcean,您需要使用VPS创建虚拟主机。虽然这是一个漫长的过程,但它相对容易。我将列出下面的所有步骤。

  1. 首先,使用位于页面顶部的“ 创建 ”按钮。
  2. 现在从下拉菜单中选择“ Droplets ”选项。
  3. 创建“ Droplets ”时,请选择以下步骤中提到的选项。

选择一张图片

要选择图像,请选择位于“分布”下的“ Ubuntu ”。

选择尺码

现在选择您希望Droplet的大小。我的建议,选择标准Droplet下列出的最便宜的选项(例如,1GB,1vCPU,25GB SSD磁盘,1 TB传输,5美元/月)。

添加备份

只需选择“否”即可。

添加块存储

只需选择“否”即可。

选择数据中心区域

选择数据中心可能很棘手。如果您选择的服务器太远,您将获得可怕的Shadowsocks速度。因此,建议选择美国和亚洲服务器。

根据我的经验,西海岸,旧金山(1,2)的服务器和新加坡的服务器工作得非常快。

选择其他选项

只需选择“否”即可。

添加SSH密钥

使用提供的SSH公钥登录新购买的虚拟主机。

选择一个主机名

现在为您的虚拟主机命名。它可以是你喜欢的任何东西。

  1. 现在您已完成虚拟主机的创建,您应该会看到与虚拟主机关联的IP地址。您必须记住此IP地址才能再次登录Shadowsocks帐户。

使用SSH连接到主机:

现在您已经创建了主机VPS,现在是时候使用SSH连接它了。如果您之前使用过SSH,则应该知道建立连接的常规命令行是"ssh root@ [IP address]"

你可以在Terminal和Putty上运行这个命令,你最终会使用它。

成功建立连接后,需要使用下面提到的命令更新主机。

Apt-get update && apt-get upgrade -y

安装ShadowsocksR:

现在是时候安装ShadowsocksR了。虽然你可以去Shadowsocks(SS)。建议您选择ShadowsocksR(SSR),因为它具有更好的性能。

通常,安装过程非常具有挑战性,但是,由于Teddysun提供的脚本,它变得非常简单。您现在可以运行一个简单的脚本,它将自动安装各种版本的Shadowsocks。

要安装Shadowsocks SSR,请以Root身份连接到虚拟主机并运行下面提到的命令。

  • 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

一旦运行最后一个命令行,您将得到如下提示:您选择哪个Shadowsocks服务器。

由于我们要安装ShadowsocksR,请选择与ShadowsocksR匹配的服务器。

现在您将获得输入ShadowsocksR密码的选项。输入您选择的密码。请务必记住此密码,因为您需要它才能通过墙壁访问。

现在您将获得如下选项:“请输入ShadowsocksR [1-65535]的端口”。虽然您可以选择范围内的任何端口,但建议您使用443。

接下来,您将获得如下选项:“请为ShadowsocksR选择流密码”。此选项基本上要求您选择shadowsocks加密方法。只需选择chacha20-ietf即可

之后,您将被要求“请选择ShadowsocksR的协议”。只需使用Origin来选择此选项。

接下来,您将获得如下选项:“请为ShadowsocksR选择OBFS”。虽然您可以选择任何模糊处理模式,但建议您选择http_simple_compatible

如果一切顺利,您将得到如下提示:“按任意键开始……或按Ctrl + C取消”。由于您要安装ShadowsocksR(SSR),请按任意键以开始安装过程。

安装过程确实需要一段时间,所以请耐心等待。

安装过程完成后,您将看到有关Shadowsocks服务器的重要信息。这包括您的服务器IP,服务器端口,obfs,Shadowsocks加密方法,密码和shadowsocks协议。

确保在某处记下这些信息。

恭喜!您现在已成功安装ShadowsocksR服务器。如果要在安装后更改任何设置,可以使用编辑器修改下面提到的文件。

Nano /etc/shadowsocks-r/config.json

完成所需的更改后,必须重新启动ShadowsocksR。为此,请使用以下命令。

/etc/init.d/shadowsocks-r restart

优化Shadowsocks提高服务器的速度

此步骤是可选的。但是,如果您想提高服务器的速度,可以查看我在下面讨论过的其他一些技巧。

技巧1:使用Google TCP BBR拥塞控制算法并提高服务器速度

要安装Google的TCP BBR拥塞控制算法,我们将使用Teddysun脚本

以root SSH成功​​连接到主机后,您需要运行下面提到的命令行。

Wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

现在和以前一样,点击回车键开始安装过程。安装完成后,您需要重新启动主机服务器。

技巧2:增加服务器上同时运行的连接数

要增加服务器上的连接数,需要编辑“/etc/security/limits.conf”文件。

Nano /etc/security/limits.conf

您还必须在文件末尾添加下面提到的两行。(下面提到的两行也包括*符号)。

* soft nofile 51200

* hard nofile 51200

现在退出文件并运行下面提到的命令。

Ulimit -n 51200

技巧3:调整内核设置

要修改内核设置,您需要编辑“/etc/sysctl.conf”文件。

Nano /etc/sysctl.conf

现在和以前一样,在文件的最后添加下面提到的行。

Fs.file-max = 51200

 

Net.core.rmem_max = 67108864

Net.core.wmem_max = 67108864

Net.core.netdev_max_backlog = 250000

Net.core.somaxconn = 4096

 

Net.ipv4.tcp_syncookies = 1

Net.ipv4.tcp_tw_reuse = 1

Net.ipv4.tcp_tw_recycle = 0

Net.ipv4.tcp_fin_timeout = 30

Net.ipv4.tcp_keepalive_time = 1200

Net.ipv4.ip_local_port_range = 10000 65000

Net.ipv4.tcp_max_syn_backlog = 8192

Net.ipv4.tcp_max_tw_buckets = 5000

Net.ipv4.tcp_fastopen = 3

Net.ipv4.tcp_mem = 25600 51200 102400

Net.ipv4.tcp_rmem = 4096 87380 67108864

Net.ipv4.tcp_wmem = 4096 65536 67108864

Net.ipv4.tcp_mtu_probing = 1

现在退出文件编辑并运行下面提到的命令。

Sysctl -p

最后,使用以下命令重新启动ShadowsocksR SSR服务器: /etc/init.d/shadowsocks-r restart

就是这样,您现在已经成功优化了Shadowsocks服务器。你现在应该比以前获得更好的速度。

下载Shadowsocks客户端应用程序

现在您已经成功购买,安装和优化了Shadowsocks服务器,现在您需要下载并配置Shadowsocks客户端应用程序。

对于那些不知道shadowsocks客户端应用程序是什么的人?它基本上是一个多平台应用程序,用于连接到远程Shadowsocks服务器。

Shadowsocks客户端软件下载链接

由于我们在此博客中使用了ShadowsocksR版本,因此我列出了各种设备的SSR客户端链接,包括移动shadowocks的链接。

Shadowsocks客户端基本配置

配置Shadowsocks客户端可能具有挑战性。为了使用客户端应用程序成功访问Shadowsocks服务器,您需要提供服务器IP,端口,密码,加密和一些其他信息。

所有细节必须绝对准确,否则您将无法在服务器和客户端应用程序之间建立连接。

Shadowsocks支持代理模式

Shadowsocks主要支持两种代理模式。我将在下面简要讨论它们。如果您有兴趣了解每个shadowsocks代理模式提供的内容,请查看官方shadowsocks网站。

全局模式

顾名思义,这种代理模式允许通过Shadowsocks访问所有网站。如果您通常访问区域阻止的网站,则全局代理模式可以授予您不受限制的访问权限。

PAC模式

此模式决定流量通过Shadowsocks流量和流量。它遵循PAC文件中提到的规则。由于操作系统已使用代理规则,因此不建议在Windows计算机上使用PAC代理模式。