Release 下载clash-for-linux · GitHub Release 历史版本 · 三路反代镜像

最新正式版v1.0.1

本区块同步 clash-for-linux 的官方 GitHub Release,并为最近版本生成 三路反代镜像加速下载通道。 默认展开最新正式版;如果项目只有预发布版,会在版本旁单独标注。下载按钮直接指向官方直链或镜像链接,便于复制真实 URL 做校验。

最新正式版发布 2026-04-14共 1 个版本共 3 个文件⭐ 5,706License MITgithub.com/wnlen/clash-for-linux

怎么挑:Windows 优先 .exe / .msi;macOS 优先 .dmg;Linux 选 .deb / .rpm / .AppImage;Android 选 .apk;带 .sig / .asc / .sha256 的是校验文件,不是安装包。 下载慢:从右侧三路反代列里挑一个能通的点开;复制按钮复制真实目标链接,方便放进下载器。

v1.0.12026-04-143 个文件正式版
文件 / 平台大小官方直链反代 · ghproxy.net反代 · ghfast.top反代 · mirror.ghproxy.com
clash-linux-amd64.tar.gzLinux34.4 MB
clash-linux-arm64.tar.gzLinux32.4 MB
clash-linux-armv7.tar.gzLinux32.9 MB

本页加速下载用到的 3 个 GitHub 反代镜像

反代前缀说明
ghproxy.nethttps://ghproxy.net/第三方反代
ghfast.tophttps://ghfast.top/第三方反代
mirror.ghproxy.comhttps://mirror.ghproxy.com/第三方反代

反代是独立第三方服务,状态和运营方都可能变化。HTTPS 只保护当前连接,不能单独证明文件与源站一致;下载后应计算 SHA256,并与发布者给出的哈希或签名比较。

GitHub 仓库简介:🐧 一个更完整、更优雅的 Linux Clash / Mihomo 代理运行平台 · 许可 MIT · ⭐ 5,706

要装 wnlen/clash-for-linux,默认从 v1.0.1 的 GitHub Release 取对应架构资产,不复制 README 里的加速短链。下载后先对 SHA-256,再列出压缩包内容。确认里面是 install.shuninstall.shscripts/config/runtime/ 这套项目文件,才进入安装环节。

GitHub 上有多套同名或近似名称的 Linux 脚本。全文只对应 owner 为 wnlen 的仓库,不适用于 nelvko/clash-for-linux-install 等其他项目。

这不是一个单独的 Mihomo 二进制,而是 Linux 上的运行与控制平台。它会布置命令入口、运行目录和服务后端。项目采用 MIT 许可证;v1.0.1 发布于 2026-04-14,Release 列出 3 个资产。这里没有把安装、TUN 或 auto-redirect 写成已经跑通的结果,下列路径与命令来自该版本的官方 README 和脚本。

v1.0.1 的三个资产该选哪个?

先在目标 Linux 主机执行架构查询:

uname -m

Release 的选择关系很窄,不要拿“树莓派”“NAS”这类设备名猜架构。

uname -m 常见输出v1.0.1 资产文件大小Release SHA-256
x86_64amd64clash-linux-amd64.tar.gz36,074,622 bytesce5a67bebde694efd328fa7b0577e186250c0d3e9f8b54f1b121cb9ee02b3bc1
aarch64arm64clash-linux-arm64.tar.gz34,016,402 bytes3e5d640d4c3e25ee39b18ac1f08be199ab5ae231a630af1392146740398b08ef
armv7lclash-linux-armv7.tar.gz34,528,358 bytes871cd3d6632539f110ccd9749379d396f779f7638c7fe1c371820afc6075bd4a

如果输出是 i686riscv64mips 或别的值,这三份资产都没有给出匹配项。停在下载前,比拿错二进制后追 Exec format error 更省事。

把下载、哈希和压缩包检查拆开

下面这段只下载归档,不执行其中的 Shell 脚本。它按 CPU 输出选择文件,并把官方 SHA-256 写进变量:

machine="$(uname -m)"

case "$machine" in
  x86_64|amd64)
    asset="clash-linux-amd64.tar.gz"
    expected_sha256="ce5a67bebde694efd328fa7b0577e186250c0d3e9f8b54f1b121cb9ee02b3bc1"
    ;;
  aarch64|arm64)
    asset="clash-linux-arm64.tar.gz"
    expected_sha256="3e5d640d4c3e25ee39b18ac1f08be199ab5ae231a630af1392146740398b08ef"
    ;;
  armv7l)
    asset="clash-linux-armv7.tar.gz"
    expected_sha256="871cd3d6632539f110ccd9749379d396f779f7638c7fe1c371820afc6075bd4a"
    ;;
  *)
    printf 'v1.0.1 没有匹配资产:%s\n' "$machine" >&2
    exit 1
    ;;
