Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux 一键安装 Clash

GitHub License GitHub top language

image-20260120164005163

  • 安装最新稳定版 mihomo 内核。
  • Web 控制台支持 metacubexdzashboard
  • 支持使用 subconverter 进行本地订阅转换。
  • 多架构支持,适配主流 Linux 发行版。

说明

本项目来自clash-for-linux-install,根据个人需要重新进行了修改,修改地方如下:

  1. Web 控制台支持在安装时选择 metacubexd 或 zashboard,安装后也可随时切换。

  2. 修复了上游项目兼顾 普通用户 与 sudo用户 而造成的命令混乱。

  3. mixin.yaml中添加了更为详细的DNS覆写规则和tun规则,支持ipv6,开箱即用。

  4. 由我最喜欢的一版代码修改而来,clashstatus命令可以方便查看运行状态。

    image-20260119215237942

  5. 2026.1.20修改:适配linux主流桌面环境,为桌面环境添加系统代理,通过clashonclashoff一键控制桌面环境、终端环境代理

快速开始

环境要求

  • 用户权限:rootsudo 用户。
  • shell 支持:bashzshfish

一键安装

下述命令适用于 x86_64 架构

git clone --branch master --depth 1 https://github.com/Hit-Mickey/clash-for-linux.git clash \
  && cd clash \
  && sudo bash install.sh

安装资源

安装开始时会提示选择 GitHub 下载方式:

  • 输入 1:所有 GitHub API 和资源下载均使用官方链接。
  • 输入 2 或直接回车:使用默认加速地址 https://gh-proxy.org
  • 输入 3:自定义一个或多个加速地址,多个地址使用分号(;)或空格隔开;下载时严格按照填写顺序逐个尝试,不再尝试官方链接。
  • 加速配置保存在 /opt/clash/github-proxy,安装后可通过 ghproxy 查看、通过 ghproxy -e 编辑。

安装时还会提示选择 Web 控制面板:输入 1 或直接回车选择 metacubexd,输入 2 选择 zashboard。安装完成后,mixin.yamlruntime.yaml 中的 external-ui 会明确写入当前面板名称。

每次安装都会下载最新版 mihomoyqsubconverter、所选面板和 Country.mmdb(即 country.mmdb)。所有配置的下载地址均失败或文件校验失败时,才使用 resources 中随仓库提供的对应官方稳定版离线资源。安装后的 Mihomo 与面板均只提供稳定版升级:通过 clashupgrade 更新 Mihomo,通过 clashui upgrade 更新当前面板。

安装完后请通过clashuiclashsecret查看端口和初始密码

如遇问题,请在查阅常见问题issue 未果后进行反馈。

  • 上述克隆命令使用 GitHub 官方地址;安装脚本内的资源下载方式由安装前输入的 GitHub 加速配置决定。
  • 默认通过远程订阅获取配置进行安装,本地配置安装详见:在resources目录中新建config.yaml,将配置粘贴进去再执行安装脚本。
  • 没有订阅?click me

自定义安装

可以根据需要提前修改 mixin.yaml 中的配置,其中留空的变量名不要随意删除,也可以在安装完成后修改。安装程序会根据选择明确设置 external-ui

命令一览

执行 clashctl 列出开箱即用的快捷命令。

$ clashctl
Usage:
    clashctl    COMMAND [OPTION]
    
Commands:
    on                   开启代理
    off                  关闭代理
    restart              重启 Mihomo 服务
    ui       [upgrade|change] 面板地址/更新/切换面板
    ghproxy  [-e]        查看/编辑 GitHub 加速地址
    status               内核状况
    proxy    [on|off|status] 系统代理
    tun      [on|off]    Tun 模式
    mixin    [-e|-r]     Mixin 配置
    secret   [SECRET]    Web 密钥
    update   [URL|auto|log] 更新订阅
    upgrade              更新 Mihomo 稳定版内核

每个子命令也有对应的独立快捷命令:

clashctl 用法 快捷命令 作用
clashctl on clashon 启动 Mihomo 并设置终端/桌面代理
clashctl off clashoff 停止 Mihomo 并清除当前代理环境
clashctl restart clashrestart 重启 Mihomo 服务
clashctl status clashstatus 查看 systemd 服务状态和日志
clashctl proxy on|off|status clashproxy on|off|status 单独管理系统代理
clashctl ui [upgrade|change] clashui [upgrade|change] 查看、升级或切换 Web 面板
clashctl secret [密码] clashsecret [密码] 查看或修改 Web 密钥
clashctl update [URL|auto|log] clashupdate [URL|auto|log] 更新订阅、设置自动更新或查看日志
clashctl mixin [-e|-r] clashmixin [-e|-r] 查看/编辑 Mixin 或查看运行配置
clashctl tun [on|off] clashtun [on|off] 查看或切换 TUN 模式
clashctl upgrade clashupgrade 升级 Mihomo 最新稳定版
clashctl ghproxy [-e] ghproxy [-e] 查看或编辑 GitHub 加速地址

快捷命令适合日常使用,clashctl 形式便于统一记忆,两者效果相同。

优雅启停(终端环境+桌面环境)

$ clashon
🖥️ 检测到桌面环境,正在设置系统 GUI 代理...
😼 已开启代理环境

image-20260120164630043

$ clashoff
😼 已关闭代理环境

image-20260120165007264

  • 启停代理内核的同时,设置系统代理。
  • 亦可通过 clashproxy 单独控制系统代理。

