Linux平台使用Clash配置记录

下载客户端

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

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

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

  3. 解压:

    1
    
    tar -xzvf clashpremium-release-linux-amd64.tar.gz

    参数说明

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

    1
    
    mv CrashCore clash

下载配置文件

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

1
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目录中输入以下指令:

1
./clash -d .

clash后台运行

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

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

1
vim /etc/systemd/system/clash.service

将以下代码输入该文件:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[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 重新加载配置:

1
sudo systemctl daemon-reload

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

clash全局代理

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

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

1
vim /etc/profile

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

1
2
export http_proxy=127.0.0.1:7890
export https_proxy=127.0.0.1:7890

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

1
source /etc/profile

直接curl测试google

1
curl www.google.com

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

clash的UI控制界面

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

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

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

解压

1
tar -xvf yacd.tar.xz

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

1
mv public ui

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

1
2
3
4
5
6
7
8
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,在浏览器中输入:

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

即可正常访问UI面板

PixPin_2025-06-10_16-08-13

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

点击Add即可

0%