esac

download_dir="$HOME/Downloads/clash-for-linux-v1.0.1"
download_path="$download_dir/$asset"
release_url="https://github.com/wnlen/clash-for-linux/releases/download/v1.0.1/$asset"

mkdir -p "$download_dir"
curl -fL --proto '=https' --tlsv1.2 "$release_url" -o "$download_path"
printf '%s  %s\n' "$expected_sha256" "$download_path" | sha256sum -c -
tar -tzf "$download_path" | sed -n '1,60p'

校验通过时,sha256sum 应在文件名后输出 OKtar -tzf 只查看目录,不落盘。列表里应看到 install.shuninstall.shscripts/core/;如果哈希不一致,删除本次下载文件,回到 Release 重新取,不要靠重复解压碰运气。

为什么不直接复制 README 的一键安装短链?

README 的快速安装示例使用第三方加速前缀,并克隆 master。这适合追随当前代码,却不等于安装固定的 v1.0.1。加速前缀还多了一层转发。你要解决的是“版本和内容能否复现”,不是少敲两行命令。

固定 Release 资产有两个好处:文件名与当前哈希能在发布页逐项核对,安装目标也能锁在 v1.0.1。GitHub Release 资产仍可被维护者替换;下次重装要重新查看发布页摘要,不能把本文记录的哈希当成永久值。后续运行 clashctl update 前,也要分清你想更新项目代码,还是只升级 Mihomo 内核。

Release 的 SHA-256 能判断下载内容是否与 GitHub 记录一致,但不能替代脚本审阅。这个项目的安装逻辑分散在 install.shscripts/ 下,只看顶层几十行还不够。

读完 install.sh 再安装

把归档解压进一个专用目录,避免将 runtime/ 与其他项目文件混在当前目录:

install_root="$HOME/.local/src/wnlen-clash-for-linux-v1.0.1"
mkdir -p "$install_root"
tar -xzf "$download_path" -C "$install_root" --no-same-owner
cd "$install_root"

先做 Bash 语法检查,再搜索下载、服务、系统环境和删除动作。install.sh 会继续加载 scripts/core/scripts/init/,所以搜索范围不能只放一个文件:

bash -n install.sh
bash -n uninstall.sh
grep -RInE '/usr/bin|/etc/environment|systemd|curl|wget|rm -rf' \
  install.sh uninstall.sh scripts/

v1.0.1.env 默认把 KERNEL_TYPE 设为 Mihomo,并列出混合端口、控制器地址与依赖版本。准备放到远程主机时,至少打开 .env 看这三项:

grep -nE '^(export )?(KERNEL_TYPE|MIXED_PORT|EXTERNAL_CONTROLLER)=' .env

确认安装账号、目标目录和控制器监听地址后,才执行官方入口:

bash install.sh

脚本会自动判断 system、user 或 script 运行后端。不要在普通用户安装失败后立刻改成 root 重跑;先保存终端输出并执行 clashctl doctor。两个账号各装一遍,会让命令入口、systemd user unit 与运行目录的归属更难判断。

clashctl 与四个快捷命令各管什么?

Release 说明把控制动作分给 clashctl 和几个快捷入口。安装后先认清职责,再添加自己的订阅。

命令改动对象怎么确认
clashctl add / clashctl use保存订阅,并切换 active 主订阅clashctl ls 查看当前选择
clashctl select交互选择策略组与节点再开 clashui 看当前选项
clashon / clashoff启动或停止运行时与 Shell 代理接管clashctl status 看运行后端
clashui输出 Web 控制台地址本机或 SSH 转发后打开地址
clashsecret查看或设置控制器密钥更新后重新打开控制台认证
clashctl doctor汇总配置、运行时与 TUN 诊断按失败项回到对应文件或权限层

一条最短的状态链可以这样跑:

clashctl -h
clashctl status
clashctl doctor

没有订阅时,先停在 add。有多份订阅时,用 use 确认 active 项,再运行 select。项目的配置生成链只处理当前 active 主订阅;把五个订阅都加进去,不表示五份内容会同时编译。

