Clash For Linux
在Linux上使用Clash
基于科研需求,需要在Linux上流量代理软件。 为符合相关管理规定,本文不提供相关软件的下载地址,仅对原理做说明。
下载Clash
在 Clash官方页面 下载与个人服务器架构相同的安装包。
我的服务器是用的CentsOS,下载的安装包名为clash-linux-amd64-v1.17.0.gz
。
安装Clash
参考安装代码如下:
# 将安装包上传至服务器文件夹
# 解压
gunzip clash-linux-amd64-v0.18.0.gz
# 移动命令至用户bin目录下,方便调用
sudo mv clash-linux-amd64-v1.4.2 /usr/local/bin/clash
# 对命令赋权,使得可以访问
sudo chmod +x /usr/local/bin/clash
完成这 一系列操作后,我们就可以在任何目录下直接使用clash
关键字启动Clash软件了。
配置Clash
生成初始配置
首先,我们需要启动一次Clash,生成Clash的默认配置文件。
在控制台输入clash
进行启动。
clash 启动后会在 ~/.config/clash
目录生成配置文件。
切换到上述目录后,应该能看到三个文件:
cache.db config.yaml Country.mmdb
其中的config.yaml
就是Clash在运行时读取的配置文件,下边我们需要对其修改,填入可用的节点信息。
替换自定义配置
配置文件理论上你可以手搓,一个参数一个参数的填进去,但是这里我建议直接使用其他客户端生成的yaml文件替换掉它。
仅供参考的个人配置过程:
因为我个人电脑上安装了Clash For Windows,也一直在正常使用相关功能,所以我就想直接复制电脑上的配置文件到Linux中。
将弹出框中的配置信息全部复制,替换到上文中的
config.yaml
文件中。
有几个参数需要特别说明一下:
- port : 全局代理端口(默认端口)
- socks-port : socks协议流量会走的端口
- redir-port : 直连流量会走的端口
- mixed-port : 混合端口(具体干啥的我不知道=.=)
- allow-lan : 是否允许局域网连接(开启后这台机器可以转发其他主机的代理流量)
- mode : 选择Clash的代理模式,直连/全局/规则(注意应该是全小写的rule)。
- external-controller : 外部控制器地址,用于使用图形化页面管理Clash
- secret : 外部控制器所需的密钥
如无必要,上述端口可以不修改。
系统代理端口映射的开启和关闭
下面要向Linux系统中添加代理语句,用于开启代理。
# 未修改配置文件中的端口的话,这段代码可以直接使用
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7891
关闭代理则使用:
unset http_proxy https_proxy all_proxy
配置自启动(可选)
如果你想Clash随主机自启动的话,则需要将Clash增加为systemd服务。 本文不展开讨论这一步,你可以在文末的参考文章中找到 相关教程。
开启Clash
其实使用上文的clash
就可以开启Clash了,但是这里我们要测试一下开启前后的效果。
使用一个Linux远程连接开启Clash,然后再打开一个远程连接, 输入下面的命令进行测试。
- 在开启前使用命令测试
# 方法一:获取主机公网ip
curl ip.gs
# 方法二:获取谷歌主页
curl www.google.com -L
- 开启Clash
clash
- 在开启后使用步骤1中的相同命令进行测试,查看开启Clash前后的内容差异。
如果有公网ip有差异或获取到谷歌内容那就说明代理配置成功了,如果没有成功的话可以查看Clash软件所在的远程连接控制台,应该能看到请求记录。
管理Clash
https://clash.razord.top/#
是一个在线的管理Clash网站,通过输入自己的Clash软件相关信息,可以进行图形化管理。
其中,Host指主机公网ip,端口指上面配置文件中的
external-controller
中的端口,密钥是上面配置文件中的secret
属性的内容。
结束语
到此,你已经学会了如何在Linux使用Clash进行流量代理~
参考: