Clash-for-Linux搭建教程

首先我们需要寻找了两个资源,一个是clash for Linux,另一个是Country.mmdb,由于clash的作者已经删库跑路了,所以我们下载野生资源的时候注意不要下到木马病毒了!可以下载放到沙箱上跑跑看看。

一、安装Clash

这里,上述的资源给了Clash for Linux的执行程序以及Country.mmdb文件,这是Linux执行Clash所必须的程序。我们将clash-linux-amd64-v1.17.0Country.mmdb文件下载下来放到我们的Linux系统中,具体的放置方法因人而异,只要放上去了就行!

image-20240716195500914

现在我们的文件已经下载好放置到~/clash/文件夹中,由于clash程序默认将配置文件放置到~/.config/clash/中,但是由于作者删库的原因,已经不能通过网络下载到配置文件了,所以我们才需要自己下载Country.mmdb文件放置到~/.config/clash/中(没有相应目录的话,自己创建一个就行)

1
cp ~/clash/Country.mmdb ~/.config/clash/

二、配置文件编写

Clash使用YAML格式的配置文件,所以我们在~/.config/clash/创建一个相应的文件config.yaml,然后将我们订阅链接生成的配置文件内容复制到该文件下,也就是平时自己使用clash for windows中配置选项栏中的配置内容,将其中的内容复制粘贴到config.yaml文件中

image-20240716200812666

1
2
touch ~/.config/clash/config.yaml
vim ~/.config/clash/config.yaml

然后将相应的内容粘贴到文件中即可。

三、执行Clash

两种clash的启动方式:

  • 方式一:配置文件config.yaml~/.config/clash/文件夹中
1
2
# 直接执行
./clash-linux-amd64-v1.17.0
  • 方式二:配置文件config.yaml不在~/.config/clash/文件夹中
1
2
# 指定配置文件位置执行
./clash-linux-amd64-v1.17.0 -d /path/to/your/config/directory

四、代理检测

执行了clash后,重新开启一个命令行,我们先对clash进行简单的测试看看是否已经通过了代理;

对于docker pull、git clone等等执行的代理还需要进行额外的配置,详细方案可以自行搜索,不是非常复杂;

1
curl -x http://127.0.0.1:7890 http://www.google.com

image-20240716202716450

出现上述内容和代理匹配的内容已经可以确定代理有效;

五、Clash自启动

1. 创建Clash的systemd服务文件

首先,确保Clash可执行文件和配置文件已经正确配置并可以正常运行。

创建服务文件

使用以下命令创建一个新的systemd服务文件:

1
2
3
bash
复制代码
sudo nano /etc/systemd/system/clash.service

添加以下内容到服务文件中

将以下内容复制并粘贴到刚创建的clash.service文件中。根据实际路径调整ExecStartWorkingDirectory

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Clash Daemon
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/clash -d /path/to/your/config/directory
Restart=on-failure
RestartSec=10
WorkingDirectory=/path/to/your/config/directory
User=nobody
Group=nogroup
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

确保替换/usr/local/bin/clash为Clash可执行文件的路径,/path/to/your/config/directory为你的Clash配置文件所在的目录。以下,是我的配置文件;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=Clash Daemon
After=network.target

[Service]
Type=simple
ExecStart=/home/candy/clash/clash-linux-amd64-v1.17.0 -d /home/candy/.config/clash
Restart=on-failure
RestartSec=10
WorkingDirectory=/home/candy/.config/clash
User=candy
Group=candy
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

2. 重新加载systemd守护进程

保存并关闭文件后,重新加载systemd守护进程:

1
sudo systemctl daemon-reload

3. 启用Clash服务

使用以下命令启用Clash服务,使其在开机时自启动:

1
sudo systemctl enable clash

4. 启动Clash服务

现在可以手动启动Clash服务,确保其正常运行:

1
sudo systemctl start clash

5. 验证服务状态

使用以下命令查看Clash服务的状态,确保其正常运行:

1
sudo systemctl status clash

如果服务正在运行且没有错误信息,说明配置成功。Clash程序将会在系统启动时自动启动。

image-20240716204240003


Clash-for-Linux搭建教程
http://candyb0x.github.io/2024/07/16/Clash-for-Linux搭建教程/
作者
Candy
发布于
2024年7月16日
更新于
2024年7月16日
许可协议