Ubuntu20.04终端配置Clash代理
1. 简介
对于日常使用的桌面系统,我们直接使用已有的 Clash GUI 客户端就可以很方便地实现代理。但对于服务器系统来说,往往都是非 GUI 的,因此我们只能通过 CLI 来配置代理。个人目前使用 Clash + Proxychains 组合。
2. Clash
Clash 用来实现网络流量的代理转发。
2.1 安装
去 Clash 开源仓库下载对应的系统版本到服务器上合适的位置,然后解压、重命名并提权。解压 .gz
包使用 gunzip
命令,以个人操作为例:
1 | mkdir clash |
2.2 配置
从自己的订阅机场获取到对应的订阅配置文件,重命名为 config.yaml
,然后上转到服务器上的相同目录下。或者也可以直接从本地的 Clash GUI 客户端拿到其下载好的 config.yaml
文件上传到服务器(以及 Country.mmdb
也可一起上传)。然后便可以启动 Clash:
1 | cd clash |
如果需要报错端口已被占用,可以打开 config.yml
修改成其它端口。
此外,为了方便使用,还可以创建一个 Systemd 服务进程来维护 Clash,创建并编辑文件 ~/.config/systemd/user/clash.service
:
1 | [Unit] |
然后使用以下命令启动/关闭服务:
1 | systemctl --user enable clash.service # 开机自启 |
如果查看服务状态正常,则说明配置完成。
3. Proxychains
Proxychains 用来重定向网络连接,在所有命令前加上 proxychains
,则会强制命令通过 Proxychains 指定的代理网址和端口访问网络。
3.1 安装
首先安装 Proxychains,在 Ubuntu20.04 上最新版为 proxychains4
:
1 | sudo apt install proxychains4 |
如果无 Root 权限,可以本地编译安装。首先到 Proxychains-NG 仓库下载好软件包,然后解压,进入目录开始本地编译安装:
1 | ./configure --prefix=/path/to/install |
运行正常后即成功将 Proxychains-NG 安装到了 /path/to/install
中,/path/to/install
一般建议设置为目录 $HOME/.local
。安装成功后,还需要将 /path/to/install/bin
加入到 Shell 的 PATH
环境变量中。以 Bash Shell 为例,将以下配置追加到 ~/.bashrc
中(如果已有该配置则跳过):
1 | PATH="${HOME}/.local/bin:$PATH" |
配置完 PATH
环境变量后,重启 Shell,即可在 Shell 下正常使用 proxychains
或 proxychains4
命令了。
3.2 配置
然后配置 Proxychains 的代理网址和端口。由于我们已经在本地配置并启动了 Clash 服务,故 Clash 的代理网址和端口也是我们需要配置给 Proxychains 的,具体查看 Clash 目录下的 config.yaml
中的配置。以个人为例,创建并编辑文件 ~/.proxychains/proxychains.conf
:
1 | [ProxyList] |
配置完后,可以使用以下命令测试能否正常访问外网:
1 | proxychains curl -sSf www.google.com > /dev/null |
以后如果想要使用代理,则在命令前加上 proxychains
即可;如果不想要使用代理,则不用加 proxychains
,正常使用命令即可。