因为有在服务器上使用代理的需求,试过很多开源脚本,总是遇到各种问题。于是自己动手,丰衣足食。对安装过程及后续使用进行了友好封装,部署使用起来优雅、简单、明确。
基于 Clash
项目作者删库前最新的 Premium
版本,可自行更换其他内核版本。
文末引用中收集了各种内核和 GUI
客户端版本的下载地址。
- 需要
root
或sudo
权限。 - 具备
bash
和systemd
的系统环境。 - 已适配:
CentOS 7.x
、Debian 12.x
、Ubuntu 24.x
。
Note
git clone https://ghgo.xyz/https://github.com/nelvko/clash-for-linux-install.git && cd clash-for-linux-install && sudo bash -c '. install.sh; exec bash'
$ clash
Usage:
clashon 开启代理
clashoff 关闭代理
clashui 面板地址
clashtun [on|off] Tun模式
clashsecret [secret] 查看/设置密钥
clashmixin [-e|-r] Mixin配置
clashupdate [auto|log] 更新订阅
$ clashoff
😼 已关闭代理环境
$ clashon
😼 已开启代理环境
$ clashui
😼 Web 面板地址...
- 使用
systemctl
控制clash
启停后,还需调整代理环境变量的值(http_proxy 等)。因为应用程序在发起网络请求时,会通过其指定的代理转发流量,不调整会造成关闭代理后仍转发导致请求失败,开启代理同理。 - 以上命令集成了上述流程。
$ clashupdate [url]
😼 配置更新成功,已重启生效
$ clashupdate auto [url]
😼 定时任务设置成功
$ clashupdate log
✅ 2024-12-13 23:38:56 配置更新成功 ...
- 不指定
url
默认使用安装时填的订阅。 - 通过粘贴配置内容安装的,更新配置步骤:pr#24
- 可通过
crontab -e
修改更新频率及订阅链接。 - 依赖
yq
命令实现Mixin
,如下载失败请自行安装到PATH
路径内。
$ clashsecret xxx
😼 密钥更新成功,已重启生效
$ clashsecret
😼 当前密钥:xxx
$ clashtun
😼 Tun 状态:关闭
$ clashtun on
😼 Tun 模式已开启
- 作用:实现本机所有流量路由到
clash
代理、DNS 劫持等。 - 原理:clash-verge-rev、 clash.wiki。
$ clashmixin
😼 查看 mixin 配置
$ clashmixin -e
😼 编辑 mixin 配置
$ clashmixin -r
😼 查看 运行时 配置
- 运行时配置是订阅配置和
Mixin
配置的并集,Mixin
配置优先级大于订阅配置。 - 作用:防止更新订阅后丢失自定义配置。
sudo bash -c '. uninstall.sh; exec bash'
-
原因:使用
bash install.sh
执行脚本不会对当前shell
生效。 -
解决:当前
shell
执行下bash
。 -
几种运行方式的区别:
-
bash
命令运行:当前shell
开启一个子shell
执行脚本,对环境的修改不会作用到当前shell
,因此不具备clashon
等命令。# 需要有可执行权限 $ ./install.sh # 不需要可执行权限,需要读权限 $ bash ./install.sh
-
shell
内建命令运行:脚本在当前shell
环境中执行,变量和函数的定义对当前shell
有效,root
用户推荐这种方式执行脚本。# 不需要可执行权限,需要读权限 $ . install.sh $ source uninstall.sh
-
- 定时更新配置
- 😼
- 适配其他发行版
- 配置更新日志
- Tun 模式
- mixin 配置
- bug / 需求
- 编写本项目主要目的为学习和研究
Shell
编程,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。 - 本项目保留随时对免责声明进行补充或更改的权利,直接或间接使用本项目内容的个人或组织,视为接受本项目的特别声明。