clashsecret 会把控制器密钥显示在终端。不要把这段输出连同公网地址一起贴进工单或截图。远程访问 clashui 时,优先用 SSH 端口转发,并把 EXTERNAL_CONTROLLER 的监听范围收紧到实际需要。

TUN 与 auto-redirect 什么时候再开?

v1.0.1 Release 把 TUN 体验与 auto-redirect 列为改动点。版本脚本的默认逻辑更具体:Linux host 环境配 Mihomo 时,auto-redirect 默认返回 true;容器或其他组合默认返回 false。这不是“所有 Linux 安装后都自动接管”的承诺。

先让普通系统代理模式工作,再查看 TUN 诊断:

clashon
clashctl status
clashctl tun doctor

只有诊断显示 /dev/net/tun、进程能力与路由条件满足,才进入开启动作:

clashctl tun on
clashctl tun doctor
clashctl logs

v1.0.1 的 README 命令一览写了 clashctl tun logs,但同标签的 clashctl.sh 命令分派并不接受这个子命令。需要日志时用顶层的 clashctl logs;TUN 专项证据仍看 clashctl tun doctor

如果要显式覆盖默认值,在项目 .env 里写清楚,而不是直接改生成后的 runtime/config.yaml

export KERNEL_TYPE="mihomo"
export CLASH_TUN_AUTO_REDIRECT="true"

改完再运行 TUN 开启动作,并用 clashctl tun doctor 查看 auto-routeauto-redirect、TUN adapter 与 policy routing 证据。失败时先 clashctl tun off 回到原模式;不要同时改 DNS、路由表、内核类型和订阅。

安装成功靠哪些证据判断?

终端出现“安装完成”只能说明脚本走到了末尾。运行后至少要把下面四层分开:

表现更可能停在哪一层先看什么
clashctl 找不到命令入口没有写入,或当前 Shell 未刷新command -v clashctl 与安装输出
status 显示未运行systemd、systemd-user 或 script 后端启动失败clashctl doctor 的 runtime 项
进程存在但没有节点active 订阅未选中,或配置生成失败clashctl lsclashctl use
clashui 地址打不开控制器监听、端口或密钥不一致.envclashsecret
TUN 开启后异常权限、设备映射或 policy routing 不完整clashctl tun doctorclashctl logs

系统侧只做交叉确认,不替代项目诊断:

command -v clashctl clashon clashoff clashui clashsecret
ps -ef | grep -E '[m]ihomo|[c]lash'
ss -lntp | grep -E ':(7890|9090)\b' || true

普通用户安装可能走 systemd-user 或 script 后端。看到 systemctl status 查不到 system unit,并不能直接判为失败;以 clashctl status 报出的实际后端为准,再去看对应日志。

卸载会删掉 runtime 吗?

动卸载前先停运行时,并备份项目的 .envconfig/runtime/。备份命令放在项目根目录执行:

cd "$install_root"
clashoff || true
backup_path="$HOME/clash-for-linux-v1.0.1-$(date +%F-%H%M).tar.gz"
tar -czf "$backup_path" .env config runtime
tar -tzf "$backup_path" | sed -n '1,40p'

官方 v1.0.1 卸载脚本默认停止服务、移除运行入口、命令入口与 Shell 代理持久状态,但保留 runtime/

bash uninstall.sh

bash uninstall.sh --purge-runtime 会删除运行目录,并清理控制器密钥。它不是普通卸载的同义写法。只有确认备份能列出订阅状态、运行配置与日志,而且确实不再需要这些数据时,才考虑这个参数。

卸载后运行 command -v clashctl 与进程查询。命令入口消失、Mihomo 进程停止,同时项目目录和备份仍可读,才算留住了回滚路径。

哪些 Linux 环境别照这套命令走?

这套下载命令只覆盖 v1.0.1 的 amd64、arm64、armv7 资产。没有对应资产的架构、禁止执行用户脚本的公司主机、已有网络接管服务的路由器,以及没有 /dev/net/tun 或缺少相关能力的容器,都不该直接照搬 TUN 部分。

OpenWrt、WSL、NAS 与不同 init 系统的权限模型也不一样。官方项目会在 systemd、systemd-user 和 script 后端之间选择,但这里没有替任何具体发行版跑安装。先完成下载哈希与脚本审阅;真正安装后,把 clashctl statusclashctl doctor 和目标机器的 uname -m 放在一起判断。

要单独理解 Mihomo 配置结构,可继续看 Mihomo 配置指南;TUN 开启后若遇到 systemd-resolved 路径问题,再看 Linux TUN 与 DNS 清理