Skip to content

ma-huan/clash-for-linux-install

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux 一键部署 Clash

因为有在服务器上搭建代理环境的需求,试过大部分的开源脚本,总是遇见各样的问题,于是自己动手,丰衣足食。对安装过程及后续使用进行了友好封装,部署使用起来优雅、简单、明确。

基于 Clash 项目作者删库前最新的Premium版本,如有需求可自行更换版本。

文末引用中收集了各种内核和 GUI 客户端版本的下载地址。

环境要求

  • 需要 root 权限。
  • 基于 bashshell 环境。
  • 普通用户请使用 sudo 执行相应脚本。

快速开始

一键安装脚本

git clone https://ghp.ci/https://github.com/nelvko/clash-for-linux-install.git && cd clash-for-linux-install && . install.sh

Command

以下命令已集成到bashrc中,可直接在终端执行。

# 关闭代理环境
clashoff

# 启动代理环境
clashon

# 打印 ui 地址
clashui

# 手动更新配置文件
clashupdate <url>
  • 使用 systemctl 控制启停后,还需要再修改下代理变量(http_proxy 等),否则会影响正常使用:例 curl命令无代理环境时走代理发送请求,有代理环境时不走代理。
  • 以上命令(函数)集成了上述流程。
  • 普通用户每次执行都需要验证用户密码,推荐使用sudo

定时更新配置

将命令末尾的url替换为你的订阅链接后执行即可,会新建定时任务间隔 48h 更新一次配置文件。

xargs -I {} sed -i '/clashupdate/s/url/{}/' /var/spool/cron/root <<< url

也可通过crontab -evi /var/spool/cron/root 来修改更新频率及订阅链接。

Web 控制台设置密钥(推荐)

步骤参考:issue#7

卸载

恢复如初。

. uninstall.sh

Tips

几种运行方式的区别

bash 命令运行

# 需要有可执行权限
./install.sh

# 不需要可执行权限,需要读权限
bash ./install.sh
  • 当前 shell 开启一个子 shell 来执行脚本,对环境的修改仅影响该子 shell 和其子进程,当前 shell 不会生效。
  • 使当前终端生效需要再配置代理环境变量,或者退出终端重新登录。

shell 内建命令运行

# 不需要可执行权限,需要读权限
. install.sh
source install.sh
  • 脚本在当前 shell 环境中执行,变量和函数的定义对当前 shell 有效,无需再设置代理变量或重新登陆。

引用

Todo

Thanks

@鑫哥

特别声明

  1. 编写本项目主要目的为学习和研究Shell编程,不得将本项目中任何内容用于违反国家/地区/组织等的法律法规或相关规定的其他用途。

  2. 本项目保留随时对免责声明进行补充或更改的权利,直接或间接使用本项目内容的个人或组织,视为接受本项目的特别声明。

About

优雅地部署基于 Clash 的代理环境。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 100.0%