Clash for Linux详细使用配置教程:从入门到进阶

2024年11月6日

Clash 是一款用 Go 语言开发的规则化代理工具,支持多种代理协议,如 Shadowsocks、VMess、SOCKS5 等。它允许用户根据自定义规则管理网络流量,提高上网的安全性和隐私性。在 Linux 系统上,Clash 提供了预编译的二进制文件,用户可以直接下载并部署使用。通过配置不同的代理规则,用户可以实现对网络流量的精细控制,优化网络连接。

本文将告诉你如何在Linux环境下安装和配置Clash,以实现代理上网效果,包含下载、安装、配置、运行、测试以及开机自启动、定期自动更新订阅功能的操作文档。

Clash for Linux

一、Clash for Linux如何下载?

首先,我们需要从GitHub上下载Clash的最新版本。可以使用wget或curl命令来下载:

wget https://github.com/Dreamacro/clash/releases/download/vX.Y.Z/clash-linux-amd64-vX.Y.Z.gz

这里的“X.Y.Z”需要替换为你想下载的Clash版本号。下载时需注意服务器位数是64还是32位。本文档中使用的64位。

注意:github仓库已经失效,可以点击这里下载

二、Clash for Linux如何配置和运行?

下载完成后,我们需要对Clash进行配置,使其能够连接到我们的代理服务器。

首先,我们需要创建一个配置文件:

su
mkdir /opt/clash
mv Desktop/clash-linux-amd64 /opt/clash/clash
cd /opt/clash/
wget -O config.yaml [订阅链接]
wget -O Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb
chmod +x clash 
./clash -d .

这将在/opt/clash目录下创建一个名为config.yaml的配置文件,并下载一个名为Country.mmdb的文件,然后给Clash赋予执行权限并启动Clash。

三、配置系统代理

启动Clash后,我们需要启用系统代理。可以通过命令行形式开启,也可以通过图形化界面形式开启(装有GUI使用)。

命令行形式开启:

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http port 7890
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.socks port 7891
gsettings set org.gnome.system.proxy.socks host '127.0.0.1'
gsettings set org.gnome.system.proxy ignore-hosts ['localhost', '127.0.0.0/8', '::1']

图形化界面形式开启:打开系统设置,点击网络代理右边的 ⚙ 按钮,选择手动,填写 HTTP 和 HTTPS 代理为 127.0.0.1:7890,填写 Socks 主机为 127.0.0.1:7891,即可启用系统代理。

四、验证Clash for Linux代理

通过curl命令访问www.google.com, 如果响应正常,那么就说明Clash代理工作正常。

curl www.google.com

五、配置开机自启动

我们可以创建一个service文件,使Clash能够在开机时自动启动。

1. 创建service文件

touch /etc/systemd/system/clash.service

2. 编辑service文件

vi /etc/systemd/system/clash.service

在service文件中填入以下内容(注意修改clash文件夹路径):

[Unit]
Description=clash daemon

[Service]
Type=simple
User=root
ExecStart=/opt/clash/clash -d /opt/clash/clash/
Restart=on-failure

[Install]
WantedBy=multi-user.target

3. 启动Clash

systemctl start clash.service

4. 设置Clash开机自启动:

systemctl enable clash.service

以下为Clash相关的管理命令:

启动Clash:
systemctl start clash.service

重启Clash:
systemctl restart clash.service

查看Clash运行状态:
systemctl status clash.service

六、配置定时更新订阅

Clash For Linux 到目前为止没有自动订阅方式,我们做一个计划任务实现更新config.yaml。用Cron执行计划任务

crontab -e

在打开的文件中填入以下内容:

29 6    * * *   root    pgrep clash | xargs kill -s 9 
30 6    * * *   root    mv /opt/clash/config.yaml /opt/clash/configbackup.yaml 
31 6    * * *   root    wget -P /opt/clash/ -O config.yaml [你的订阅链接]
32 6    * * *   root    nohup /opt/clash/clash -d /opt/clash/

然后按Esc和:wq保存退出。

最后,重启crontab,使配置生效:

systemctl restart crond.service

七、Clash for Linux常见问题

  1. Clash for Linux如何配置 DNS 设置?

    • 在配置文件 config.yaml 中,你可以指定 DNS 设置来优化代理使用体验。
    • 例如,你可以在配置文件中添加如下 DNS 配置:
      dns: 
      enable: true 
      listen: 0.0.0.0:53 # 监听所有IP的53端口 
      default: true  # 使用默认 DNS 服务器 
      nameserver: 
      - 8.8.8.8  # Google DNS 
      - 1.1.1.1 # Cloudflare DNS 
    • 通过设置 DNS,你可以提升 Clash 在解析域名时的速度与稳定性。
  2. Clash for Linux如何进行流量分流?

  • Clash 支持多种流量分流的方式,最常见的方式是使用规则来决定流量走哪一条代理路径。你可以在 config.yaml 文件中配置代理规则。
  • 例如,以下规则将指定特定的域名或 IP 使用不同的代理:
    rules: 
    - DOMAIN-SUFFIX,example.com,Proxy 
    - IP-CIDR,192.168.1.0/24,Direct 
  • 规则定义了如何根据域名后缀或IP段来选择代理或直接连接。
  1. 如何在 Clash for Linux 中启用/禁用代理?

    • 你可以通过调整 config.yaml 文件中的 proxy-groups 部分来启用或禁用代理组。
      例如,你可以设置某些组在某些情况下禁用代理:

      proxy-groups:
      - name: Proxy 
      type: select 
      proxies: 
          - Proxy1 
          - Proxy2
      use: 
          - Direct # 默认直接连接 
    • 你可以在运行时切换代理组来手动启用或禁用代理。
  2. Clash for Linux如何添加多个配置文件?

    • 如果你有多个代理配置文件,你可以在 config.yaml 中指定不同的配置文件路径,或者在启动时使用 -f 参数加载特定配置:
      ./clash -f /path/to/first-config.yaml 
    • 通过这种方式,你可以在不同的配置间切换,以便根据不同的网络环境或需求选择最合适的配置。
  3. Clash for Linux如何管理订阅? - Clash 支持通过订阅链接来自动更新代理节点。你可以在 config.yaml 中配置订阅地址:

proxies: 
    - name: Subscription 
    type: url 
    url: https://example.com/proxy-subscription-url 
    interval: 3600 # 每 1 小时自动更新一次订阅内容 
  • 订阅链接可以是一个提供定期更新代理节点的 URL。这样,Clash 会定期从该链接获取最新的代理节点配置。
  1. Clash for Linux支持哪些协议?

Clash for Linux 支持的协议包括 Shadowsocks (SS)、ShadowsocksR (SSR)、VMess (V2Ray)、Trojan、VLess (V2Ray)、HTTP/HTTPS、SOCKS5、KCP 和 NaiveProxy 等多种代理协议。

  1. Clash for Linux配置文件在哪里?
    配置文件一般在~/.config/clash/config.yaml路径下。

Clash for Linux是一款功能强大的代理工具,适用于 Linux 用户。通过正确的安装和配置,用户可以有效地管理网络流量,提升上网体验。

4.4/5 - (8 votes)

2024年11月6日Linux客户端clash,Clash for Linux