Linux安装Clash
文章更新:
2021-09-04:重写定时更新的脚本,原设置完全不起作用
2021-08-14:修正错误,设置系统代理应补全地址,shell配置文件中https代理应写成http
2021-08-13:加入“设置部分程序的代理”一节
安装:
https://github.com/Dreamacro/clash/releases
下载对应版本,因为主机是树莓派,这里选择armv7,用uname -a可以看到
下载后改权限,解压,放到/opt/clash文件夹
下载配置信息等
sudo wget -O config.yaml [订阅链接]sudo wget -O Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb
clash的配置文件在~/.config/clash/config.yaml,打开
修改外部控制设置(external-controller)地址为:0.0.0.0:9990,使内外网都可以访问这个地址
设置系统代理:
sudo nano /etc/environment
加入以下三行
export http_proxy=”http://127.0.0.1:7890″export https_proxy=”http://127.0.0.1:7890″export no_proxy=”localhost, 127.0.0.1″
修改sudo文件
sudo visudo
加入
Defaults env_keep+=”http_proxy https_proxy no_proxy”
重启
reboot
设置部分程序的代理:
有些程序不走系统代理,需要单独配置,下面以git为例
git config –global http.proxy ‘http://127.0.0.1:7890’
shell最好也设一下,以zsh为例
# .zshrc最后加入set proxyexport http_proxy=”http://127.0.0.1:7890″export https_proxy=”http://127.0.0.1:7890″
设置外部控制ui:
git clone https://github.com/Dreamacro/clash-dashboard.gitcd clash-dashboardgit checkout -b gh-pages origin/gh-pages
在~/.config/clash/config.yaml中设置好ui地址和访问密码
访问路径为:外部控制地址/ui,填入ip、端口、密码即可访问
设置clash开机启动:
将配置文件移动到/etc
sudo mv ~/.config/clash /etc
添加启动信息
sudo vim /etc/systemd/system/clash.service
输入以下内容,clash -d的意思是指定配置文件路径,这里已经改成了/etc/clash
[Unit]Description=clash daemon[Service]Type=simpleUser=rootExecStart=/opt/clash/clash -d /etc/clash/Restart=on-failure[Install]WantedBy=multi-user.target
重新加载systemctl daemon
sudo systemctl daemon-reload
启动Clash
sudo systemctl start clash.service
设置Clash开机自启动
sudo systemctl enable clash.service
以下为Clash相关的管理命令
启动Clashsudo systemctl start clash.service重启Clashsudo systemctl restart clash.service查看Clash运行状态sudo systemctl status clash.service
配置定时更新订阅:
先撸个脚本,别忘了设可执行权限
#!/bin/bash# 设置clash路径clash_path=”/opt/clash”# 停止clashsystemctl stop clash.service# 取消代理unset https_proxy# 如果配置文件存在,备份后下载,如果不存在,直接下载if [ -e $clash_path/config.yaml ]; then mv $clash_path/config.yaml $clash_path/configbackup.yaml wget -O $clash_path/config.yaml “[你的订阅链接]”else wget -O $clash_path/config.yaml “[你的订阅链接]”fi# 重启clashsystemctl restart clash.service# 重设代理export https_proxy=”http://127.0.0.1:7890”
设置定时任务:
sudo crontab -e
填入以下内容
//每月1号和15号的4点30分开始更新30 4 1,15 * * sh [脚本目录]/[脚本名称]
重启crontab,使配置生效
sudo systemctl restart cron.service
查看代理是否正常工作:
curl www.google.com
结束,可以尽情地git clone了。