自建Shadowsocks服务器翻墙简明教程

教程很简单,整个教程分简单几步
购买VPS、一键加速VPS服务器、安装Shadowsocks服务端

虽然很简单,但是如果你懒得折腾,那就用我们提供的免费翻墙软件吧:
安卓手机翻墙Chrome一键翻墙包火狐firefox一键翻墙包XX-Net禁闻版

或者也可以购买现成的搬瓦工翻墙服务(跟本库无关哦):
搬瓦工翻墙 Just My Socks


【前言】

Shadowsocks的优势

Shadowsocks(简称SS) 和 (简称)听起来都挺耳熟,今天先不说二者的详细区别,只说一件事:在自建翻墙服务器之前,笔者曾使用了一段时间 搬瓦工的Just My Socks翻墙服务 ,发现他家不支持SSR,于是就去问了一下为啥不支持SSR呢,很快就得到了回复,回复的原文如下:

We do not currently support Shadowsocks-R. Our main concern about Shadowsocks-R is that its server code hasn’t seen any major updates since 2015 — looks like it was abandoned by developer(s).

Additionally, according to our observations, it is more easily detected by government blocking solutions (especially lately in 2019).

We recommend using vanilla (original) Shadowsocks client applications as they are actively maintained.

简单翻译一下,大意是说:

我们()目前不支持Shadowsocks-R。我们对Shadowsocks-R的主要担心是,自2015年以来,其服务器代码未见任何重大更新-似乎已被开发人员放弃。

此外,根据我们的观察,阻止解决方案(尤其是2019年末)更容易检测到它。

我们建议使用 Vanilla (original) Shadowsocks 客户端应用程序,因为它们会得到积极维护。

简单想想,的确在理,为了对抗不断升级的网络封锁,软件能够持续的更新和维护显然是一个最大的优势了。


第一步:购买VPS服务器

详见: 购买Vultr VPS图文教程


第二步:SSH连接服务器

详见: SSH连接VPS教程

SSH连接VPS成功后,会出现如上图所示,之后就可以复制粘贴linux命令脚本来执行了。


第三步: BBR 一键加速VPS服务器

详见: 最简单的Google BBR 一键加速VPS教程


第四步:安装Shadowsocks服务端

这里我们采用V2ray官方的一键安装脚本,见教程:V2ray官方一键安装脚本

什么?V2ray?,这不是安装Shadowsocks吗,是我看错了,还是你写错了?哈哈,你没看错,我也没写错!

V2ray 的实现中已内置了Shadowsocks支持,包括最新的AEAD协议。同时经过笔者的试用,感觉V2ray 的 Shadowsocks实现,用起来挺稳定。而Shadowsocks官方的Shadowsocks libev有一个问题,我一直没法解决,就是Shadowsocks libev的服务端程序会死掉,错误日志报的错误信息却是DNS解析错误,此时重启一下Shadowsocks libev就好了,所以判断是Shadowsocks libev 服务端程序莫名其妙死掉了。所以,这里我们推荐采用V2ray 服务端程序来实现自建Shadowsocks翻墙服务器。

使用 V2ray官方一键安装脚本 安装V2ray后,我们需要修改一下V2ray配置文件,以启用Shadowsocks服务。

熟悉Linux的可以直接在VPS服务端编辑: /etc/v2ray/config.json 这个文件,一般网友推荐把这个文件下载到本地,编辑修改后,再上传到VPS服务器上。

VPS传输文件教程请见: 使用FileZilla和VPS传输文件教程

在本地编辑/etc/v2ray/config.json 文件推荐使用 Notepad++ 这个开源免费的编辑器,非常好用。

话不多说了,直接给出V2ray实现Shadowsocks的配置文件config.json例子:

{
  "log": {
    "loglevel": "warning",
    "access": "/dev/null",
    "error": "/dev/null"
  },
  "inbounds": [
    {
      "port": 51888,
      "protocol": "shadowsocks",
      "settings": {
        "method": "aes-256-gcm",
        "password": "www.bannedbook.org",
        "network": "tcp,udp",
        "level": 0
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "allowed"
    },
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "rules": [
      {
        "domain": [
          "google.com",
          "apple.com",
          "oppomobile.com"
        ],
        "type": "field",
        "outboundTag": "allowed"
      },
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "blocked"
      }
    ]
  }
}

你只需要完整复制这个config.json例子,使用Notepad++将里面的 port 、password 修改成你想要的服务器端口和密码,端口小于65535 , 密码任意设置,跟客户端一致即可。

Shadowsocks加密算法有很多种,可以粗略的分为AEAD加密和非AEAD加密,具体技术细节有兴趣了解的可以自行Google。现在请务必使用AEAD加密算法(chacha20-ietf-poly1305、xchacha20-ietf-poly1305、aes-128-gcm、aes-192-gcm、aes-256-gcm),目前xchacha20-ietf-poly1305和aes-256-gcm是最佳的选择,由于各大平台的cpu现在对aes算法都有较好的优化,这里个人推荐aes-256-gcm 。见上面配置文件中的 "method": "aes-256-gcm" 。

然后上传config.json文件,覆盖vps上的/etc/v2ray/config.json 文件。

然后在vps上执行命令检查下配置文件: /usr/bin/v2ray/v2ray -test -config /etc/v2ray/config.json

如过配置文件没有错误的话,以上命令会输出:......Configuration OK.

然后重启v2ray服务端命令: service v2ray restart

接下来配置Shadowsocks客户端即可。


第五步:Shadowsocks客户端配置

我们以Windows版的Shadowsocks官方客户端为例,简单示范客户端配置如下图:

注意:这里的端口,填写上面 “第四步 安装Shadowsocks服务器” 中config.json文件中 “port”: 后面的数字,密码 和 加密 也必须和第四步中config.json里面保持一致。 配置好客户端,就可以自由冲浪了! 其它客户端的配置也都差不多与此类似。

关于客户端的选择,请特别注意:绝大多数SSR客户端不支持AEAD加密,所以必须要使用 SS客户端 ,而不是SSR客户端。


相关教程: 自建V2ray服务器简明教程


有问题可以发Issue交流。
原文链接:自建Shadowsocks服务器简明教程