Clash-CordCloud
沙雕TG网友注意:仅示范Ubuntu18.04
如未购买套餐获取不了节点,则先购买套餐后继续操作
1、用户面板改加密、协议、混淆,并全部提交
aes-256-gcm
origin
plain
(提交修改后可能需要等一会儿让服务端生效)


2、下载Clash(第一步没做好别往下看)
https://mega.nz/folder/ou9jjJhb#IqFnaxXGNNcDZdxArULIeg/folder/46lSVZRa,根据服务器架构下载对应压缩包,比如下载amd64架构压缩包

3、解压并设置执行权限
进入你想操作的指定目录,比如我指定/home/ubuntu/clash目录
cd /home/ubuntu/clash
将压缩包上传至该目录,并解压该压缩包
gzip -d clash-linux-amd64-v1.18.0.gz
为clash程序添加执行权限
chmod +x clash-linux-arm64-v1.18.0
4、下载Clash配置文件
复制Clash地址

在指定文件夹内,比如上步的/home/ubuntu/clash内下载Clash配置
wget https://www.ccsub.online/link/你自己的Clash订阅地址 -O config.yaml
5、配置Clash
在指定文件夹内,比如第三步的/home/ubuntu/clash,首次运行Clash
cd /home/ubuntu/clash ./clash-linux-amd64-v1.18.0

~/.config/clash路径下生成config.yaml文件和Conntry-mmbd文件
Ctrl+C退出Clash,并将下载的config.yaml配置文件覆盖掉~/.config/clash路径下的config.yaml文件
mv -i /home/ubuntu/clash/config.yaml ~/.config/clash/config.yaml
输入y覆盖

6、运行Clash
在指定文件夹内,比如第三步的/home/ubuntu/clash,继续运行Clash
cd /home/ubuntu/clash ./clash-linux-amd64-v1.18.0

打开yacd网站,进行外部控制
http://yacd.haishan.me/#/configs
输入你的服务器IP和端口,点击Add

双击连接

进入后可切换节点

为命令行设置代理
export http_proxy="http://127.0.0.1:7890" export https_proxy="http://127.0.0.1:7890"
7、Docker部署
安装Docker,以及Docker Compose
Install Docker Engine on Ubuntu | Docker Documentation
Install the Compose plugin | Docker Documentation
检测Docker是否安装成功
sudo docker run hello-world
检测Docker Compose是否安装成功
sudo docker compose version
下载配置文件在选定文件夹内,比如/home/ubuntu/clash,进入该文件夹
cd /home/ubuntu/clash
下载配置文件并重命名为config.yaml
wget https://www.ccsub.online/link/你自己的Clash订阅地址 -O config.yaml
修改配置文件,将配置文件内allow-lan改为true后并保存
vi config.yaml --------------------- port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: true mode: rule log-level: silent external-controller: '0.0.0.0:9090'
新建一个docker-compose.yaml文件
vi docker-compose.yaml
编辑以下内容写入该文件并保存该文件(注意代码缩进)
version: '1.0'
services:
clash:
image: dreamacro/clash-premium
container_name: clash-premium
volumes:
- ./config.yaml:/home/ubuntu/clash/config.yaml # 你自己的订阅配置路径
- ./ui:/ui # 图形面板目录
ports:
- "7890:7890"
- "9090:9090"
restart: unless-stopped
network_mode: "bridge"
启动服务,显示如下界面则clash后端运行成功
sudo docker compose up -d

打开yacd网站,进行外部控制
http://yacd.haishan.me/#/configs
输入你的服务器IP和端口,点击Add

双击连接

进入后可切换节点

显示日志
sudo docker logs clash-premium

停止服务
sudo docker stop clash-premium

8、API控制
对于远程堡垒机没有图形界面的情况,可以利用API控制节点切换
安装jq工具,用于解析JSON字符串
sudo apt install jq
利用curl命令,打印当前配置文件
curl --request GET --url http://127.0.0.1:9090/proxies

配置文件信息太长,只看🚀 节点选择策略组选中的节点
curl --request GET --url http://127.0.0.1:9090/proxies | jq '.proxies."🚀 节点选择".now'

当前为DIRECT直连无法翻墙,/home/ubuntu/clash路径下有刚才下载的订阅文件,里面有所有节点信息,参照节点信息,现在要将🚀 节点选择策略组选中节点:上海联通转台湾HiNet[M][Trojan][倍率:1]
由于🚀 节点选择这个策略组包含emoji和中文,所以需要进行转义,使用在线网站进行转义
https://tool.oschina.net/encode?type=4

拼接为以下curl命令,其中proxies后面是你要操作的策略组转义字符串,data内的name对应需要操作的完整节点名
curl --request PUT --url "http://127.0.0.1:9090/proxies/%F0%9F%9A%80%20%E8%8A%82%E7%82%B9%E9%80%89%E6%8B%A9" --header "Content-Type: text/plain" --data "{\"name\": \"上海联通转台湾HiNet[M][Trojan][倍率:1]\"}"
正常操作完不会有返回值

使用之前的命令查看🚀 节点选择选中的节点,已经成功切换
