通过 Docker 做 Clash 跳板,架起梯子代理服务

Posted by aclyyx on 11-25,2020

此方法,可以用在群晖等任何支持 Docker 的设备上。

工具

Dreamacro/clash: Docker 下的 Clash 代理服务 IMAGE;
haishanh/yacd: Docker 下 Clash 服务 UI 界面 IMAGE;
此外还需要一个支持 Clash 的机场或自有服务。

步骤

准备 Clash 配置文件

如果是机场,可能机场已经为我们准备好了配置文件,需要做的就是修改里面的部分配置信息,如下:

port: 7890                # HTTP或HTTPS 代理端口
socks-port: 7891          # Socks5 代理端口
allow-lan: true           # 允许外部连接
external-controller: 9090 # UI监听端口

将配置信息保存在 config.yaml 文件中。

Docker 下载镜像,并创建运行容器

首先,创建和运行代理服务程序,需要注意端口和文件的映射。

$ mkdir ~/dk
$ mkdir ~/dk/ui
$ cp ./config.yaml ~/dk/  # 根据实际情况将配置文件复制
$ docker pull dreamacro/clash
$ docker run --name clash \
     -p 5090:9090 -p 5890:7890 -p 5891:7891 \
     -v ~/dk/config.yaml:/root/.config/clash/config.yaml \
     -v ~/dk/ui:/ui -d dreamacro/clash

接着是 Clash UI 监控界面的服务

docker run --name clash-ui -p 5080:80 -d haishanh/yacd

上面的命令都执行过后,梯子就架好了,之后就是浏览器或者系统代理的设置了。

Clash UI 说明

用浏览器打开地址:http://[IP]:5080,在红框处填写梯子所在机器的IP和上面设定的 Clash UI监控端口
docker_clash_1

设置好后就可以看到下面的监控界面了。
docker_clash_2

参考

Dreamacro/clash Wiki
群晖docker安装并运行Clash+UI