下载客户端
-
执行
mkdir ~/clash; cd ~/clash
在用户目录下创建 clash 文件夹。 -
下载适合的 Clash 二进制文件,我这里下载的是
clashpremium-release-linux-amd64.tar.gz
,然后将文件放到上面创建的clash文件夹中 -
解压:
Terminal window tar -xzvf clashpremium-release-linux-amd64.tar.gz参数说明:
-x
:解压(extract)-z
:使用 gzip 解压(.gz
文件)-v
:显示解压过程(verbose)-f
:指定文件名(后面必须接文件名)
-
将解压产物重命名为
clash
:Terminal window mv CrashCore clash
下载配置文件
在终端 cd
到 Clash 二进制文件所在的目录,下载 Clash 配置文件,命令如下:
wget -O config.yaml "https://sg83f.no-mad-world.club/link/itsj2v5HazNVXS7D?clash=3"
我这里碰到了缺少Country.mmdb问题,使用命令下载非常慢,这里我选择在本地下载然后上传到服务器,下载地址:https://raw.githubusercontent.com/Dreamacro/maxmind-geoip/release/Country.mmdb
下载后放到clash目录中
启动Clash
在clash目录中输入以下指令:
./clash -d .
clash后台运行
此部分参考Linux中安装Clash并且实现全局代理(纯命令行) – Mr.浮熙的blog
如果按照上面的方法运行clash的话,一旦我们关闭了终端,那么clash也会一并关闭。所以我们需要设置一下后台运行clash
在/etc/systemd/system/
目录新建一个clash.service
文件,并且直接进入vim编辑器
vim /etc/systemd/system/clash.service
将以下代码输入该文件:
[Unit]Description=Clash serviceAfter=network.target
[Service]Type=simpleUser=root# ExecStart=<clash运行文件的绝对路径> -d <clash文件夹的绝对路径>ExecStart=/home/xh/clash/clash -d /home/xh/clashRestart=on-failureRestartPreventExitStatus=23
[Install]WantedBy=multi-user.target
编辑服务文件后,需让 systemd 重新加载配置:
sudo systemctl daemon-reload
然后就可以通过systemctl
来控制clash了,例如查看状态systemctl status clash
clash全局代理
此部分同样参考Linux中安装Clash并且实现全局代理(纯命令行) – Mr.浮熙的blog
设置全局代理需要在/etc/profile
文件最后添加几行代码
进入/etc/profile
文件
vim /etc/profile
在该文件的末尾添加两行代码:
export http_proxy=127.0.0.1:7890export https_proxy=127.0.0.1:7890
保存后,应用一下profile文件,重启clash服务
source /etc/profile
直接curl测试google
curl www.google.com
我这里发现,我配置的clash在开启的情况下,第一个终端应用profile文件后访问google是可以的,但是其他终端还是不可以访问,关闭后,再开终端也不可以访问,还是需要重新应用profile文件
clash的UI控制界面
参考教程:linux下部署Clash+dashboard - 系统配置和定制 - ParrotSec中文社区
在clash文件夹中,使用wget命令下载UI文件
wget https://github.com/haishanh/yacd/releases/download/v0.3.7/yacd.tar.xz
解压
tar -xvf yacd.tar.xz
解压后是一个叫public
的文件夹,我们将这个文件夹名改为ui
mv public ui
然后需要配置config.yaml
文件,注释删掉
port: 7890socks-port: 7891allow-lan: truemode: Rulelog-level: infosecert: 123456 # 增加这一行, 如果你希望你的clash在web中要密码访问可以在这块配置密码, 如果不需要直接注释掉即可external-ui: ui # 指定ui文件在这个文件夹中external-controller: 0.0.0.0:9090 # 这里要从127.0.0.1:9090改为0.0.0.0:9090
- 127.0.0.1:9090:仅允许**本地(服务器自身)**访问 Clash 的控制接口
- 0.0.0.0:9090:允许所有网络接口(包括本地、局域网、公网)访问 Clash 的控制接口,我们这里就是要通过公网访问服务器的UI面板
然后重新启动clash,在浏览器中输入:
http://<服务器的公网IP>:9090/ui
即可正常访问UI面板
- API Base URL:输入服务器的公网IP+9090端口
- Secret:
config.yaml
配置的密码 - Label:随便填
点击Add即可