lala.im:Shadowsocks配置Cloak混淆插件

運維技術·VPN代理·lala.im · 2019-10-10 · 118 人浏览

原文地址:https://lala.im/6440.html,請支持原作者!該處僅作轉載。

看网上对Cloak的介绍不多,这里我就拿来水篇文章吧。。
Cloak是基于GoQuiet的,可以说是GoQuiet一个升级版,主要改动/增加了下面的功能:
1.通过多路复用,与GoQuiet相比,Cloak可显著减少网页加载时间(详情)
2.多用户支持,可以为单个用户提供QoS控制,例如流量使用限制和带宽控制。此外还有一个WEB面板。
本文仅仅介绍一下这个插件怎么跑起来,至于多用户有兴趣的可以自己去啃文档,我没那个需求就不折腾了。
首先安装shadowsocks-libev版本:

apt -y install shadowsocks-libev libsodium-dev

接着安装Cloak的服务端:

wget https://github.com/cbeuw/Cloak/releases/download/v2.1.1/ck-server-linux-amd64-2.1.1
mv ck-server-linux-amd64-2.1.1 /usr/bin/ck-server
chmod +x /usr/bin/ck-server

生成密匙对(逗号前面的是公钥,后面的是私钥):

ck-server -k

生成一个用户的UID:

ck-server -u

新建Cloak配置文件:

mkdir -p /etc/ck-server/ && nano /etc/ck-server/ckserver.json

写入如下配置:

{
  "ProxyBook": {
    "shadowsocks": [
      "tcp",
      "127.0.0.1:51234"
    ],
    "openvpn": [
      "udp",
      "127.0.0.1:8389"
    ],
    "tor": [
      "tcp",
      "127.0.0.1:9001"
    ]
  },
  "BindAddr": [
    ":443",
    ":80"
  ],
  "BypassUID": [
    "你生成的UID"
  ],
  "RedirAddr": "204.79.197.200",
  "PrivateKey": "你生成的私钥",
  "AdminUID": "你生成的UID",
  "DatabasePath": "/etc/ck-server/userinfo.db",
  "StreamTimeout": 300
}

注:
1.Cloak不仅仅只支持shadowsocks,还支持openvpn等,这里我是用shadowsocks,所以在ProxyBook下面更改shadowsocks服务端口与之对应即可。
2.BindAddr是Cloak监听(服务)端口,默认是使用的80/443,所以用来部署Cloak的服务器最好不要装Nginx/Caddy/Apache之类的软件,不然端口会冲突。
3.BypassUID是指一个没有限制的用户(不受QoS限制,不受管理员限制)
4.AdminUID是指定这个用户提升为管理员权限,这边我因为就是一个人用,所以我将AdminUID和BypassUID设置为同一个ID。
5.PrivateKey是上一步ck-server -k生成的私钥。
现在编辑shadowsocks-libev的配置文件:

nano /etc/shadowsocks-libev/config.json

修改为:

{
    "server":["::1", "127.0.0.1"],
    "mode":"tcp_and_udp",
    "server_port":51234, # shadowsocks服务port与cloak内的ProxyBook端口要对应
    "local_port":1080,
    "password":"你的SS连接密码",
    "timeout":60,
    "method":"chacha20-ietf-poly1305",
    "plugin":"ck-server", # 加载cloak插件
    "plugin_opts":"/etc/ck-server/ckserver.json" # cloak插件配置
}

接下来还需要编辑systemd服务文件:

nano /lib/systemd/system/shadowsocks-libev.service

将运行用户改为root(解决cloak创建用户数据库报错)

User=root 
Group=root

重载systemd/重启shadowsocks-libev

systemctl daemon-reload
systemctl restart shadowsocks-libev

服务端这块的配置就完成了,接下来是客户端的。
首先在这里下载对应平台的客户端程序:
https://github.com/cbeuw/Cloak/releases
将下载的程序移动到shadowsocks的根目录(运行目录),同时在这个目录内新建一个ckclient.json:

範例
编辑ckclient.json,写入如下配置:

{
  "Transport": "direct",
  "ProxyMethod": "shadowsocks",
  "EncryptionMethod": "plain",
  "UID": "对应服务端上的BypassUID",
  "PublicKey": "你之前生成的公钥",
  "ServerName": "www.bing.com",
  "NumConn": 4,
  "BrowserSig": "chrome",
  "StreamTimeout": 300
}

注:
1.ServerName这个其实也应该要和服务端上的RedirAddr对应,即你可以自己随便找一个域名,PING一下这个域名的IP地址,域名就填在ServerName,而PING出来的IP就填在RedirAddr。
2.BrowserSig是你想让GFW认为你在使用哪款浏览器访问网站,参数支持chrome/firefox。
3.关于Transport其实是支持两种模式的,默认是direct,还有一种是cdn,对cdn支持感兴趣的可以去看官方的文档,这里不多叙述。
最终shadowsocks客户端上的配置:

服务器地址:你的服务器公网IP
服务器端口:443(切记这里的端口是cloak监听的443端口)
密码:你在服务端上配置的密码
加密:你在服务端上配置的加密方式
插件程序:ck-client-windows-amd64-2.1.1.exe
插件选项:E:\shadowsocks\ckclient.json

如图所示:

範例

運維技術 VPN代理 lala.im
Theme Jasmine by Kent Liao