Clash 在 Linux 的初步使用
记录一下Linux上纯命令行环境下的Clash基本使用方法,前提是已经在Windows上有配置好的clash。
安装
从 Github仓库
下载预编译包, 例如
clash_2.0.24_linux_amd64.tar.gz,然后上传到Linux服务器中,解压到本地
1
2cd ~/clash
tar --gzip -xf clash_2.0.24_linux_amd64.tar.gz
其中主要就是一个clash
可执行文件,将路径添加PATH或者将其复制到~/.local/bin
即可。
测试一下是否安装成功 1
clash -v
配置
假定在Windows上已有一个配置完成可以正常使用的clash,我们需要从Home Directory直接获取两个文件:
- 从
profiles/
文件夹中选择一个可用的配置文件xxx.yml
,复制并将其改名为config.yaml
Country.mmdb
文件,这是一个 IP 地址定位数据库,供规则分流时使用。如果在启动时没有找到,clash会尝试自动下载,下载可能需要几分钟。
将这两个文件传送到Linux服务器中,存放在 ~/.config/clash
目录下(或者全局级配置目录/etc/clash
)。
除了复制已有的配置文件,也可以直接从订阅链接获取,例如使用wget
命令(注意链接必须用引号包起来)
1
wget -O config.yaml 'http://example.com/shortURL'
使用curl
命令则必须要加上-L
选项,否则不会自动跟随重定向
1
curl -L -o config.yaml 'http://example.com/shortURL'
有的链接可能需要在最后加上&clash
至于Country.mmdb
就不用管了,让clash在启动时自己下载即可。(后续发现有的情况下下载失败,还是复制过去吧)
对于订阅链接的更新,可以设置定时任务或者手动执行上述命令即可。
使用
在一个会话中启动clash,默认就会监听127.0.0.1的7890,7891端口
1
./clash
然后在另一个会话中,通过选项手动指定代理,例如 1
you-get -x 127.0.0.1:7890 <url>
通常的教程中会涉及代理相关的环境变量设置,例如 1
2
3
4
5
6
7
8
9
10
11export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export socks_proxy="socks5://127.0.0.1:7891"
export all_proxy="socks5://127.0.0.1:7891"
export no_proxy="localhost, 127.0.0.1"
unset http_proxy
unset https_proxy
unset socks_proxy
unset all_proxy
unset no_proxy
因为不同应用程序对这些变量的支持程度不尽相同(例如curl
支持all_proxy
,但是wget
不支持),懒得设置这些环境变量,
更方便的做法是通过 ProxyChains
工具使用代理。
首先通过apt-get命令直接安装到本地,然后修改
/etc/proxychains4.conf
文件,对配置文件的修改看示例即可,例如在最后加上 1
socks5 127.0.0.1 7891
在命令之前使用proxychains4
就可以强制它使用相关代理
1
proxychains4 ...
例如 1
2proxychains4 git clone xxx
proxychains4 npm install
可以加上-q
让proxychains4
使用静默模式,不干扰命令自身的输出
1
2proxychains4 -q curl http://example.com
proxychains4 -q you-get <url>
注意:
- 这些代理对
ping
命令都不生效,因为协议不同,可以用curl
命令进行测试。 - 这里只关注了手动开启clash,还可以通过 systemd 设置服务自动开启。
补充
目前绝大多数的代理都采用了国内国外分流代理的策略,但是这其实存在显而易见的危险。 使用分流代理的方式容易泄露自身的隐私信息,包括但不限于 IP 地址,浏览器以及硬件指纹等等一系列信息,并且可以将代理 IP 与真实 IP 进行对应。 一个最常见的例子就是某个国外的网站使用了百度统计脚本,这时代理 IP 与真实 IP 的对应信息可以轻松的被这样的网站获取。另一个例子就是一些恶意的邮件,比如你在使用国外的邮箱服务,接收到了一个恶意邮件,这个邮件中嵌入了一些国内的资源如图片,那么你的真实 IP 等信息也可以被轻松获取。—— Arch Linux 安装使用教程