服务管理常用命令:

clashstatus          # 查看 Mihomo systemd 状态
clashrestart         # 重启 Mihomo
clashproxy status    # 查看系统代理状态
clashproxy on        # 只开启系统代理,不改变服务状态
clashproxy off       # 只关闭系统代理,不停止 Mihomo

Web 控制台

$ clashui
╔═══════════════════════════════════════════════╗
║                😼 Web 控制台                  ║
║═══════════════════════════════════════════════║
║                                               ║
║     🔓 注意放行端口:9090                      ║
║     🏠 内网:http://192.168.0.1:9090/ui       ║
║     🌏 公网:http://255.255.255.255:9090/ui   ║
║     ☁️ 公共:http://board.zash.run.place      ║
║                                               ║
╚═══════════════════════════════════════════════╝

$ clashsecret 666
😼 密钥更新成功,已重启生效

$ clashsecret
😼 当前密钥:666

$ clashui upgrade
✅ metacubexd 已准备为稳定版 v1.270.6

$ clashui change
当前 Web 控制面板:metacubexd
当前支持的面板:
  1. metacubexd
  2. zashboard
请选择面板 [1/2]:
  • 通过浏览器打开 Web 控制台,实现可视化操作:切换节点、查看日志等。
  • clashui upgrade 会识别当前选择的面板并检测版本,仅在存在更新时下载对应面板的最新稳定版。
  • clashui change 会显示当前面板并直接要求选择。选择相同面板时执行版本检测和升级,选择不同面板时下载并切换,同时更新 external-ui 并重启 Mihomo。
  • 面板切换或更新后请强制刷新浏览器缓存。
  • 若暴露到公网使用建议定期更换密钥。

GitHub 加速配置

$ ghproxy
😼 GitHub 加速地址(按顺序尝试):
  https://gh-proxy.org

$ ghproxy -e
  • 配置文件每行填写一个 GitHub 加速地址;也支持使用分号或空格分隔;空文件表示只使用 GitHub 官方链接。
  • 配置多个地址后,下载和更新会依次尝试这些地址,不再回退到官方链接。
  • ghproxy -e 固定使用 vim 编辑 /opt/clash/github-proxy,保存后立即生效,适用于 clashupgradeclashui upgrade 等后续下载。
  • 编辑时每行写一个地址;清空文件并保存即可改为只使用 GitHub 官方链接。

更新订阅

$ clashupdate https://example.com
👌 正在下载:原配置已备份...
🍃 下载成功:内核验证配置...
🍃 订阅更新成功

$ clashupdate auto [url]
😼 已设置定时更新订阅

$ clashupdate log
✅ [2025-02-23 22:45:23] 订阅更新成功:https://example.com
  • clashupdate 会记住上次更新成功的订阅链接,后续执行无需再指定。
  • clashupdate URL 立即使用新链接更新;clashupdate 不带参数时沿用上次成功的链接。
  • clashupdate auto [URL] 创建每天0点执行一次的定时任务;不提供 URL 时使用当前保存的链接。
  • clashupdate log 查看最近的订阅更新记录。
  • 可通过 crontab -e 修改定时更新频率及订阅链接。
  • 通过配置文件进行更新:pr#24

Tun 模式

$ clashtun
😾 Tun 状态:关闭

$ clashtun on
😼 Tun 模式已开启
  • 作用:实现本机及 Docker 等容器的所有流量路由到 clash 代理、DNS 劫持等。
  • 原理:clash-verge-revclash.wiki
  • 注意事项:#100

Mixin 配置

$ clashmixin
😼 less 查看 mixin 配置

$ clashmixin -e
😼 vim 编辑 mixin 配置

$ clashmixin -r
😼 less 查看 运行时 配置
  • 持久化:将自定义配置项写入Mixinmixin.yaml),而非原订阅配置(config.yaml),可避免更新订阅后丢失。
  • 配置加载:代理内核启动时使用 runtime.yaml,它是订阅配置与 Mixin 配置的合并结果集,相同配置项以 Mixin 为准。
  • 注意:因此直接修改 config.yaml 并不会生效。

clashmixin 默认通过 less 查看 /opt/clash/mixin.yamlclashmixin -e 固定调用 vim 编辑。保存成功后会自动合并配置、验证并重启 Mihomo。clashmixin -r 只读查看最终生效的 /opt/clash/runtime.yaml

Web 密钥

clashsecret          # 查看当前密钥
clashsecret 123456   # 设置新密钥并重启 Mihomo

Web 控制台连接 Mihomo 时需要使用该密钥。修改成功后会自动更新运行配置并重启服务。

升级 Mihomo

clashupgrade
  • 只读取官方 latest Release,即只暴露稳定版升级渠道。
  • 会比较当前版本;已经是最新版时不会重复下载。
  • 新内核会先验证可执行性并备份旧内核;重启失败时自动恢复。
  • GitHub API 和内核下载遵循 ghproxy 中保存的地址顺序。

卸载

sudo bash uninstall.sh

卸载脚本会清除 Mihomo 服务、/opt/clash(包括 GitHub 加速配置)、安装时生成的 resources/bin、订阅定时任务、Shell/Fish 配置、桌面代理以及 Fish 代理环境临时文件(也会兼容清理旧版 /var/proxy)。仓库内自带的离线资源和用户预先放入 resources/config.yaml 的配置不会删除。

常见问题

wiki

About

在linux上完美使用mihomo/clash代理

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages