clash——docker上部署自带面板的科学上网
😾

clash——docker上部署自带面板的科学上网

标签
Docker
创建时间
Jul 21, 2022 01:51 AM
上次编辑时间
Last updated February 13, 2023

说明

在群晖上有某些应用或者容器有科学上网的需求,之前偶尔用的时候是有局域网其他机器开clash,然后开局域网共享,但是这种模式不适合用来解决长期需求
于是直接在docker中部署一个专门用来科学上网的容器。
看网络教程很多推荐使用 dreamacro/clash + haishanh/yacd 来做解决方案,秉承能用一个不用两个的原则,另外找到了现在这个自带 dashboard控制面板的镜像clash-with-dashboard

拉取镜像

注册表中搜索 clash-with-dashboard ,点击下载。
或者
docker pull zyao89/clash-with-dashboard:latest

准备工作

自行准备好科学上网的配置文件,这个由机场提供,复制clash订阅地址到浏览器打开即可下载到。
打开配置文件确认其中如下基础配置参数完整。
#http代理端口 port: 7890 #socks5代理端口 socks-port: 7891 #允许局域网转发 allow-lan: true mode: Rule #日志登记 log-level: info #外部控制面板设置端口 external-controller: ':9090'
或者
#http和socks5混合端口 mixed-port: 7890 allow-lan: true mode: Rule log-level: info external-controller: ':9090'
将配置文件更名为config 上传到对应文件夹。

部署容器

 
docker run -d \ --name clash-dashboard \ -p 8888:80 \ -p 7890:7890 \ -p 7891:7891 \ -p 9090:9090 \ -v /volume1/docker/clash/config.yaml:/root/.config/clash/config.yaml \ zyao89/clash-with-dashboard
或者使用 docker-compose.yml
version: "3" services: clash: container_name: clash image: zyao89/clash-with-dashboard restart: always ports: - "7890:7890" - "7891:7891" - "8888:80" - "9090:9090" volumes: - /volume1/docker/clash/config.yaml:/root/.config/clash/config.yaml

参数说明

  • 对应端口转发,其中78907891为http和socks5代理端口,80为web ui端口,9090为外部设置端口。
  • /root/.config/clash/config.yaml 为容器内配置文件路径。需要将你自己的配置文件映射为此路径。

使用方式

容器部署成功之后,在局域网打开 http://<ip>:8888 ,就可以看到外部控制界面。
填写对应的路径和端口号就可以开始设置。
此处应该填写宿主机(比如群晖)的局域网ip,以及映射的端口号比如9090
注意调整代理策略组,设置对应的代理策略选择。
其他需要使用科学上网的可以通过http或socks5进行代理。