Clash作为一款规则驱动的代理客户端,以其灵活的分流机制和多协议支持,在众多代理软件中脱颖而出。虽然Clash最早并非专为Linux打造,但得益于其开源性质和社区的积极支持,如今在Linux平台上也可以流畅、稳定地运行。
一、什么是Clash?
Clash简介
Clash 是一款基于 Go 语言开发的跨平台、基于规则的代理客户端。它的设计灵感来源于 Surge(iOS上一款著名的网络代理工具),致力于提供强大的代理管理功能和灵活的规则分流逻辑。Clash 本身并不包含服务端功能,而是作为客户端使用,用于接收外部代理服务(如Shadowsocks、Vmess等),并按用户设置的规则转发流量。
主要特性
- 多协议支持:支持 Shadowsocks、VMess、Trojan、SOCKS5、HTTP 等多种代理协议。
- 规则分流机制:可根据域名、IP、GeoIP、端口等条件灵活定义流量去向。
- 策略组配置:可设置自动测速、手动选择、故障切换等策略分组。
- 本地监听端口:默认监听 7890 (HTTP)、7891 (SOCKS5) 端口,供系统或浏览器代理使用。
- 开放 API 控制:支持 REST API 控制面板与订阅更新、规则切换等操作。
- 轻量级、跨平台:在Linux、Windows、macOS、Android等平台均可运行。
二、如何在Linux系统上安装Clash
虽然Clash并未官方发布完整的Linux安装程序,但通过其提供的核心二进制文件或借助第三方图形界面,我们仍能轻松在Linux平台使用。
I、系统要求
- 支持任何主流发行版(如 Ubuntu、Debian、Arch、Fedora、CentOS 等)
- 推荐使用
x86_64
或ARM64
架构的系统 - 具备基本终端命令操作能力
II、安装步骤(命令行版)
步骤一:下载 Clash 核心文件
前往 GitHub 官方发布页面:https://github.com/Dreamacro/clash/releases
选择与你系统架构匹配的版本,如:
wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-amd64-v1.18.0.gz
gunzip clash-linux-amd64-v1.18.0.gz
chmod +x clash-linux-amd64-v1.18.0
mv clash-linux-amd64-v1.18.0 ~/.local/bin/clash
注意:你也可以把程序移动到
/usr/local/bin
以供所有用户使用。
步骤二:创建配置目录
mkdir -p ~/.config/clash
将你的 config.yaml
文件(来自服务商或自行编写)放入该目录下。
步骤三:运行 Clash
clash -d ~/.config/clash
运行后,Clash 会在终端显示运行状态,并开始监听端口。
安装 Clash Meta(兼容性更好)
Clash 的分支版本 Clash Meta 支持更多协议(如Reality、Hysteria等),适用于进阶用户:
项目地址:https://github.com/MetaCubeX/Clash.Meta
安装方式与主线 Clash 类似,仅需替换下载链接即可。
三、图形界面工具推荐
对于不喜欢命令行操作或希望更直观地管理节点和规则的用户,以下图形界面项目非常适合:
I、Clash Verge Reborn
- 平台支持:Windows、macOS、Linux(AppImage、deb、rpm)
- 主要功能:
- 自动识别Clash Meta核心
- 节点列表管理、分组选择
- 订阅导入、一键测速
- 支持托盘图标、系统代理一键切换
GitHub 地址:https://github.com/clash-verge-rev/clash-verge-rev
安装方式(以 AppImage 为例):
chmod +x Clash.Verge.Reborn-x86_64.AppImage
./Clash.Verge.Reborn-x86_64.AppImage
II、ClashN for Linux / Yacd 面板
- ClashN 适用于轻量管理,也支持部分 GUI 控制。
- Yacd 是一个 Web 控制面板,Clash 启动后可通过
http://127.0.0.1:9090/ui
访问。
四、配置文件详解(config.yaml)
Clash 的配置文件基于 YAML 格式,结构清晰,以下是常见配置项:
I、基础设置
port: 7890 # HTTP 代理端口
socks-port: 7891 # SOCKS5 代理端口
allow-lan: true
mode: rule # 代理模式,可选 global、direct、rule
log-level: info
external-controller: 127.0.0.1:9090
II、节点定义
proxies:
- name: "US Server"
type: ss
server: 1.2.3.4
port: 443
cipher: aes-256-gcm
password: "yourpassword"
III、策略组
proxy-groups:
- name: "Proxy"
type: select
proxies:
- "US Server"
- DIRECT
IV、规则设置
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-KEYWORD,youtube,Proxy
- GEOIP,CN,DIRECT
- MATCH,Proxy
也可通过订阅链接动态获取规则与节点配置。
五、进阶技巧与常见问题
- Clash 如何开机自启?
可以将其加入 systemd 服务:
nano ~/.config/systemd/user/clash.service
内容如下:
[Unit]
Description=Clash Proxy Client
After=network.target
[Service]
ExecStart=/home/username/.local/bin/clash -d /home/username/.config/clash
Restart=always
[Install]
WantedBy=default.target
启用服务:
systemctl --user enable clash
systemctl --user start clash
- 如何让系统全局代理?
配置系统网络设置,或使用 proxychains
将命令行程序代理。
sudo apt install proxychains
编辑 /etc/proxychains.conf
,将代理设置为 socks5 127.0.0.1 7891
。
- Clash 使用订阅链接导入配置?
你可以使用 Clash 配置转换工具(如Subconverter)将订阅链接转为 config.yaml 或 Clash Meta 配置格式。
Clash for Linux 以其高度灵活的配置能力、广泛的协议支持和活跃的社区生态,为Linux用户提供了一套强大而现代的网络代理解决方案。无论你是开发者、教育工作者、远程办公者,还是日常想畅游全球互联网的用户,Clash 都值得一试。通过命令行或图形界面结合使用,你可以根据自己的需求搭建出一个既稳定又个性化的网络环境。
代理服务器的管理和切换