Clash 是一款用 Go 语言开发的规则化代理工具,支持多种代理协议,如 Shadowsocks、VMess、SOCKS5 等。它允许用户根据自定义规则管理网络流量,提高上网的安全性和隐私性。在 Linux 系统上,Clash 提供了预编译的二进制文件,用户可以直接下载并部署使用。通过配置不同的代理规则,用户可以实现对网络流量的精细控制,优化网络连接。
本文将告诉你如何在Linux环境下安装和配置Clash,以实现代理上网效果,包含下载、安装、配置、运行、测试以及开机自启动、定期自动更新订阅功能的操作文档。
首先,我们需要从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进行配置,使其能够连接到我们的代理服务器。
首先,我们需要创建一个配置文件:
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,即可启用系统代理。
通过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文件夹路径):
3. 启动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
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
config.yaml
中,你可以指定 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
config.yaml
文件中配置代理规则。 rules:
- DOMAIN-SUFFIX,example.com,Proxy
- IP-CIDR,192.168.1.0/24,Direct
config.yaml
文件中的 proxy-groups
部分来启用或禁用代理组。例如,你可以设置某些组在某些情况下禁用代理:
proxy-groups:
- name: Proxy
type: select
proxies:
- Proxy1
- Proxy2
use:
- Direct # 默认直接连接
config.yaml
中指定不同的配置文件路径,或者在启动时使用 -f
参数加载特定配置:./clash -f /path/to/first-config.yaml
config.yaml
中配置订阅地址:proxies:
- name: Subscription
type: url
url: https://example.com/proxy-subscription-url
interval: 3600 # 每 1 小时自动更新一次订阅内容
Clash for Linux 支持的协议包括 Shadowsocks (SS)、ShadowsocksR (SSR)、VMess (V2Ray)、Trojan、VLess (V2Ray)、HTTP/HTTPS、SOCKS5、KCP 和 NaiveProxy 等多种代理协议。
~/.config/clash/config.yaml
路径下。Clash for Linux是一款功能强大的代理工具,适用于 Linux 用户。通过正确的安装和配置,用户可以有效地管理网络流量,提升上网体验。
Clash of Kings 14级怪全攻略Manjaro下载v2Ray: v2Ray在Manjaro系统中的下载和配置教程Windows 和 Mac 上最好用的 Android 模拟器深入了解v2ray http 实际是httpsGPTDOS: 不需要魔法的ChatGPT服务电脑如何下载VPNv2rayng订阅链接设置Clash Tun模式无法上网:解决方案详解v2ray卸载教程与FAQVultr设置私有IPylws v2ray在GitHub上的综合指南小学幼儿园关停潮!去年全国5000家校园消失,家长们怎么办?v2ray苹果手机教程在中国如何购买中途旅行? 中途购买教程? 如何注册中途旅行?v2ray.service启动请求过快问题解决方法指南机场测速观察---Nexitally闪电猫机场推荐 || 机场测评|| 闪电猫优惠码⚡️||2023最值得推荐的机场 2023机场推荐跑路机场 黑名单丨持续更新丨选机场避坑指南白月光机场发布旧不限时流量包套餐调整通知BGP中转节点+IPLC 专线+AnyCast高速稳定v2ray机场推荐:FastLink机场怎么样?