# 自建Shadowsocks服务器简明教程

**自建Shadowsocks教程很简单，整个教程分简单几步**：

购买VPS服务器、一键加速VPS服务器、安装Shadowsocks服务端

虽然很简单，但是如果你懒得折腾，那就用我们提供的免费翻墙软件吧：\
[安卓手机翻墙](https://github.com/bannedbook/fanqiang/wiki/%E5%AE%89%E5%8D%93%E7%BF%BB%E5%A2%99%E8%BD%AF%E4%BB%B6)、[Chrome一键翻墙包](https://github.com/bannedbook/fanqiang/wiki/Chrome%E4%B8%80%E9%94%AE%E7%BF%BB%E5%A2%99%E5%8C%85)、[EdgeGo-Edge一键翻墙包](https://github.com/bannedbook/fanqiang/tree/master/EdgeGo)、[火狐firefox一键翻墙包](https://github.com/bannedbook/fanqiang/wiki/%E7%81%AB%E7%8B%90firefox%E4%B8%80%E9%94%AE%E7%BF%BB%E5%A2%99%E5%8C%85)<br>

或者也可以购买现成的翻墙服务(跟本库无关哦)：\
[![V2free翻墙-不限流量、高速稳定、性价比超强](https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/images/v2free.jpg)](https://github.com/bannedbook/fanqiang/wiki/V2ray%E6%9C%BA%E5%9C%BA)

***

**【前言】**

***

**第一步：购买VPS服务器**

详见： [购买Vultr VPS图文教程](https://fanqiang.gitbook.io/fanqiang/v2ss/gou-mai-vultr-vps-tu-wen-jiao-cheng) 或 [搬瓦工VPS购买教程](https://fanqiang.gitbook.io/fanqiang/v2ss/fan-qiang-vps-tui-jian-ban-wa-gong-vps-gou-mai-jiao-cheng)

***

**第二步：SSH连接服务器**

详见： [SSH连接VPS教程](https://fanqiang.gitbook.io/fanqiang/v2ss/ssh-lian-jie-vps-jiao-cheng)

![](https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/images/ss/xshell2.png)

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

***

**第三步：Google BBR 一键加速VPS服务器**

详见： [最简单的Google BBR 一键加速VPS教程](https://fanqiang.gitbook.io/fanqiang/v2ss/zui-jian-dan-de-google-bbr-yi-jian-jia-su-vps-jiao-cheng)

***

**第四步：安装Shadowsocks服务端**

这里我们采用V2ray官方的一键安装脚本，见教程：[V2ray官方一键安装脚本](https://fanqiang.gitbook.io/fanqiang/v2ss/v2ray-guan-fang-yi-jian-an-zhuang-jiao-ben)

什么？V2ray？，这不是安装Shadowsocks吗，是我看错了，还是你写错了？哈哈，你没看错，我也没写错！

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

使用 [V2ray官方一键安装脚本](https://fanqiang.gitbook.io/fanqiang/v2ss/v2ray-guan-fang-yi-jian-an-zhuang-jiao-ben) 安装V2ray后，我们需要修改一下V2ray配置文件，以启用Shadowsocks服务。

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

VPS传输文件教程请见： [使用FileZilla和VPS传输文件教程](https://fanqiang.gitbook.io/fanqiang/v2ss/shi-yong-filezilla-he-vps-chuan-shu-wen-jian-jiao-cheng)

在本地编辑/etc/v2ray/config.json 文件推荐使用 [Notepad++](https://notepad-plus-plus.org/downloads/) 这个开源免费的编辑器，非常好用。

话不多说了，直接给出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官方客户端](https://github.com/shadowsocks/shadowsocks-windows/releases)为例，简单示范客户端配置如下图:

![](https://raw.githubusercontent.com/bannedbook/fanqiang/master/v2ss/images/ss/ss-win1.jpg)

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

关于客户端的选择，请特别注意：绝大多数SSR客户端不支持AEAD加密，所以必须要使用 [SS客户端](https://shadowsocks.org/en/download/clients.html) ，而不是SSR客户端。

***

相关教程： [自建V2ray服务器简明教程](https://fanqiang.gitbook.io/fanqiang/v2ss/zi-jian-v2ray-fu-wu-qi-jian-ming-jiao-cheng)

***

有问题可以[发Issue](https://github.com/bannedbook/fanqiang/issues)交流。
