为云服务器配置clash-for-linux
本文仅针对开源软件配置进行技术交流,与“翻墙”(未经批准擅自使用非法工具或服务绕过国家防火墙,访问境外互联网的行为)无关。我们应当自觉遵守网络管理法规,共同维护良好的网络秩序,鼓励大家积极利用国内资源,享受健康、积极的网络生活。本文也仅旨在与其他网友进行技术交流,满足其他网友的交流学习需要。
配置clash时的一大难题就是:你需要先有一个能访问外网的渠道才能配置clash,但是你需要先配置clash才有访问外网的渠道。
本文将针对“本地主机能访问外网,但是云服务器不能”的情况作出一些经验分享。
下载
首先为了保证软件源头的纯洁性,我们当然是使用从GitHub上clone下来的clash-for-linux,但是云服务器目前还是访问不到GitHub的,所以我们选择在WSL中clone一个,然后通过scp传输到服务器上。将Windows上的clash-verge开到TUN模式(从更底层截获请求,确保WSL中也能享受到代理),然后WSL随便开一个Linux系统,执行
1 | git clone https://github.com/wnlen/clash-for-linux.git |
接下来用 1
scp -r ./clash-for-linux <user name>@<server ip>:/path/to/clash
-r确保递归。
安装
传输完成之后我们cd到对应的路径,由于是scp过来的而非直接git clone下载,所以有些文件属性可能会不对,也许需要chmod +x install.sh为安装脚本添加执行权限,接着sudo bash install.sh进行安装,安装过程中会提示你输入订阅的URL。
终端命令
安装完成之后会将一个clash-for-linux.sh放到/etc/profile.d/下,所以我们直接重新打开bash会话就可以使用其中的命令——其实也就三条:
proxy_on启动代理proxy_off关闭代理proxy_status查看代理状态
控制面板
更加详细的控制在控制面板中,默认是运行在9090端口上。
首先我们需要找到访问终端所需的秘钥(在这一步卡了我好久,被可恶的deepseek误导了喵)。打开路径/opt/clash-for-linux/opt/查看里面的yaml配置文件中的secret字段并记录下来。
接下来我们在本地终端启动一个ssh隧道将这个端口代理出来: 1
ssh -N -L 9090:127.0.0.1:9090 <user name>@<server ip> &
127.0.0.1:9090/ui,按提示输入后端地址和密钥就可以访问控制面板啦。


