如果你身处一个审查某些网站的国家,你可能正在寻找一种方法来绕过这种审查。这就是Shadowsocks与SOCKS5代理之争的由来。这两种解决方案是自由浏览互联网并访问任何你想要的网站而不被审查的最有效方法之一。
然而,在选择使用哪一种之前,你需要了解Shadowsocks和SOCKS5的一些区别。本文将讨论关于Shadowsocks和SOCKS5代理的所有信息,以便于你在这两种解决方案之间做出选择。事不宜迟,让我们直接进入主题!
什么是Shadowsocks?
Shadowsocks 是一个免费的开源连接协议项目,独裁国家的人们广泛使用它来寻找绕过审查的方法。中国人广泛使用此工具来绕过中国防火墙。Shadowsocks 之所以受欢迎,是因为它免费,而且比大多数 VPN 更能隐藏流量。

Shadowsocks 于 2012 年由一位名为“clowwindy”的中国程序员创建,并在 GitHub 上发布,供其他用户贡献。然而,这位程序员在 2015 年被中国政府联系,并被要求放弃该项目,并从 GitHub 上删除代码。
尽管政府采取了这些措施,但越来越多的人对如何使用 Shadowsocks 产生了兴趣,与此同时,开发人员也在不断改进这个工具。多年来,Shadowsocks 一直在不断改进,目前它是您可以用来绕过任何审查的最可靠的解决方案之一。
Shadowsocks 如何工作?
Shadowsocks 是一种代理,它通过您所在位置之外的远程服务器路由互联网连接,让您绕过任何审查。设置此工具后,您可以访问任何网络资源,因为它们的连接首先通过代理服务器并经过加密,因此您的 ISP 不会知道您的真实位置以及服务器和客户端之间交换的信息。
例如,如果您在中国,此工具会将您的连接路由到美国等国家的代理服务器,使中国防火墙几乎不可能审查您的连接。需要注意的是,Shadowsocks 使用的加密相对较轻,因此不如使用军用级加密的 VPN 安全。
与主流 VPN 不同,Shadowsocks 也不允许您选择要连接的代理服务器的位置。因此,从技术上讲,它不允许您访问Netflix 等流媒体网站上的地理封锁内容。
Shadowsocks 的好处

它是免费且开源的
该项目成功的主要原因之一是任何人都可以免费使用它。独裁政权中的许多人想使用 VPN,但负担不起每月的订阅费。声称免费的 VPN 通常会侵犯用户隐私并显示大量广告,从而破坏整个使用体验。这使得 Shadowsocks 成为任何寻找免费工具来访问其所在国家/地区受限制网站的人的终极解决方案。
选择性伪装流量
使用 Shadowsocks,您可以选择将哪部分流量路由到远程服务器。例如,如果您在中国并且想要访问 Facebook,您可以选择仅通过远程服务器路由 Facebook 连接,而让其余流量保持正常连接。这允许您访问仅限中国的网站以及您想要使用的任何受限制网站。
Shadowsocks 几乎不可能被检测和阻止
与 VPN 不同,Shadowsocks 会屏蔽您的流量,使其看起来像正常的 HTTPS 连接。这使得 ISP 和其他监管机构几乎不可能知道您正在使用此工具。还应注意,大多数审查内容的政府都要求 App Store 等平台在其地区禁止使用 VPN,因此使用 Shadowsocks 已成为理想的替代方案。
它比传统 VPN 更快
Shadowsocks 没有多个加密层,因此它比 VPN 的速度要快得多。与 SOCKS5 代理不同,Shadowsocks 还可以与多个 TCP 连接配合使用,因此它是一种速度更快的替代方案。
什么是SOCKS5代理?

SOCKS 是一种互联网协议,它通过代理服务器路由互联网流量,然后再将其发送到最终目的地。SOCKS5 通过为访问这些代理服务器的授权用户添加身份验证来提高 SOCKS 协议的安全性。
大多数 VPN 都具有 SOCKS5 代理功能,允许用户伪造虚拟位置。SOCKS5 代理会向你尝试访问的网站和其他网络资源隐藏你的实际 IP 地址。这允许用户访问地理锁定的内容,因为大多数此类网站都依赖 IP 地址来了解其位置。
SOCKS5协议用于授权用户的三种身份验证方法是空身份验证,用户名/密码身份验证和GSS-API身份验证。让我们详细解释一下这三种身份验证。
- 零身份验证:使用这种方法,任何人都可以不经过身份验证访问代理服务器。这是最不安全的身份验证方法,但它允许更多人使用代理服务器。
- GSS-API 身份验证:对于这种类型的身份验证,客户端(您)和服务器都必须在操作系统级别验证其身份。
- 用户名/密码验证:此方法只允许拥有用户名和密码的注册用户访问代理服务器。
SOCKS5 代理如何工作?
使用此协议时,您的流量将被重定向到代理服务器,代理服务器会在将您的流量发送到最终目的地之前生成一个随机 IP 地址。例如,如果您的 IP 地址是 192.168.0.100,而代理服务器的 IP 地址是 192.168.1.1,则您尝试访问的任何网站都会将您的 IP 地址视为后者。这允许您隐藏您的位置。
SOCKS5 代理服务器的唯一缺点是它们不加密您的流量,因此任何想要监视您的人都可以看到您的流量。这就是为什么如果您所在的国家/地区对互联网进行审查,使用 SOCKS5 代理并不是理想的解决方案。缺乏加密使您的 ISP 和其他机构能够看到客户端和服务器之间发送的数据,从而为他们提供阻止与某些网站的连接的依据。
使用 SOCKS5 代理的好处

