前言

最近一段时间,总感觉shadowsocks用起来非常的慢,时不时的断网,我就觉得可能不太对劲了。在issues看到有不少人提到,可能已经被人工智能识别,所以非常堪忧。

并且使用ss的android端,在flyme这个辣鸡系统上,不能使用用Kotlin重写的版本,并且老版本4.3.3还一直出现各种奇怪的情况。github issues

  • 两三年前魅族确实性价比蛮高的,flymeOS体验很好。最近这一年用感觉越来不好了,网上负面报道也偏多,越来越感觉是昨日黄花
  • 导致我要坚定得抛弃魅族,是因为一直停留在Android 7.0(最近发布了基于8.0的flyme)。
  • 我希望用到最新的 Android 9.0 版本,最好是谷歌手机可以接收到最新的推送那种,但是太贵了。国产手机也只剩便宜了。

Avoid Flyme devices in the future.

实践过程

改用 go-shadowsocks2

go-shadowsocks2 当时决定改用这个的时候,原因主要是:

  • 使用了 AEAD 加密,比 shadowsocks-go 更加激进,相对来说更加安全;
  • go 语言编写的;
  • 支持原来SS的windows客户端,Android端;

不过后来证明,这个并没有多大的提升,还是不稳定,容易断网;并且shadowsocks已经被列为 重点照顾 目标了,不管怎么换加密算法也是白搭,不如找一个小众的翻墙梯子。

v2ray搭建过程

购买 vps 服务器,可参考:《记一次搭建SS服务器,完整的过程》,后半部分 shadowsocks 配置可以不看。
顺便推荐一下vultr的个人注册码哈:https://www.vultr.com/?ref=7136316

其实与其说是搭建过程,不如说是配置config的过程,因为官网已经给出了一键安装脚本。

简单看了一下脚本,大部分代码都是为了适配不同的linux发行版本。关键的步骤也就是,下载,解压,安装,初始化配置文件。

1
bash <(curl -L -s https://install.direct/go.sh)  

所以说关键就是配置文件了,具体的配置问题官方文档已经解释的很清楚了,我就简单说一点点:

  1. 我同时配置了shadowsocksvmess-kcpvmess-tcp 三种翻墙方式。因为kcp容易被赛门铁克误杀,所以存在 tcp 的方式;
  2. 建议使用vmess,毕竟冷门,同时用 kcp 流量换速度;
  3. shadowsocks密码要长长长(不推荐);另外,vmess 的 id就是那个 GUID相当于密码,这些是需要妥善保管的;
  4. 缓存可以根据自身情况设置,建议越大越好,图片可见 体验结果

2019-01-07注:

  1. 完全抛弃 shadowsocks,使用人多,容易被罚款100元。
  2. 端口不要再用 8080 这一类的端口了,属于常见端口,危险!危险!危险!
  3. 开放 防火墙端口。 如果使用 kcp 的话,防火墙参数选择udp: firewall-cmd --zone=public --permanent --add-port=${你的端口}/udp;使用其他的则是tcp: firewall-cmd --zone=public --permanent --add-port=${你的端口}/tcp。 设置完成后,别忘了重启:systemctl restart firewalld
我的config配置
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
{
  "log": {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": ~~8080~~,
    "protocol": "vmess",
    "tag": "kcpvmess",
    "streamSettings": {
      "network": "kcp"
    },
    "settings": {
      "clients": [
        {
          "id": "244d5911-88ec-45a2-9850-35551c80048a",
          "email": "kcpvmess@v2ray.com",
          "level": 1,
          "alterId": 64
        }
      ],
      "default": {
        "level": 0,
        "alterId": 64
      },
      "disableInsecureEncryption": true
    },
    "sniffing": {
      "enabled": false,
      "destOverride": [
        "http",
        "tls"
      ]
    }
  },
  "inboundDetour": [
    {
      "port": ~~8090~~,
      "protocol": "vmess",
      "tag": "tcpvmess",
      "streamSettings": {
        "network": "tcp"
      },
      "settings": {
        "clients": [
          {
            "id": "d8d27272-0e7c-48eb-aa13-bb1a6467de6e",
            "email": "tcpvmess@v2ray.com",
            "level": 1,
            "alterId": 64
          }
        ],
        "default": {
          "level": 0,
          "alterId": 64
        },
        "disableInsecureEncryption": true
      },
      "sniffing": {
        "enabled": false,
        "destOverride": [
          "http",
          "tls"
        ]
      }
    }
  ],
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": [
            "geoip:private"
          ],
          "outboundTag": "blocked"
        }
      ]
    },
    "transport": {
      "kcpSettings": {
        "mtu": 1350,
        "tti": 20,
        "uplinkCapacity": 10,
        "downlinkCapacity": 10,
        "congestion": false,
        "readBufferSize": 1,
        "writeBufferSize": 1,
        "header": {
          "type": "none"
        }
      }
    }
  }
}

windows,Android 端的选择

类shadowsocks操作界面,有PAC模式,bug也比较少。

我之前是用的V2RayGCon。操作界面可以慢慢熟悉,关键还是没有我想要的PAC。

与上面的windows版本,均出自同一个作者,简单易用。

垃圾的flyme 居然没有出现问题了,谢天谢地。

体验结果

非常棒,断网的情况不明显了。并且速度立马上来了,在油管看1080p 也没有太大的压力。

可以从我的使用量就可以看出来是多棒了,并且receivedsent折线,不再像shadowsocks那样重合,可见缓存有多重要。

networkshow

networkshow2