一、下载

进入 docker ui 界面搜索 clash ,选择 dreamacro/clash 点击下载。

#

二、运行

然后在映像中启动刚刚下载的镜像。

点击下一步

启用自动重新启动勾上,再次点击下一步。

相当于 NAS 开机容器也启动,不需要手动重启 clash 容器 几乎不占用资源

点击新增端口,把容器内端口和 NAS(服务器) 内端口添加映射。

按照如图配置端口。

  • 7890httphttps 端口;

  • 7891socks 端口;

  • 9090:下文配置 UI 界面用到端口。不需要 UI 界面可不配置。

添加文件映射,将 NAS 配置文件映射到容器内。

NAS config.yaml 文件目录按需配置。这里仅供参考。

NAS /docker/clash/config.yaml

容器内 /root/.config/clash/config.yaml

然后点击下一步。

点击完成,即可运行 clash 容器。

服务器命令行同理,docker 搜索容器,配置端口、文件映射,docker run 启动即可。

#

三、增加 clash 配置

在 clash 客户端点击配置,选中一个配置,右击 外部编辑 中打开配置文件。将打开的文件拷贝一份到 NAS 中。(上一步配置文件映射地址 /docker/clash/config.yaml

  • 修改 external-controller0.0.0.0:9090 广播地址

  • allow-lan: true 可以代理局域网

最底部给出示例配置文件。

然后重启容器,读取配置文件,这时就可以设置代理然后使用了。

#

四、配置 UI 界面(可选)

步骤跟上面一样。

  1. 注册表 中搜索 yacd ,选中 haishanh/yacd 下载;

  2. 映像 中启动刚刚下载的镜像;

    1. 配置端口 9080:80

    2. 不需要配置文件映射。

  3. 启动镜像后进入 http://192.168.0.101:9080/ ip 地址根据实际修改。端口号为刚刚配置的映射端口。

默认为自动选择路线,每隔一段时间都会自动选择最优路线,有需求也可以选择其他线路。

我这里因为 openai 需要所以选择美国线路。

#

五、设置代理

#

5.1 windows

这里以 Windows 电脑为例(因为没有mac /(ㄒoㄒ)/~~)

点击编辑

修改代理 ip 地址和端口,点击保存即可。

现在就可以愉快的访问 GitHub 了。

#

5.2 安卓

这里手机系统是 Color OS V12.1,其他大同小异。

进入 wifi 设置中将代理改成手动,然后配置代理 ip 地址即可。 一般都是单个 wifi 设置。

#

5.3 苹果

这里手机系统是 IOS 17.1.1,其他大同小异

进入 wifi 设置中将代理改成手动,然后配置代理 ip 地址即可。

点击存储就可以了。

#

六、自动更新 clash 配置

编写定时任务脚本来每日自动更新 clash 配置。

/docker/clash/ 中增加 auto-reload-clash.sh 脚本

shellcopy codewget -O /volume1/docker/clash/config.yaml 'https://你的订阅地址'
sed -i 's/127.0.0.1:9090/0.0.0.0:9090/g' /volume1/docker/clash/config.yaml
sed -i 's/allow-lan: true/allow-lan: true/' /volume1/docker/clash/config.yaml
sed -i 's/interval: 86400 }/interval: 3600 }/' /volume1/docker/clash/config.yaml
curl --location --request PUT 'http://localhost:9090/configs' --header 'Content-Type: application/json' --data-raw '{"path": "/root/.config/clash/config.yaml"}'

在这里找到订阅地址

复制这个订阅链接,在脚本中。

最新订阅链接需要添加查询参数 &flag=clash -- 2024/02/29 更新

然后在 NAS 的 控制面板 -> 任务计划

新增 -> 计划的任务 -> 用户定义的脚本

修改计划执行时间为每天02:00执行

任务设置 -> 运行命令

bash /volume1/docker/clash/auto-reload-clash.sh

点击确定即可。可以右击刚刚创建的任务试运行看看。

至此 NAS 配置 clash 代理已全部完成。😋😋😋

服务器的将这些可视化界面改成命令即可。

在线web界面
clash-dashboard:http://clash.razord.top/
yacd-dashboard:http://yacd.haishan.me/

docker run -d \
  --name clash \
  --restart always \
  --net=host \
  -v $PWD/docker/clash/config.yaml:/root/.config/clash/config.yaml \
 -v $PWD/docker/clash/ui:/ui \
 dreamacro/clash:latest
docker run --name yacd -p 1234:80 -d --rm haishanh/yacd