EagleBear2002 的博客

这里必须根绝一切犹豫,这里任何怯懦都无济于事

Ubuntu 22.04 安装 Clash

下载

Github 上的 clash 官方仓库已经删库跑路,本文介绍的是一个目前可行的解决方案。

https://github.com/doreamon-design/clash/releases 下载与自己系统架构符合的安装包。一般选择 [clash_2.0.24_linux_amd64.tar.gz](https://github.com/doreamon-design/clash/releases/download/v2.0.24/clash_2.0.24_linux_amd64.tar.gz)

安装

1
2
3
4
gzip -d clash_2.0.24_linux_amd64.tar.gz # 在安装包所在路径解压安装包
chmod +x clash_2.0.24_linux_amd64.tar.gz # 给解压后的文件赋予执行权限
mv clash_2.0.24_linux_amd64 /usr/local/bin/clash # 移动文件位置
clash -v # 查看是否成功安装

配置文件

1
2
3
4
clash # 启动 Clash,生成 ~/.config/clash/config.yaml 文件
cd ~/.config/clash/ # 进入目录配置文件
wget -O config.yaml 订阅地址 # 把订阅地址的配置文件导入本地配置文件
echo -e "export http_proxy=http://127.0.0.1:7890\nexport https_proxy=http://127.0.0.1:7890" >> ~/.bashrc # 配置环境变量

启动后在打开 http://clash.razord.top/#/settings 进入节点管理的 UI 页面。

修改系统代理

在 Ubuntu 系统中:Settings-Network-Network Proxy 中按照下图配置:

设置开机启动

实测使用配置 clash 服务和 systemctl enable clash 的方式启动的 clash 的路由规则很奇怪,对大多数地址没有作用,具体原因不明。

我的解决方案是配置 ~/.bashrc 文件,在文件结尾添加如下内容:

1
2
3
4
# Check if Clash is already running
if ! pgrep -x "clash" > /dev/null; then
/usr/local/bin/clash
fi

该脚本将在开机时自动执行命令 /usr/local/bin/clash

另一种优雅的解决方案:在 Startup Applications Preference 中添加 Clash。

调试 Clash

如果安装使用过程中出现任何问题,可以查看 Clash 的路由日志进行解决。

修改 ~/.config/clash/config.yaml 配置文件,文件内容如下:

1
2
3
4
5
6
7
8
9
10
port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: false # 是否允许 LAN 连接
mode: global # global, rule, direct 等模式
log-level: debug # debug, info, warn, error, silent, default 等日志级别,其中 debug 细节最多,适合调试
external-controller: '0.0.0.0:9090'
secret: ''
proxies:
...

常见问题

如果启动 clash 后显示端口被占用:

使用命令查看被占用的端口,再杀死相应进程。

1
netstat -tulpn