887 字
4 分钟
Linux平台使用Clash配置记录
2025-06-10

下载客户端#

  1. 执行 mkdir ~/clash; cd ~/clash 在用户目录下创建 clash 文件夹。

    下载地址:Release Clash-Premium · DustinWin/proxy-tools · GitHub

  2. 下载适合的 Clash 二进制文件,我这里下载的是clashpremium-release-linux-amd64.tar.gz,然后将文件放到上面创建的clash文件夹中

  3. 解压:

    Terminal window
    tar -xzvf clashpremium-release-linux-amd64.tar.gz

    参数说明

    • -x:解压(extract)
    • -z:使用 gzip 解压(.gz 文件)
    • -v:显示解压过程(verbose)
    • -f:指定文件名(后面必须接文件名)
  4. 将解压产物重命名为 clash

    Terminal window
    mv CrashCore clash

下载配置文件#

在终端 cd 到 Clash 二进制文件所在的目录,下载 Clash 配置文件,命令如下:

Terminal window
wget -O config.yaml "https://sg83f.no-mad-world.club/link/itsj2v5HazNVXS7D?clash=3"

我这里碰到了缺少Country.mmdb问题,使用命令下载非常慢,这里我选择在本地下载然后上传到服务器,下载地址:https://raw.githubusercontent.com/Dreamacro/maxmind-geoip/release/Country.mmdb

下载后放到clash目录中

启动Clash#

在clash目录中输入以下指令:

Terminal window
./clash -d .

clash后台运行#

此部分参考Linux中安装Clash并且实现全局代理(纯命令行) – Mr.浮熙的blog

如果按照上面的方法运行clash的话,一旦我们关闭了终端,那么clash也会一并关闭。所以我们需要设置一下后台运行clash 在/etc/systemd/system/目录新建一个clash.service文件,并且直接进入vim编辑器

Terminal window
vim /etc/systemd/system/clash.service

将以下代码输入该文件:

[Unit]
Description=Clash service
After=network.target
[Service]
Type=simple
User=root
# ExecStart=<clash运行文件的绝对路径> -d <clash文件夹的绝对路径>
ExecStart=/home/xh/clash/clash -d /home/xh/clash
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target

编辑服务文件后,需让 systemd 重新加载配置:

Terminal window
sudo systemctl daemon-reload

然后就可以通过systemctl来控制clash了,例如查看状态systemctl status clash

clash全局代理#

此部分同样参考Linux中安装Clash并且实现全局代理(纯命令行) – Mr.浮熙的blog

设置全局代理需要在/etc/profile文件最后添加几行代码 进入/etc/profile文件

Terminal window
vim /etc/profile

在该文件的末尾添加两行代码:

export http_proxy=127.0.0.1:7890
export https_proxy=127.0.0.1:7890

保存后,应用一下profile文件,重启clash服务

source /etc/profile

直接curl测试google

curl www.google.com

我这里发现,我配置的clash在开启的情况下,第一个终端应用profile文件后访问google是可以的,但是其他终端还是不可以访问,关闭后,再开终端也不可以访问,还是需要重新应用profile文件

clash的UI控制界面#

参考教程:linux下部署Clash+dashboard - 系统配置和定制 - ParrotSec中文社区

在clash文件夹中,使用wget命令下载UI文件

Terminal window
wget https://github.com/haishanh/yacd/releases/download/v0.3.7/yacd.tar.xz

解压

Terminal window
tar -xvf yacd.tar.xz

解压后是一个叫public的文件夹,我们将这个文件夹名改为ui

Terminal window
mv public ui

然后需要配置config.yaml文件,注释删掉

port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
secert: 123456 # 增加这一行, 如果你希望你的clash在web中要密码访问可以在这块配置密码, 如果不需要直接注释掉即可
external-ui: ui # 指定ui文件在这个文件夹中
external-controller: 0.0.0.0:9090 # 这里要从127.0.0.1:9090改为0.0.0.0:9090
  • 127.0.0.1:9090:仅允许**本地(服务器自身)**访问 Clash 的控制接口
  • 0.0.0.0:9090:允许所有网络接口(包括本地、局域网、公网)访问 Clash 的控制接口,我们这里就是要通过公网访问服务器的UI面板

然后重新启动clash,在浏览器中输入:

http://<服务器的公网IP>:9090/ui

即可正常访问UI面板

PixPin_2025-06-10_16-08-13

  • API Base URL:输入服务器的公网IP+9090端口
  • Secret:config.yaml配置的密码
  • Label:随便填

点击Add即可

Linux平台使用Clash配置记录
https://fuwari.cbba.top/posts/linux平台使用clash配置记录/
作者
Chen_Feng
发布于
2025-06-10
许可协议
CC BY-NC-SA 4.0