36605b061ef31111fe8cc7c49ae63aabd8a9b7c8
Linux 一键安装 Clash
因为有在服务器上使用代理的需求,试过大部分的开源脚本,总是遇到各种问题。于是自己动手,丰衣足食。对安装过程及后续使用进行了友好封装,部署使用起来优雅、简单、明确。
基于 Clash 项目作者删库前最新的 Premium 版本,如有需求可自行更换版本。
文末引用中收集了各种内核和 GUI 客户端版本的下载地址。
环境要求
- 需要
root或sudo权限。 - 具备
bash和systemd的系统环境。 - 已适配:
CentOS 7.x、Debian 12.x、Ubuntu 24.x
快速开始
一键安装脚本
Note
git clone https://ghp.ci/https://github.com/nelvko/clash-for-linux-install.git && cd clash-for-linux-install && sudo bash -c '. install.sh; exec bash'
Command
以下命令已集成到全局配置文件 bashrc 中,可直接在终端执行。
$ clashoff
😼 已关闭代理环境
$ clashon
😼 已开启代理环境
$ clashui
😼 Web 面板地址...
$ clashsecret
😼 当前密钥:''
$ clashupdate <url>
😼 配置更新成功,已重启生效
$ clashupdate log
2024-12-13 23:38:56 配置更新成功✅
- 使用
systemctl控制clash启停后,还需调整代理环境变量的值(http_proxy 等),因为wget、curl等命令会读取代理变量发送请求。 - 以上命令集成了上述流程。
定时更新配置
$ clashupdate --auto <url>
😼 定时任务设置成功
- 将命令末尾的
url替换为你的订阅链接,执行一次即可。会新建定时任务,每两天自动下载并覆盖配置文件。 - 可通过
crontab -e来修改更新频率及订阅链接。
Web 控制台设置密钥(推荐)
$ clashsecret <secret>
😼 密钥更新成功,已重启生效
- 启动时指定,优先级大于配置文件,更新订阅后不会丢失。
- 可修改文件
/etc/systemd/system/clash.service来指定其他启动参数。
卸载
sudo bash -c '. uninstall.sh; exec bash'
常见问题
下载失败或配置无效
bash: clashon: command not found
-
原因:使用
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
-
服务启动失败/未启动
引用
Todo
- 定时更新配置
- 😼
- 适配其他发行版
- 配置更新日志
- Tun 模式
- mixin 配置
- bug / 需求
Thanks
特别声明
-
编写本项目主要目的为学习和研究
Shell编程,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。 -
本项目保留随时对免责声明进行补充或更改的权利,直接或间接使用本项目内容的个人或组织,视为接受本项目的特别声明。
Languages
Shell
100%
