Files
clash-for-linux/README.md
T

701 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 align="center">
🐧 Clash for Linux</a>
<br>
</h1>
<p align="center">
💬 社区交流:<a href="https://t.me/+NsYaX9kzqERlNzZl">Telegram 群</a>
</p>
<h3 align="center">
一个更完整、更优雅的 Linux Clash / <a href="https://github.com/MetaCubeX/mihomo">Mihomo</a> 运行平台。
</h3>
<p align="center">
<img src="resources/shell.png" width="100%">
</p>
# ✨ 核心特性
- 🚀 **自动识别系统架构**:自动下载并使用对应 Clash 内核
- 🧪 **端口自动检测与分配**:避免冲突
- 🔄 **多订阅管理**:可以保存多个订阅,通过 `clash use` 切换当前主订阅。
- 💫 **节点选择**:使用编号交互选择策略组和节点。
- 🌐 **Tun 模式**:用于透明代理接管场景(需root方式安装)。
- 🧠 **Mixin 机制**:可按需追加/覆盖 Clash 配置
- 👤 **不同权限**:兼容 `root` 与普通用户环境。
- 🔐 **安全默认配置**:自动生成或自定义 Secret
- 🩺 **内置诊断工具(`doctor`)**:快速排障
### 适用场景
- Linux 云服务器(VPS / 远程开发环境)
- 本地开发环境(Ubuntu / Debian / WSL)
- 路由 / 轻量系统(OpenWrt / NAS / 小主机 x86 / ARM)
- 需要稳定访问 GitHub、Go / Node / Docker 生态的开发者
- 不希望手动维护 Clash 运行状态的用户
# 🚀 一键安装(推荐)
在终端中执行以下命令即可完成安装:
```
git clone --branch master --depth 1 https://ghfast.top/https://github.com/wnlen/clash-for-linux.git
cd clash-for-linux
bash install.sh
```
- 上述命令使用了[加速前缀](https://gh-proxy.org/),如失效可更换其他[可用链接](https://ghproxy.link/)。
- 可通过 `.env` 文件或脚本参数自定义安装选项。
- 在 WSL 环境中,不支持放在 Windows 挂载目录**/mnt/c/**下,请安装到 Linux 原生目录。
------
## ⌨️ 命令一览
```bash
〽️ 常用命令
clashon 🚀 开启代理
clashoff ⛔ 关闭代理
clash select 💫 选择节点
clash mode 🧭 查看或切换路由模式
clashtest 🌐 测试当前节点访问 Google / YouTube
🕹️ 控制台
clashui 🕹️ 查看 Web 控制台
📦 订阅
clash add ➕ 添加订阅
clash add local ➕ 从 runtime/subscriptions 导入本地订阅
clash use 💱 切换订阅
clash ls 📜 查看订阅列表
🔐 密钥管理
clash secret 🔑 查看密钥
clash secret 123 🔐 设置密钥
📌 高级
clash lan 🏠 局域网代理管理
clash ipv6 🌐 IPv6 / IPv6-only 节点管理
clash tun 🧪 Tun 模式管理(需root方式安装)
clash boot 🚦 开机代理接管管理
clash mixin 🧩 Mixin 配置管理
clash relay 🔗 多跳节点管理
clash sub 🧩 订阅高级管理(启用 / 禁用 / 重命名 / 删除)
clash upgrade 🚀 升级当前或指定内核
clash update 🔄 更新项目代码
📜 日志
clash doctor 🩺 诊断面板
clash log/logs 📜 查看日志
💡 显示更多帮助命令:clash -h
```
`clashctl` 旧入口继续保留兼容;新文档、帮助和终端提示统一使用更简洁的 `clash`。
------
## 🧭 路由模式与节点连通性
```bash
clash mode
clash mode global
clash mode rule
clash mode direct
clash test
clashtest
clashtest "节点选择"
```
- `clash mode` 查看当前的 Clash 路由模式,支持切换 `rule`、`global`、`direct`。
- `global` 模式使用 `GLOBAL` 策略组当前选择的策略组或节点;如需调整可执行 `clash select`。
- `clash test` 与 `clashtest` 等价,默认测试当前路由模式对应的策略组当前选择能否访问 Google 和 YouTube,并显示延迟。
- 连通性测试不会切换节点;任一目标不可访问时命令返回非零状态,便于脚本判断。
------
## 🌐 Web 控制台
```bash
$ clashui
╔═══════════════════════════════════════════════╗
║ 🐱 Web 控制台 ║
║═══════════════════════════════════════════════║
║ ║
║ 🔓 注意放行端口:9090 ║
║ 📶 状态:可访问 ║
║ 🏠 内网:http://192.168.0.1:9090/ui ║
║ ☁️ 公共:http://board.zash.run.place ║
║ 🌏 公网:http://8.8.8.8:9090/ui ║
║ 🔑 密钥:dada289edb457b59 ║
║ ║
╚═══════════════════════════════════════════════╝
$ clashsecret mysecret
🐱 密钥更新成功,已重启生效
$ clashsecret
🐱 当前密钥:mysecret
```
- 可通过浏览器打开 `Web` 控制台进行可视化操作,例如切换节点、查看日志等。
- `clash secret` 与 `clashsecret` 都支持无参数查看、有参数直接设置。
- 默认使用 [zashboard](https://github.com/Zephyruso/zashboard) 作为控制台前端,如需更换可自行配置。
- 控制台中的“浏览器出口 IP”由访问面板的浏览器发起查询,可能与远端 Mihomo 的代理出口不同;远端出口请在服务器上通过本地代理端口查询。
- 运行配置会把 `external-ui` 指向本地 Dashboard 目录,并把 `external-ui-url` 指向 zashboard 的 `dist.zip` 下载地址;面板内 `/upgrade/ui` 会使用该地址更新前端。
- 若需将控制台暴露到公网,建议定期更换访问密钥,或通过 `SSH` 端口转发方式进行安全访问。
------
## 🏠 局域网代理
项目默认开启局域网代理:运行配置会写入 `allow-lan: true`,并把 `external-controller` 绑定到 `0.0.0.0`,避免订阅文件里的 `allow-lan: false` 覆盖项目默认值。
```bash
clash lan status
clash lan on
clash lan off
```
开启后,同一局域网设备可把 HTTP / SOCKS 代理地址设置为 `http://<本机局域网IP>:<mixed-port>`,端口默认是 `7890`;如访问不了,请检查系统防火墙是否放行该端口。
------
## 🌐 IPv6 / Hysteria2
Mihomo 支持 Hysteria2。若节点服务端只有 IPv6 地址,需要同时启用内核 IPv6 与 DNS AAAA:
```bash
clash config kernel mihomo
clash ipv6 on
clash ipv6 status
```
其他可用操作:
```bash
clash ipv6 off
clash ipv6 auto
```
- `on`:同时写入 `ipv6: true` 和 `dns.ipv6: true`。
- `off`:同时关闭内核 IPv6 与 DNS AAAA。
- `auto`:保留订阅原有的 IPv6 设置;订阅未配置时继续使用兼容默认值。
- 使用 IPv6-only 节点前,宿主机仍需具备可用的 IPv6 默认路由。HY2 使用 UDP / QUIC,网络或防火墙也必须允许相应 UDP 流量。
也可以在 `.env` 中设置 `CLASH_IPV6=true`、`false` 或 `auto`,然后执行 `clash config regen`。
------
OpenWrt 下 root/system 安装会把 `clash`、`clashon`、`clashoff` 等命令入口写入 `/usr/bin`,运行状态、日志和内核二进制仍保存在项目目录的 `runtime/` 下。仅脚本模式不会注册开机自启,设备重启后需要重新执行 `clashon`。
## 🧰 常用管理命令
### 多订阅管理
```
clash add <订阅链接> <名称>
clash use
clash ls
clash sub update
clashsub update # 兼容旧版命令
clash sub
clash sub list
clash sub enable <名称>
clash sub disable <名称>
clash sub rename <旧名称> <新名称>
clash sub remove <名称>
```
WSL / 普通用户如果无权写入 `/etc/environment`,`clashon` 会自动降级:运行时照常启动,当前 Shell 代理变量生效;系统代理持久接管和开机代理保持不可用。
### 本地配置导入
推荐使用交互导入,放置目录为:`$PROJECT_DIR/runtime/subscriptions/`
```bash
clash add local
# 输入:clash.yaml
```
实际等价于:
```bash
clash add "file://$PROJECT_DIR/runtime/subscriptions/clash.yaml"
```
进阶用法:也可以直接使用 `file://` 绝对路径导入:
```bash
clash add "file:///绝对路径/clash.yaml" home
```
支持格式:
- Clash / Mihomo YAML
- Base64 订阅
- 分享链接(`vmess` / `vless` / `trojan` / `tuic` / `hysteria2` / `hy2` / `anytls`)
### 开机接管(内核 + 代理)
```bash
clash boot status
clash boot on
clash boot off
clash boot runtime on|off|status
clash boot proxy on|off|status
```
- `boot runtime`:只管理内核开机自启(systemd / systemd-user 可用,script 后端为 `unsupported`)。
- `boot proxy`:只管理 `/etc/environment` 中的代理持久块(决定开机后是否自动保持代理变量)。
- `boot`:整体接管开关,等价于同时编排 runtime + proxy 两层状态。
------
## OpenWrt 脚本模式
当前提供 OpenWrt 脚本模式兼容,适合 x86_64/amd64 与 aarch64/arm64 软路由或设备。该模式复用现有 `script` 运行后端,不包含 procd 开机自启、LuCI、UCI 或 opkg 包化支持,也不承诺 MIPS 与 armv7 设备可用。
建议先将项目放到持久化目录,避免放在 `/tmp`、`/run` 等重启会丢失的位置:
```bash
cd /root
git clone --branch master --depth 1 https://ghfast.top/https://github.com/wnlen/clash-for-linux.git
cd clash-for-linux
```
安装依赖:
```bash
opkg update
opkg install bash curl tar gzip coreutils-readlink unzip
```
安装与手动管理:
```bash
bash install.sh
clashon
clash status
clashoff
```
OpenWrt 下 root/system 安装会把 `clash`、`clashon`、`clashoff` 等命令入口写入 `/usr/bin`,运行状态、日志和内核二进制仍保存在项目目录的 `runtime/` 下。仅脚本模式不会注册开机自启,设备重启后需要重新执行 `clashon`。
## 🏗️ 架构设计架构简述
项目当前可以按三层理解:
### Control
用户入口层。
- `clash`
- `clashon`
- `clashoff`
- `status`
- `doctor`
- `ui`
- `select`
Control 层负责把常用动作收口成可理解的命令和反馈。
### Build
配置生成层。
- 多订阅保存
- 单 active 主订阅
- active-only 编译链
- 订阅下载 / 转换 / 校验
- `runtime/mixin.yaml` 运行补丁(兼容读取 `config/mixin.yaml`)
- 输出 `runtime/config.yaml`
当前规则很明确:`generate_config` 只处理当前 active 主订阅。
### Runtime 说明(重要)
`runtime/` 是运行时目录,不是配置目录。
它的作用是作为“唯一运行容器”,用于存放:
\- 运行内核(mihomo / clash)
\- 运行配置(config.yaml)
\- 订阅状态(subscriptions.yaml)
\- dashboard 前端
\- 日志(logs)
\- 构建中间文件(tmp)
这些内容都是 **install / 运行过程中动态生成的**,不会作为仓库内容长期维护。
## 配置说明
### `.env`
`.env` 用于覆盖安装和运行参数。常用项包括:
```bash
KERNEL_TYPE=mihomo
MIXED_PORT=7890
EXTERNAL_CONTROLLER=0.0.0.0:9090
CLASH_CONTROLLER_SECRET=your-secret
CLASH_SUBSCRIPTION_URL=https://example.com/sub
MIHOMO_VERSION=v1.19.23
CLASH_VERSION=v1.18.0
YQ_VERSION=v4.52.4
SUBCONVERTER_VERSION=v0.9.9
MIHOMO_DOWNLOAD_BASE=https://github.com/MetaCubeX/mihomo/releases/download
CLASH_DOWNLOAD_BASE=https://github.com/WindSpiritSR/clash/releases/download
CLASH_BUNDLED_ASSET_ENABLED=true
CLASH_GH_PROXY_ENABLED=true
CLASH_OFFLINE=false
CLASH_SHELL_AUTO_RESTORE_PROXY=true
CLASH_PREDOWNLOAD_GEO=true
CLASH_IPV6=auto
```
按需设置即可,不需要每项都写。
- `CLASH_SHELL_AUTO_RESTORE_PROXY`:控制登录 Shell 是否自动恢复上次 `clashon` 写入的代理变量。默认 `true` 保持兼容;如果不希望 SSH 远程登录后自动带上 `http_proxy` / `https_proxy`,设为 `false`,之后仍可手动执行 `clashon`。
- `CLASH_PREDOWNLOAD_GEO`:控制安装期是否预下载 GEO 数据。默认 `true`,会提前下载 `Country.mmdb`、`geoip.metadb`、`GeoIP.dat`、`GeoSite.dat` 等规则分流常用资源;临时部署、只想先跑起来时可设为 `false` 跳过安装期预下载。注意:当最终运行配置实际使用 `GEOIP` 规则时,启动前仍会按需准备 `Country.mmdb`,否则 Mihomo 无法可靠加载该配置。
- `CLASH_IPV6`:可设为 `true`、`false` 或 `auto`。`true` 同时启用内核 IPv6 与 DNS AAAA,适用于 IPv6-only 节点;`auto` 保留订阅中的 IPv6 设置。
- `CLASH_SUBSCRIPTION_UA`:覆盖拉取订阅时的 User-Agent。默认使用 `clash-verge/v2.4.0`,以便订阅服务返回 Mihomo 支持的 Hysteria2、AnyTLS 等现代协议节点;如果服务商有专用 UA 要求,可在此显式设置。
#### GitHub 下载加速
所有来自 GitHub 的资源(内核、按需 GEO 数据、yq、subconverter、Dashboard)在下载时会自动尝试内置镜像池(`gh-proxy.org`、`ghfast.top`、`ghproxy.net`、`kkgithub.com`),无需额外配置即可加速。
如果当前网络可以稳定直连 GitHub,可在 `.env` 中关闭镜像,只使用 GitHub 原站:
```bash
CLASH_GH_PROXY_ENABLED=false
```
如果默认镜像不满足需求,可在 `.env` 中指定自定义加速前缀:
```bash
# 单个自定义镜像(优先于内置镜像池)
CLASH_GH_PROXY=https://ghfast.top
# 自定义镜像池(完全替换内置池,格式:label|prefix|mode,mode 可选 full/hostpath)
# CLASH_GH_PROXY_POOL="mymirror|https://mirror.example.com|full"
```
可用镜像列表参考:<https://ghproxy.link/>
当前镜像使用状态可通过 `clash doctor` 查看。
该开关只控制 `bash install.sh`、`clash update`、`clash upgrade` 等脚本下载的 GitHub 资源,不会改变此前用于获取项目代码的 `git clone` 地址。如需从原站克隆,请使用:
```bash
git clone --branch master --depth 1 https://github.com/wnlen/clash-for-linux.git
```
### 内置运行依赖
当前正式支持的架构为 `amd64`、`arm64`、`armv7`。超出这三种架构时会明确失败,不会伪装成已支持。
如果安装环境访问 GitHub 很慢,可以把 Mihomo/Clash、yq、subconverter 的刚需文件跟随项目一起分发。安装和 `clash upgrade` 会优先读取 `resources/bin` 中与当前版本、架构对应的精确文件名;普通在线模式下,本地没有对应文件时会回退到远程下载。
推荐路径直接放在分类目录下:
```text
resources/bin/mihomo/mihomo-linux-amd64-compatible-v1.19.23.gz
resources/bin/mihomo/mihomo-linux-arm64-v1.19.23.gz
resources/bin/mihomo/mihomo-linux-armv7-v1.19.23.gz
resources/bin/clash/clash-linux-amd64-v1.18.0.gz
resources/bin/clash/clash-linux-arm64-v1.18.0.gz
resources/bin/clash/clash-linux-armv7-v1.18.0.gz
resources/bin/yq/yq_linux_amd64.tar.gz
resources/bin/yq/yq_linux_arm64.tar.gz
resources/bin/yq/yq_linux_arm.tar.gz
resources/bin/subconverter/subconverter_linux64.tar.gz
resources/bin/subconverter/subconverter_aarch64.tar.gz
resources/bin/subconverter/subconverter_armv7.tar.gz
resources/geo/Country.mmdb
```
版本仍由 `.env` 中的 `MIHOMO_VERSION`、`CLASH_VERSION`、`YQ_VERSION`、`SUBCONVERTER_VERSION` 控制。脚本不会扫描目录,也不会自动选择最高版本;如果升级版本,请同步放入新版本对应文件,或让脚本回退到远程下载。
也可以设置 `CLASH_BUNDLED_ASSET_ENABLED=false` 强制跳过内置文件,或用 `CLASH_BUNDLED_ASSET_DIR=/path/to/assets` 指向项目外的资源目录。Mihomo、yq、subconverter 兼容旧路径 `resources/bin/<category>/<version>/<file>`。
#### 离线资源包
推荐在有代理或网络较好的设备上,按目标主机架构生成资源包:
```bash
# 查看将要下载的文件,不产生网络请求
bash scripts/prefetch-assets.sh --arch amd64 --dry-run
# 生成 amd64 + Mihomo 资源包
bash scripts/prefetch-assets.sh \
--arch amd64 \
--kernel mihomo \
--output clash-assets-mihomo-amd64.tar.gz
```
支持的目标架构为 `amd64`、`arm64`、`armv7`。脚本默认包含内核、yq、subconverter 和五个 GEO 文件,只打包 `resources/` 静态资源,不会把本机的订阅、日志、密钥或其他 `runtime/` 状态带入资源包。压缩包同时包含版本/架构清单与 `SHA256SUMS`。
把项目和资源包复制到目标主机,在项目根目录执行:
```bash
tar -xzf clash-assets-mihomo-amd64.tar.gz
bash install.sh --offline
```
`--offline` 等价于本次安装设置 `CLASH_OFFLINE=true`。安装脚本会先集中检查架构、版本、校验和及所有必需文件;有任何缺失都会明确列出并停止,不会静默回退到 GitHub。也可以和安装范围一起使用:
```bash
bash install.sh system --offline
bash install.sh user --offline
```
严格离线安装时,订阅也不能使用远程 URL。可暂时不配置订阅,或者提前准备 Clash YAML 并通过 `file:///绝对路径/config.yaml` 导入。使用 `--no-geo` 生成精简资源包时,目标项目还需要设置 `CLASH_PREDOWNLOAD_GEO=false`;若最终配置使用 `GEOIP`,仍须提供 `Country.mmdb`。
### `runtime/mixin.yaml`(兼容 `config/mixin.yaml`)
用于对最终运行配置做补丁:
- `override` 覆盖字段
- `prepend` 把数组项放到原始配置前面
- `append` 把数组项放到原始配置后面
查看当前模板:
```bash
clash mixin
```
编辑:
```bash
clash mixin edit
```
查看最终运行配置:
```bash
clash mixin runtime
```
###
------
## 🔄 更新
```bash
clash update
clash upgrade
clash upgrade mihomo
clash upgrade clash
```
`update` 用于更新项目代码与运行依赖。`upgrade` 用于升级当前或指定代理内核。
------
## 🧩 Mixin 配置
```bash
clash mixin
clash mixin edit
clash mixin raw
clash mixin runtime
```
Mixin 是运行配置补丁,不是订阅管理。它优先通过 `runtime/mixin.yaml`(兼容读取 `config/mixin.yaml`)对当前 active 订阅生成的运行配置执行:
- `override`
- `prepend`
- `append`
示例:
```yaml
override:
dns:
enable: true
prepend:
proxies: []
proxy-groups: []
rules:
- DOMAIN-SUFFIX,example.com,DIRECT
append:
proxies: []
proxy-groups: []
rules:
- MATCH,节点选择
```
编辑后执行:
```bash
clash mixin edit
```
它会重新生成配置;如果代理正在运行,会自动重启应用。
### 多跳节点
多跳节点会写入 `runtime/mixin.yaml`(兼容读取 `config/mixin.yaml`),通过 Mihomo/Clash 的 `relay` 策略组串联已有订阅节点。节点名称必须与订阅生成的节点名完全一致,可先通过 Web 控制台确认:
```bash
clashon
clashui
```
按域名小范围测试:
```bash
clash relay add 多跳-示例 节点A 节点B --domain example.com
clash relay list
```
也可以使用快捷入口:`clashrelay list`。
全局接管:
```bash
clash relay add 全局多跳 节点A 节点B --match
```
`--match` 会让所有未提前命中的流量走多跳,建议先用 `--domain` 验证链路。删除多跳配置:
```bash
clash relay remove 多跳-示例
```
------
## 🌐 Tun 模式
```bash
clash tun on
clash tun off
clash tun on-proxy-off
clash tun off-proxy-on
clash tun doctor
clash tun logs
```
Tun 用于透明接管链路。`tun on` 只负责开启 Tun,不会自动关闭系统代理;如需切换到 Tun 接管并关闭系统代理,使用 `clash tun on-proxy-off`。如需关闭 Tun 并恢复普通系统代理模式,使用 `clash tun off-proxy-on`。
`clash doctor` 会检查 Tun 与系统代理是否同时开启;如果同时开启,会提示 `clash tun on-proxy-off`,避免流量接管路径重复或排障混淆。
`tun on` 是动作反馈,展示当前关键配置和简短状态;完整证据请看:
```bash
clash tun doctor
```
Tun 判断不会简单把 `root` 等同于拥有 `CAP_NET_ADMIN`,也不会把 main table 默认路由未切换直接等同于 Tun 未生效。诊断会结合运行后端、容器环境、进程能力、Tun adapter、policy routing、路由表和日志证据。
------
## 🧹 卸载
```
bash uninstall.sh
```
默认执行完整卸载:停止 mihomo/subconverter,关闭系统代理持久接管,删除 systemd/脚本入口、`clash`、命令补全、shell alias、shell proxy 持久状态、controller secret 和运行目录。完整卸载完成后,脚本会提示其他卸载方式。
`--purge-runtime` 保留为兼容别名;默认卸载已经会清理运行目录。
如需只移除入口并保留 `runtime/` 数据:
```bash
bash uninstall.sh --keep-runtime
```
开发调试时只清安装状态、保留订阅与下载缓存:
```bash
bash uninstall.sh --dev-reset
```
如需完整卸载后连项目目录也移走:
```bash
bash uninstall.sh --remove-project
```
该命令会要求输入完整项目路径确认,并把项目目录移动到 `~/.local/share/clash-for-linux-backups/` 下,便于误操作恢复。非交互脚本可显式传入 `--yes`。
## 设置代理
1. 开启 IP 转发
```bash
echo "net.ipv4.ip_forward = 1" | tee -a /etc/sysctl.conf
sysctl -p
```
2.配置iptables
```bash
# 先清空旧规则
iptables -t nat -F
# 允许本机访问代理端口
iptables -t nat -A OUTPUT -p tcp --dport 7890 -j RETURN
iptables -t nat -A OUTPUT -p tcp --dport 7891 -j RETURN
iptables -t nat -A OUTPUT -p tcp --dport 7892 -j RETURN
# 让所有 TCP 流量通过 7892 代理
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 7892
# 保存规则
iptables-save | tee /etc/iptables.rules
```
3. 让 iptables 规则开机生效
在 `/etc/rc.local`(或 `/etc/rc.d/rc.local`)加上:
```bash
#!/bin/bash
iptables-restore < /etc/iptables.rules
exit 0
```
```bash
chmod +x /etc/rc.local
```
## 🔗 引用
- [clash](https://clash.wiki/)
- [mihomo](https://github.com/MetaCubeX/mihomo)
- [subconverter](https://github.com/asdlokj1qpi233/subconverter)
- [zashboard](https://github.com/Zephyruso/zashboard)
## 参考与致谢
本项目在持续优化 Linux Clash / Mihomo 使用体验的过程中,参考了社区中一些优秀项目的命令行交互风格与目录组织方式,其中包括:
- [nelvko/clash-for-linux-install](https://github.com/nelvko/clash-for-linux-install)
本项目并非上述项目的 fork,也不是基于其代码直接二次开发;核心实现为独立编写,并在后续维护中逐步演进为当前架构。
感谢相关开源项目对 Linux Clash / Mihomo 使用体验的探索。
# 常见问题
1. 部分Linux系统默认的 shell `/bin/sh` 被更改为 `dash`,运行脚本会出现报错(报错内容一般会有 `-en [ OK ]`)。建议使用 `bash xxx.sh` 运行脚本。
2. 部分用户在UI界面找不到代理节点,基本上是因为厂商提供的clash配置文件是经过base64编码的,且配置文件格式不符合clash配置标准。
目前此项目已集成自动识别和转换clash配置文件的功能。如果依然无法使用,则需要通过自建或者第三方平台(不推荐,有泄露风险)对订阅地址转换。
3. 程序日志中出现`error: unsupported rule type RULE-SET`报错,解决方法查看官方[WIKI](https://github.com/Dreamacro/clash/wiki/FAQ#error-unsupported-rule-type-rule-set)
## ⭐ Star History
[![Star History Chart](https://star-history.dera.page/svg?repos=wnlen/clash-for-linux)](https://star-history.dera.page/#wnlen/clash-for-linux)
## ⚠️ 特别声明
1. 编写本项目主要目的为学习和研究 `Shell` 编程,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。
2. 本项目保留随时对免责声明进行补充或更改的权利,直接或间接使用本项目内容的个人或组织,视为接受本项目的特别声明。