clash-on-linux配置
前言
本文记录一下 clash on linux 的配置流程
安装 Clash
下载当前操作系统与 CPU 架构对应的包文件
以下几种方法都可以查看系统版本(部分云厂商服务器会改动一些版本名):
1
2
3
4uname -a
grep 'VERSION=' /etc/os-release
lsb_release -a | grep Description
hostnamectl | grep Ubuntu容器内需要使用以下命令查看容器系统版本:
1
cat /etc/issue
我的服务器当前的系统版本为
Ubuntu 20.04.5 LTS
,所以直接下载linux-amd64
版本即可,我下载的版本为clash-linu 1.13.0
,最新的版本可以去github release查看1
wget -O clash.gz https://github.com/Dreamacro/clash/releases/download/v1.13.0/clash-linux-amd64-v1.13.0.gz
下载好后解压安装包中 clash 到
/usr/local/bin/
目录下,并删除压缩包文件1
2
3gzip -dc clash.gz > /usr/local/bin/clash
chmod +x /usr/local/bin/clash
rm -f clash.gz创建配置文件目录,并下载 MMDB 文件
1
2mkdir /etc/clash
wget -O /etc/clash/Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb创建
systemd
配置文件/etc/systemd/system/clash.service
1
sudo nano /etc/systemd/system/clash.service
示例如下:
1
2
3
4
5
6
7
8
9
10
11[Unit]
Description=clash daemon
[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/clash -d /etc/clash/
Restart=on-failure
[Install]
WantedBy=multi-user.target重载 systemctl daemon
1
systemctl daemon-reload
配置代理上网
导入已有的科学上网
订阅链接
,机场这里就不推荐了1
wget -O /etc/clash/config.yaml [订阅链接]
设置系统代理,添加配置文件
/etc/profile.d/proxy.sh
并在其中写入如下内容:1
2
3export 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"重载
/etc/profile
配置1
source /etc/profile
启动
clash
服务,并设置为开机自动启动1
2systemctl start clash
systemctl enable clash测试 goolge.com 访问
1
2
3
4
5
6
7curl google.com
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
配置 web-ui dashboard
克隆 clash-dashboard 项目到本地
1
git clone -b gh-pages --depth 1 https://github.com/Dreamacro/clash-dashboard /opt/clash-dashboard
修改
clash
配置文件中external-ui
的值为/opt/clash-dashboard
1
external-ui: /opt/clash-dashboard
重启 clash 服务
1
systemctl restart clash
通过浏览器访问 clash ui 面板,未配置域名的话可以通过
ssh port forward
实现本地访问
配置定时更新订阅
使用如下脚本填写相关配置项目并放入 /etc/cron.weekly
目录下,每周自动更新订阅配置文件即可
1 |
|
上述脚本写入 /etc/cron.weekly/clash.sh
并配置好相关变量后,保存退出并赋予可执行权限
1 | chmod +x /etc/cron.weekly/clash.sh |
使用proxy-provider实现定时更新订阅
除了上面的cronjob
实现定时更新订阅外,我们还可以使用 clash-premium
内核自带的proxy-provider
实现自动更新订阅以及health check
示例配置如下:
1 | proxy-providers: |