前提条件当然是确保你成功安装了 Docker ,以及掌握了通过 Clash 来科学上网的方式

准备订阅文件
首先,打开你的科学上网供应商网站,点击类似这样的按钮复制 Clash 的订阅链接

801d5ee6563c3014b3a6c3c145f2ccef.png

(如果你的供应商不支持 Clash 订阅,那就不用看下去了)

接着把订阅链接粘贴在浏览器地址栏中,回车,正常情况下会下载下来一个 .yaml 文件。内容大概是这样:

bfb7367a3bb725d59cab3233b0fbc3a1.png

将其重命名为 config.yaml,用专业编辑器打开它,确保 allow-lan 的值为 true,否则搭起来也连不上

部署 Clash 核心
Clash 有官方的Docker 部署教程,以及完整的配置项说明文档。有兴趣深入了解的可以看看,咱们简单粗暴点略过 docker-compose 直接上命令

docker run -d --name=clash -v "$PWD/config.yaml:/root/.config/clash/config.yaml" -p "7890:7890" -p "9090:9090" --restart=unless-stopped dreamacro/clash

注意,这条命令中的端口号要根据你自身情况来。打开你的 config.yaml,查看其中 port、socks-port、redir-port、mixed-port、external-controller 的值,根据你的实际需要来暴露相应的端口。如果你不知道这些英文是什么意思,请查看上面提到过的配置项说明文档
一般来说,只需要暴露 mixed-port、external-controller 这两个端口就够了。如果你的配置文件中没有 mixed-port,那么可以将 port 改为 mixed-port,这样方便一些,省的区分 http 和 socks

回车,不出意外的话会出现一串16进制字符,此时 docker ps 可以看到我们刚才跑起来的 clash 核心

部署图形化控制台
如果你有认真阅读 clash 的官方文档,你会发现其实 clash 核心自带一个图形化控制台。但是部署稍微麻烦一些,且不够美观强大。这里我们选择第三方的一个控制台 haishanh/yacd
有三种方案,选一个你喜欢的即可:

1、用现成的在线版控制台
http://yacd.haishan.me/

2、静态部署
git clone -b gh-pages https://github.com/haishanh/yacd.git,用浏览器访问其中的 index.html。这是 yacd 作者编译好的版本

3、自行 Docker 部署

docker run -p 1234:80 -d --rm --name yacd haishanh/yacd

回车把控制台跑起来

假设 docker 所在机器的 ip 为 192.168.0.5,那么我们就访问 192.168.0.5:1234,可以看到如下登录界面

4b7ee28ab2d9d42552819b096e3d0a2b.png

根据你的实际情况填写 ip 和 端口号(即配置文件中 external-controller 内的端口号),点击 Confirm

接下来的操作对于用过 clash 的你来说应该就比较熟悉了

8fbdc5369c86ec84467fb17e391f0095.png

点击 Proxies,展开节点列表,点击测速,选一个没有超时的节点即可

大功告成
整个部署过程到此结束,可以将 192.168.0.5:7890 设为代理地址尝试科学上网了。如果连不上,请先检查防火墙设置等等
对于 zsh 用户,再次安利一波 zsh-proxy,实在是太方便了

 

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...