# 解压 clash,会得到 clash-linux-arm64-v1.18.0
gunzip clash-linux-arm64-v1.18.0.gz
# 解压 yacd
tar -xf yacd.tar.xz
# 重新命名一下
mv public dashboard
创建一个文件(config.yml),或者由三方提供,在文件中加入如下,secert表示控制台访问密码,external-ui 表示dashboard绝对路径,external-controller表示控制台的端口
secert: 123456
external-ui: /opt/clash/dashboard
external-controller: ':9990'
创建一个clash.service
vim clash.service
内容如下
[Unit]
Description=Clash Service
After=network.target
[Service]
ExecStartPre=/bin/sh -c 'touch /opt/clash/clash.log' #启动前创建一个日志文件
ExecStart=/opt/clash/clash-linux-arm64-v1.18.0 -f /opt/clash/config.yml #启动命令 运行文件路径写绝对地址 配置文件没有就自己创建一个,或者由三方提供
Restart=on-failure
User=root #运行用户
Group=root #运行组
StandardOutput=append:/opt/clash/clash.log #配置日志输出
StandardError=append:/opt/clash/clash.log #配置日志输出
[Install]
WantedBy=multi-user.target
创建文件链接
# 创建一个链接
ln -s /opt/clash/clash.service /etc/systemd/system/clash.service
创建一个manage_clash.sh文件,内容如下
#!/bin/bash
# 查询 Clash 服务状态
status=$(systemctl is-active clash.service)
# 显示当前状态
echo "Clash 服务当前状态: $status"
ip=$(ip addr show wlan0 | grep 'inet ' | awk '{print $2}' | cut -d'/' -f1)
echo "UI访问地址:http://$ip:9990/ui"
# 提供选项
echo "请选择一个操作:"
echo "1) 启动 Clash"
echo "2) 重启 Clash"
echo "3) 停止 Clash"
echo "4) 设置 Clash 开机自启"
echo "5) 取消 Clash 开机自启"
echo "6) 设置本地代理"
echo "7) 去除本地代理"
echo "8) 退出"
# 读取用户输入
read -p "请输入您的选择 [1-8]: " choice
# 根据用户输入执行相应的操作
case $choice in
1)
if [ "$status" == "active" ]; then
echo "Clash 服务已在运行中."
else
echo "正在启动 Clash 服务..."
sudo systemctl start clash.service
echo "Clash 服务已启动."
fi
;;
2)
echo "正在重启 Clash 服务..."
sudo systemctl restart clash.service
echo "Clash 服务已重启."
;;
3)
if [ "$status" == "inactive" ]; then
echo "Clash 服务未在运行."
else
echo "正在停止 Clash 服务..."
sudo systemctl stop clash.service
echo "Clash 服务已停止."
fi
;;
4)
echo "正在设置 Clash 服务开机自启..."
sudo systemctl enable clash.service
echo "Clash 服务已设置为开机自启."
;;
5)
echo "正在取消 Clash 服务开机自启..."
sudo systemctl disable clash.service
echo "Clash 服务已取消开机自启."
;;
6)
echo "请在终端在执行如下命令"
echo "export http_proxy=\"http://127.0.0.1:7890\""
echo "export https_proxy=\"http://127.0.0.1:7890\""
;;
7)
echo "正在去除本地代理..."
unset http_proxy
unset https_proxy
echo "本地代理已去除."
;;
8)
echo "正在退出."
exit 0
;;
*)
echo "无效选择。请选一个有效的操作."
;;
esac
运行脚步
控制台页面