群晖DSM安装clash

本文将基于 DSM 群晖操作系统,利用 docker 容器管理,简单介绍 clash 的安装。

前提条件

  1. 本篇文章基于读者已有可用机场资源,文章将不包含机场推荐
  2. 确保你的群晖已经安装了 docker (新版叫container Manager),如下图所示。
    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 是实际容器内的路径。具体的路径映射我们会在下一步完成,这里照抄我的就可以了。

配置容器的路径挂载和端口映射

  1. 进入Container Manager中的镜像,选中 dreamacro/clash ,点击运行,第一个页面没什么需要配置的。直接点击下一步

  2. 在端口设置中新增两条 7890 和 9090 端口对应的外部端口,我这边依旧选择 7890 和 9090. 新增两条存储空间设置,左边的路径选择上一步中配置文件的文件路径。右边的容器内路径可以照抄我的
    image-20241020201326558

  3. 点击下一步,启动容器,在容器选项卡中找到这个容器。双击打开日志,大概长这样
    image-20241020201552898

  4. 尝试通过网页访问 9090 端口,查看网页 http://你的设备ip:9090/ui/ 填写127.0.0.1:9090并输入密码
    image-20241020203947029

  5. 检查下配置页面有没有问题
    image-20241020201805863

  6. 选择你中意的节点,这一步我相信你会的

  7. 然后进入nas控制面板,找到网络,选择代理服务器,将代理服务器地址填写为容器内的7890
    image-20241020202029252

  8. 大功告成,你可以ping一下google 或者在container manager中,点击网络注册表,测试一下连通性

你可能还会遇到

  1. clash 配置后,我通过 ddns 配置的域名,指向的是机场运营商的ip 而非我的公网本地 ip,怎么解决?

    请查看下一篇文章: 群晖在ddns配置下,检测ip使用直连模式的 clash 配置

  2. 我的公网ip指向的是路由器的端口映射,我家路由器不支持在群晖中配置端口转发,我如何在公网访问并添加ip?

    todo 请看下一篇文章:群晖docker 安装 chrome,访问服务器内的页面