本文将基于 DSM 群晖操作系统,利用 docker 容器管理,简单介绍 clash 的安装。
前提条件
- 本篇文章基于读者已有可用机场资源,文章将不包含机场推荐
- 确保你的群晖已经安装了 docker (新版叫container Manager),如下图所示。
将 clash 镜像导入 docker
由于近些日子,dockerHub 在特定情况下(特指clash安装前)可能无法访问。此时打开注册表大概率长这个样子
所以就下载不到clash,然而不下载 clash 又无法访问 docker 注册表,由此进入死循环。
下面提供几种解决方案
方案一: 临时本地 pc 开启 LAN 访问 (推荐)
打开另一台已经安装好clash的电脑,选好节点,然后点击Allow LAN
然后进入nas控制面板,找到网络,选择代理服务器,如下填写
然后就可以在 docker 中搜索安装clash了,我们选最多星星的这个
方案二:本地下载好镜像后上传至 nas 中安装
* 不推荐这种安装方式,除非就是上面的方案一不可选择的情况
如果 nas 连接本地困难的话,也可以选择在本地先下载好镜像(需要本地拥有能连接外网的docker)。
1 | docker pull clash |
选好对应的版本
1 | docker save -o clash.tar clash:latest |
然后到处到本地。访问群晖页面,选到映像
导入进去
方案三:去网上找到一个国内可访问的 镜像地址
这个只能说看运气,网上搜一搜。作者尝试这个方案的时候,就没有找到一个可以使用的国内镜像源。
配置文件和前端ui准备
这里仅做页面配置方案的启动,如果想用 docker 命令行启动的同学,配置是类似的。
1.创建本地配置文件目录,并将原来 clash 配置中的 config.yaml 复制进来
2.下载一个ui管理界面前端(强烈建议要装前端ui,否则某个节点挂的时候,每次都需要修改配置文件或者登录ssh去更改成本非常高)。
如果实在不愿意自己搭建的,有一个在线的网站。
https://clash.razord.top/#/proxies
但这种是个人网站,什么时候挂了也说不定。自己搭建好得多。
这个前端ui目前还是可用的,将其下载下来后,也放在同一个目录下。
本地目录如图所示,例如我的本地目录路径是 /docker/clash
正常应该只有红框中的两个就可以了。
修改配置使前端可访问
打开config.yaml
按如图所示配置:
记得将密码修改为你自己的登录密码。这里ui路径的 /root/ui 是实际容器内的路径。具体的路径映射我们会在下一步完成,这里照抄我的就可以了。
配置容器的路径挂载和端口映射
进入Container Manager中的镜像,选中 dreamacro/clash ,点击运行,第一个页面没什么需要配置的。直接点击下一步
在端口设置中新增两条 7890 和 9090 端口对应的外部端口,我这边依旧选择 7890 和 9090. 新增两条存储空间设置,左边的路径选择上一步中配置文件的文件路径。右边的容器内路径可以照抄我的
点击下一步,启动容器,在容器选项卡中找到这个容器。双击打开日志,大概长这样
尝试通过网页访问 9090 端口,查看网页 http://你的设备ip:9090/ui/ 填写127.0.0.1:9090并输入密码
检查下配置页面有没有问题
选择你中意的节点,这一步我相信你会的
然后进入nas控制面板,找到网络,选择代理服务器,将代理服务器地址填写为容器内的7890
大功告成,你可以ping一下google 或者在container manager中,点击网络注册表,测试一下连通性
你可能还会遇到
clash 配置后,我通过 ddns 配置的域名,指向的是机场运营商的ip 而非我的公网本地 ip,怎么解决?
请查看下一篇文章: 群晖在ddns配置下,检测ip使用直连模式的 clash 配置
我的公网ip指向的是路由器的端口映射,我家路由器不支持在群晖中配置端口转发,我如何在公网访问并添加ip?
todo 请看下一篇文章:群晖docker 安装 chrome,访问服务器内的页面