Clash 代理服务搭建与 YACD 面板管理指南
本文旨在详细介绍如何在 Linux 系统上搭建 Clash 代理服务,并通过 YACD 面板进行便捷管理。Clash 是一款功能强大的代理工具,支持多种协议和规则,而 YACD 面板则提供了友好的图形界面,方便用户进行配置和管理。
一、环境准备
确保你的 Linux 系统已经安装了必要的软件包,如 wget、gzip、vi 等。同时,确保你有足够的权限来执行以下操作。
二、搭建 Clash 服务
创建 Clash 目录并下载解压
mkdir /opt/clash
cd /opt/clash
wget https://github.com/opusb/clash/releases/download/v1.18.0/clash-linux-armv7-v1.18.0.gz
gzip -d clash-linux-armv7-v1.18.0.gz
mv clash-linux-armv7-v1.18.0 clash
chmod +x clash
启动 Clash 并处理潜在错误
./clash
如果出现缺少 Country.mmdb 错误,请自行复制链接下载,并上传到 /root/.config/clash 目录。然后再次启动 Clash。
创建 Clash 系统服务
vi /etc/systemd/system/clash.service
编辑 /etc/systemd/system/clash.service 文件,并粘贴以下内容:
[Unit]
Description=Clash Daemon
After=network.target
[Service]
Type=simple
ExecStart=/opt/clash/clash -d /root/.config/clash
Restart=on-failure
RestartSec=10
WorkingDirectory=/root/.config/clash
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
然后执行以下命令以重新加载 systemd 配置、启用 Clash 服务并启动它:
systemctl daemon-reload
systemctl enable clash
systemctl start clash
systemctl status clash
三、部署 YACD 面板
运行以下命令以拉取并运行 YACD 面板容器:
docker run -p 1234:80 -d --name yacd --restart=always ghcr.io/haishanh/yacd:master
四、配置 Clash
更新并合并配置文件
首先,通过 wget 命令更新 config.yaml 文件:
cd ~
wget -O config.yaml "https://utnyc.no-mad-world.club/link/xxxxxxxxxxxxxxxxxxx" # 请自行更改订阅链接
然后,使用 sed 命令添加自定义的国内网站排除规则和删除默认的 Clash 配置,并将自定义的 Clash 配置与更新后的 config.yaml 合并:
sed -i '/ - DOMAIN,app.adjust.com/ r /mnt/cn.txt' /root/config.yaml #不需要代理的国内域名,代理排除
sed -i "/port: 7890/,+5 d" /root/config.yaml #删除订阅默认的clash配置,一般是删除hosts之前行的内容,有6行所以设置+5 d
cat /mnt/clash.txt /root/config.yaml > /root/.config/clash/config.yaml #将自定义的clash配置与hosts之后的内容合并,并覆盖保存到默认的配置目录
其中,/mnt/cn.txt 和 /mnt/clash.txt 分别包含自定义的国内网站排除规则和 Clash 配置。
下面提供上面两个文件的参考写法,确保 - DOMAIN,app.adjust.com在你的原始订阅里面是唯一的国内直连规则,每个订阅都不一样,根据实际情况编写。
vi /mnt/cn.txt
其中最后面要空一排
- DOMAIN-KEYWORD,51nb,🇨🇳 国内网站
- DOMAIN-KEYWORD,dns.army,🇨🇳 国内网站
- DOMAIN-KEYWORD,ibmnb,🇨🇳 国内网站
- DOMAIN-KEYWORD,adblock,🇨🇳 国内网站
- DOMAIN-KEYWORD,trim,🇨🇳 国内网站
- DOMAIN-KEYWORD,mozilla,🇨🇳 国内网站
- DOMAIN-KEYWORD,histb,🇨🇳 国内网站
- DOMAIN-KEYWORD,pan.v1.mk,🇨🇳 国内网站
- DOMAIN-KEYWORD,xiaohongshu,🇨🇳 国内网站
- DOMAIN-KEYWORD,1688,🇨🇳 国内网站
vi /mnt/clash.txt
最后面也要空一排
port: 7890
socks-port: 7891
allow-lan: true #允许局域网代理
mode: Rule
external-controller: 192.168.1.28:9090 #192.168.1.28为本机ip,自行更改
ipv6: true #开启ipv6,方便看ipv6源的电视节目
重启 Clash 服务
systemctl restart clash
五、设置定时任务
建议使用 crontab 设置定时任务来定期更新 config.yaml 文件并处理其他相关任务。编辑 crontab 文件:
crontab -e
然后添加类似以下的定时任务(请自行更改订阅链接和其他路径):
11 */8 * * * wget -O config.yaml "订阅链接"
12 */8 * * * sed -i '/ - DOMAIN,app.adjust.com/ r /mnt/cn.txt' /root/config.yaml
13 */8 * * * sed -i "/port: 7890/,+5 d" /root/config.yaml
14 */8 * * * cat /mnt/clash.txt /root/config.yaml > /root/.config/clash/config.yaml
15 */8 * * * systemctl restart clash
# ... 其他任务(如有需要)
保存并退出 crontab 编辑器。
六、在首页添加 Clash 链接
- 上传 Clash 图标
将 Clash 的图标命名为 clash.png,并上传到 /var/www/html/img/png 目录。 - 创建 Clash HTML 文件
在 /var/www/html/icons_wan 目录下新建 clash.html 文件,并添加以下内容(请自行更改 NAS IP 和反代端口):
<li>
<a href="http://<?php echo str_replace(":10010", "", $lanip); ?>:1234" target="_blank"><img class="shake" src="img/png/clash.png" /><strong>clash</strong></a>
</li>
七、完成设置
现在,你已经成功搭建并配置了 Clash 代理服务和 YACD 面板。打开浏览器,访问你的 NAS IP 地址加上 YACD 面板的端口(如 http://NAS_IP:1234),即可进行 Clash 的配置和管理。记得将后端地址设置为你的 NAS IP 和 Clash 监听的端口(如 http://192.168.1.28:9090)。
希望这篇指南能帮助你顺利搭建并使用 Clash 代理服务和 YACD 面板!
评论 (0)