访问受地理限制的内容
使用 SOCKS5 代理的主要原因之一是访问您所在地区受限制的网络内容。这在 Netflix 和 Amazon Prime Video 等流媒体服务中很常见,这些服务限制某些节目和电影只能由特定位置的人观看。SOCKS5 代理将隐藏您的 IP 地址,使这些服务几乎不可能知道您的实际位置。
限制网站对您进行分析
大多数网站在分析用户时使用的参数之一是他们的 IP 地址。隐藏您的 IP 地址将使这些网站难以获取您的完整个人资料信息。这增强了您在互联网上的隐私。
比VPN更快
SOCKS5 代理通过代理服务器路由您的流量,但它们不会像 VPN 那样加密您的数据。VPN 使用的多层加密很好,因为它使您与网络的连接更加安全和私密。但是,与使用不加密数据的 SOCKS5 代理相比,它的代价是互联网速度略慢。如果您的目标只是查看区域封锁的内容或实施一些营销活动,使用 SOCKS5 代理将是一个理想的选择。
Shadowsocks 与 SOCKS5 代理
Shadowsocks 协议本身并不是代理。它只是启用与第三方 SOCKS5 代理的安全连接。因此,Shadowsocks 解决了连接 SOCKS5 代理所产生的安全和隐私问题。使用 Shadowsocks,您将能够连接到互联网上的任何网站,而不会将您的数据暴露给监管机构和潜在的黑客。
尽管增加了这些额外的安全和隐私层,Shadowsocks 协议并不像 VPN 那样安全和私密。如果您想匿名浏览网页,建议使用 VPN。Shadowsocks 和 SOCKS5 代理的主要目标是让用户隐藏他们的 IP 地址,使监管机构难以阻止他们访问受审查的网站。从设计上讲,Shadowsocks 并不是非常安全和私密。
如何使用 Shadowsocks 创建 SOCKS5 代理?
在本节中,我们将讨论如何使用 Shadowsocks 创建 SOCKS5 代理。首先,您必须在云服务器上安装 Shadowsocks-libev。下一步是配置代理。然后,需要安装 Shadowsocks 客户端软件。之后,您将能够将您的设备连接到之前创建的代理服务器。
现在,让我们仔细看看在使用 CentOS 8、Debian 10 和 Ubuntu 20.04 时可用于云服务器的程序和指南。在使用这些说明之前,请确保您具有云服务器的 root 访问权限。
1. Shadowsocks-libev 安装
对于 CentOS 服务器,首先通过应用以下命令添加 EPEL 存储库:

然后你应该使用下面的命令安装 snap

对于 Ubuntu 20.04 和 Debian 10 服务器,请先更新软件,然后再安装 snap。以下是您需要的命令:

为了提高随机性,你可能必须在服务器上 启动haveged 。以下是在云服务器上安装 haveged 的命令。

安装上述软件包后,您现在可以使用以下命令重新启动服务器:

服务器重启后使用 snap 安装 shadowsocks-libev。您需要通过 SSH 再次登录并使用以下命令安装 shadowsocks-libev。

2. 配置服务器
使用以下命令创建一个用于保存配置文件的目录

Shadowsocks-libev 配置需要使用以下命令创建一个 JSON 文件。请注意,您可以为此文件指定任何名称。这里,config 将用作我们的 JSON 文件的名称。

编辑我们刚刚创建的文件,包括下面的代码。

创建一个 systemd 服务单元,以避免每次想要连接服务器时都在终端中手动运行 Shadowsocks-libev。使用以下命令。

然后,您应该编辑上面创建的文件并添加以下信息。然后保存文件。

以下命令将帮助您运行 systemd 服务单元。

使用以下命令确认您的服务器正常运行

如果创建的服务器运行良好,您将看到 Shadowsocks 正在监听之前配置中确定的 IP、协议和端口。
3. 允许连接穿过防火墙
使用以下命令允许您的连接穿过防火墙
对于 CentOS
sudo firewall-cmd –add-service=https –permanent sudo firewall-cmd –reload |
sudo ufw allow 443 |
在这种情况下,443 是服务器端口。
4. 在你的设备上安装 Shadowsocks 客户端软件
设置和配置服务器后,您需要在设备上安装 Shadowsocks 客户端软件,以允许连接到创建的代理服务器。以下是在不同的平台上安装和配置 Shadowsocks 客户端软件的过程。
macOS
- 首先将Shadowsocks 客户端软件下载到您的 Mac。
- 启动该应用程序,然后从主菜单打开其首选项以进行一些更改。
- 点击服务器首选项菜单,然后单击“加号”按钮以添加您创建的服务器的详细信息。确保添加与您创建的 config.json 文件中使用的相同端口和加密方法。
- 返回 Shadowsocks 应用菜单并确保已打开。如果尚未选择,您还应该点击选择地球模式。
Windows
- 下载并安装适用于 Windows 的 Shadowsocks 客户端应用程序。
- 一旦应用程序安装完毕,其图标将出现在 Windows 菜单栏上。
- 右键单击此图标并选择编辑服务器。输入您在 config.json 文件中保存的服务器信息。
- 再次右键单击 Shadowsocks 图标,但这次转到 PAC 部分并选择本地 PAC 和安全本地 PAC。
如果以上所有配置均正确完成,您现在可以使用创建的安全代理服务器将 Windows 或 macOS 计算机连接到互联网。您还可以使用 Google Play 商店中 适用于 Android 的 Shadowsocks 应用程序设置 Shadowsocks Android 设备。
最后的思考
到这里,Shadowsocks与SOCKS5的争论应该非常清晰了。使用Shadowsocks只是通过SOCKS5代理服务器路由流量的一种更简单、更安全的方法。一旦创建了代理服务器,只要安装并正确配置了Shadowsocks客户端软件,就可以使用Windows PC或Mac连接到该服务器。