一、下载
进入 docker ui 界面搜索 clash ,选择 dreamacro/clash 点击下载。
二、运行
然后在映像中启动刚刚下载的镜像。
点击下一步
将 启用自动重新启动勾上,再次点击下一步。
相当于 NAS 开机容器也启动,不需要手动重启 clash 容器 几乎不占用资源
点击新增端口,把容器内端口和 NAS(服务器) 内端口添加映射。
按照如图配置端口。
7890
:http
、https
端口;7891
:socks
端口;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-controller
为0.0.0.0:9090
广播地址 allow-lan
:true
可以代理局域网
最底部给出示例配置文件。
然后重启容器,读取配置文件,这时就可以设置代理然后使用了。
四、配置 UI 界面(可选)
步骤跟上面一样。
注册表 中搜索
yacd
,选中haishanh/yacd
下载;映像 中启动刚刚下载的镜像;
- 配置端口
9080:80
; - 不需要配置文件映射。
- 配置端口
启动镜像后进入
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 代理已全部完成。😋😋😋
服务器的将这些可视化界面改成命令即可。
clash 配置参考
打个广告个人的邀请链接,这里购买我可以获得一点点返佣🤭
https://xn--4gq62f52gdss.art/#/register?code=9vOcKKO2
ymlcopy codemixed-port: 7890 allow-lan: true bind-address: '*' mode: rule log-level: info external-controller: '0.0.0.0:9090' dns: enable: false ipv6: false default-nameserver: [x.x.x.x, x.x.x.x] enhanced-mode: fake-ip fake-ip-range: x.x.x.x/x use-hosts: true nameserver: ['https://xxx', 'https://xxx'] fallback: ['https://xxx', 'https://xxx', 'https://xxx', 'tls://xxx'] fallback-filter: { geoip: true, ipcidr: [x.x.x.x/x, x.x.x.x/xx] } proxies: - { name: (看这里)每月刷新订阅获取新节点, type: trojan, server: xxx, port: 443, password: xxx, network: ws, udp: true, sni: 0.0.0.0, skip-cert-verify: true } rules: - 'xxx,xxx'
评论 (10 条)
spark 说:
如何在外网通过个人域名访问到docker clash的UI界面?这个端口转发的设置应该怎么做,我试了9090,7890,都无法访问
ye 说:
听说clash跑路了,有影响吗
shrak 说:
太棒了,我在另外一个博主那边看见类似的文章,但是我一直配置出错关于yaml这个映射,我一直苦于google搜索寻求答案,直到看到博主的文章,太棒了
说:
还少一个docker容易定时重启,不重启是不是不会加载更新过的yaml文件
acwan 说:
还是不要用这个方法的好,被扫描到7890端口,一点加密都没有,哪个人都可以用你的代理。我按这个方法假设了一天,发现家里网速不正常,一看路由器,NAS的下载上传速度都异常高,200多M/s,停掉了Clash就正常了。果断删了。
acwan 说: