原文地址: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
如图所示: