Linux使用clash代理
起因
偶然发现百度云的学生服务器挺便宜,2 核心 4g 内存机型一个月只要 18 元,有个随时随地能够访问的 Linux 环境还是挺好的,遂购入。新系统初始化完成,第一件事当然是来一套ohmyzsh
,结果这就出了问题,git clone太慢了。

遂想到是不是该给其使用一下代理。不然之后不止git clone,很多资源都无法下载。
使用clash
clash
是一款使用go语言开发的多平台代理工具,支持ss/v2ray等多种协议,在macOS,windows上使用起来很方便,在没有GUI的Linux也只需要稍加配置。
先从这里
下载clash的linux-amd64可执行文件。
|
|
然后下载Country.mmdb
。
|
|
之后,需要最关键的clash代理配置文件config.yaml,一般机场都会提供,同样将其放到.config/clash目录下。
之后先直接启动clash看看效果。

启动遇到WARN[0000] Failed to start Redir UDP Listener: operation not permitted,可以使用sudo clash启动。
配置 GUI 界面
从上一段的图中可以看到,clash服务有一个RESTful API的服务,通过其我们可以访问 web 管理页面。在config.yaml中制定即可。比较受欢迎的是yacd
,可以直接下载打包好的版本
。
|
|
在config.yaml中如下设置:
|
|
启动clash后,浏览器使用ip:port/ui的方式访问,如下所示。

享用代理
在 GUI 界面选择好代理服务器后,就可以使用代理了。打开另一个终端窗口,执行如下命令,设置http(s)代理环境变量。
|
|

接下来,进行一些完善工作。首先每次都手动启动clash并且占用一个终端窗口是很不方便的,先将clash作为一个daemon进程。参照开发者推荐
,使用pm2。
|
|
然后是将代理命令作为函数写入.zshrc.
注意,下面使用了
zsh语法,和bash略有不同。
|
|
然后试试看,非常愉快。

最后,我们来装一个rust试试。

OneStep