关于yacd连接不上clash的问题,建议大家先从浏览器访问下配置好的clash的外部api。地址是{你的nas_ip}:{clash容器映射出的外部端口}
如果看到hello clash的json返回值,就是api没问题

如果访问不了,按照如下步骤进行检查:
1.打开你配置的clash的config.yaml配置文件。观察里边的external-controller: 0.0.0.0:9090。
首先明确ip一定要是0.0.0.0,意思是监听任何IP过来的请求。
有些机场导出的config文件,里边是127.0.0.1:9090,这种只能在clash运行的本机访问clash api,所以yacd从电脑上发起请求访问不了。IP一定改成0.0.0.0
2.还是观察external-controller: 0.0.0.0:9090,看端口号,记下来。有些机场导出的config,端口号是9000。这里看好是9090还是9000
3.又一个坑来了,clash 容器的坑。如果你已经启动了容器,发现端口号和上边那步不对应,请删除容器用对的端口号重新创建。
我踩过这个坑,一开始容器端口号设置了9000,后边改成9090了,看容器日志里还是监听的9000。
如果不放心的可以看看容器的日志,确认下日志里这一句里的端口号是不是你想要的
*time="2025-08-24T04:07:55Z" level=info msg="RESTful API listening at: 127.0.0.1:9090"*
4.另外注意nas的防火墙相关配置。这里注意的是你访问clash api的浏览器所在的网络环境。内网访问就看看有没有开内网允许,外网访问就看看9090端口开了吗。
以上步骤之后基本都能访问api了,然后后边就是yacd的坑了。
确实存浏览器直接访问clash api可以,但是yacd里访问不了的情况。我用的方式是lucky代理了下clash api地址,通过二级域名访问的。

以上,希望能帮到各位