Skip to content

😼 优雅地使用基于 clash/mihomo 的代理环境

License

Notifications You must be signed in to change notification settings

shellus/clash-for-linux-install

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

181 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux 一键安装 Clash

GitHub License GitHub top language GitHub Repo stars

preview

  • 默认安装 mihomo 内核,可选安装 clash
  • 自动使用 subconverter 进行本地订阅转换。
  • 多架构支持,适配主流 Linux 发行版:CentOS 7.6Debian 12Ubuntu 24.04.1 LTS

快速开始

环境要求

  • 用户权限:rootsudo。(无权限可参考:#91
  • shell 支持:bashzsh

一键安装

下述命令适用于 x86_64 架构,其他架构请戳:一键安装-多架构

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

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

  • 上述克隆命令使用了加速前缀,如失效请更换其他可用链接
  • 默认通过远程订阅获取配置进行安装,本地配置安装详见:#39
  • 没有订阅?click me

命令一览

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

兼容多种命令风格

$ clash
Usage:
    clash     COMMAND [OPTION]
    mihomo    COMMAND [OPTION]
    clashctl  COMMAND [OPTION]
    mihomoctl COMMAND [OPTION]

Commands:
    on                   开启代理
    off                  关闭代理
    ui                   面板地址
    status               内核状况
    tun      [on|off]    Tun 模式
    mixin    [-e|-r]     Mixin 配置
    secret   [SECRET]    Web 密钥
    update   [auto|log]  更新订阅

优��启停

$ clashoff
😼 已关闭代理环境

$ clashon
😼 已开启代理环境
原理
  • 使用 systemctl 控制 clash 启停,并调整代理环境变量的值(http_proxy 等)。应用程序在发起网络请求时,会通过其指定的代理地址转发流量,不调整会造成:关闭代理但未卸载代理变量导致仍转发请求、开启代理后未设置代理地址导致请求不转发。
  • clashon 等命令封装了上述流程。

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
  • 通过浏览器打开 Web 控制台,实现可视化操作:切换节点、查看日志等。
  • 控制台密钥默认为空,若暴露到公网使用建议更新密钥。

更新订阅

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

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

$ clashupdate log
✅ [2025-02-23 22:45:23] 订阅更新成功:https://example.com
  • clashupdate 会记住上次更新成功的订阅链接,后续执行无需再指定。
  • 可通过 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 查看 运行时 配置
  • 将自定义配置写在 Mixin 而不是原配置中,可避免更新订阅后丢失自定义配置。
  • 运行时配置是订阅配置和 Mixin 配置的并集。
  • 相同配置项优先级:Mixin 配置 > 订阅配置。

卸载

sudo bash uninstall.sh

常见问题

wiki

引用

Star History

Star History Chart

Thanks

@鑫哥

特别声明

  1. 编写本项目主要目的为学习和研究 Shell 编程,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。
  2. 本项目保留随时对免责声明进行补充或更改的权利,直接或间接使用本项目内容的个人或组织,视为接受本项目的特别声明。

About

😼 优雅地使用基于 clash/mihomo 的代理环境

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%