Published on

Linux下科学上网——Clash使用教程

Authors
  • avatar
    作者
    子君
Linux下科学上网——Clash使用教程

前言

在 Windows 下我们科学上网很简单,只需要下载一个 VPN 或者一个代理软件比如 V2Ray、Clash 等等,但是在 Linux 上却比较麻烦,这里我将为大家分享 Linux 终端界面上如何开启代理进行科学上网

一、下载 Clash

1、我们可以在 Clash 作者的 Github 仓库下载 Clash 对应操作系统版本的 Clash 工具,点击这里直达

这个页面下拉我们可以看到很多不同的版本,有 Windows、Linux 等等,还有 ARM 架构、AMD 架构等等,选择合适的版本即可,如果没有合适的可以点击Show all查看,这里我们选择的是 AMD64 版本。

image-20230214181117255

然后将下载好的压缩包上传到我们的服务器上,我将它放在了**/usr/**下面。

或者我么也可以使用wget命令更加简单:

  • 首先获取到压缩包的下载链接

image-20230214181514160

  • 然后将他拼接到wget命令后面
cd /usr/
wget https://github.com/Dreamacro/clash/releases/download/v1.13.0/clash-linux-amd64-v1.13.0.gz

2、下载完成之后我们解压这个.gz 文件,你们也可以把文件放到其他地方去,我这里的习惯是放在/usr/下面。

cd /usr/
tar -zxvf clash-linux-amd64-v1.13.0.gz

然后将解压出来的文件重命名为 clash,并赋予可执行权限

mv clash-linux-amd64-v1.13.0 clash
chmod +x clash

到了这一步,我们的 clash 就安装完成了

3、安装完成之后我们先启动一次 Clash

cd /usr/
./clash

启动之后再按 Ctrl + C 终止服务,Clash 就会在~/.config/clash目录生成配置文件

-rw-r--r-- 1 root root  118929 Feb 14 13:24 config.yaml
-rw-r--r-- 1 root root 3878104 Feb 14 13:13 Country.mmdb

二、配置 Clash

1、当我们在某个机场网站购买了一个 VPN 服务之后,网站会给我们一个订阅链接,我们可以使用这个订阅链接下载配置文件。

这里我给大家推荐一个,[魔戒](魔戒.net (mojie.buzz)),限量不限时,流量用完为止,非常适合我们学习和查阅论文、资料使用。

获取配置文件也有两种方法:

  • 1.第一种就是在浏览器的地址栏输入我们的订阅链接并且在后面拼接**&flag=clash**,然后回车,浏览器就会自动下载配置文件。

image-20230214183055359

浏览器就会自动下载配置文件,然后我们把下载好的配置文件放到服务器上去,我这里放在了**/root/**目录下

然后我们将配置文件内容输出到 Clash 生成的配置文件中去

cat /root/魔戒.net > ~/.config/clash/config.yaml
  • 2.第二种就是使用wget命令,这种更方便更快
wget -O ~/.config/clash/config.yaml "clash的订阅链接"

链接需要带双引号 然后是下载 Country.mmdb

wget -O ~/.config/clash/Country.mmdb https://www.sub-speeder.com/client-download/Country.mmdb

2、接下来我们需要配置 HTTP 代理和 HTTPS 代理。配置之前我们需要查看 config.yaml 配置文件的端口设置。有的是http 7890sockets 7891(https),有的文件则是混合端口mixed-port 7890。所以我们需要找到这几个参数,一般都是在配置文件的前几行就可以看见,我们使用head命令查看前 10 行看看

head -n 10 ~/.config/clash/config.yaml

image-20230214183916834

可以看见,我这里是混合端口mixed-port 7890

然后我们要配置全局代理,编辑**/etc/profile**,如果大家的配置文件中是http 7890sockets 7891 记得替换对应的端口号

export http_proxy="127.0.0.1:7890"
export https_proxy="127.0.0.1:7890"

将上面的环境变量写到**/etc/profile**中,但是一般我们的做法都是新建一个自己的环境变量配置文件,操作如下

vim /etc/profile.d/my_env.sh

这个my_env.sh 就是我们自己的配置文件

然后将上面两行复制进去,保存退出,使用以下命令立即生效

image-20230214185038156

source /etc/profile

3、然后我们就可以启动 clash 了

/usr/clash -d .

image-20230214184744617

这样我们的 Clash 就启动成功了

我们也可以使用 nohup 命令让他挂载到后台

nohup /usr/clash -d . > /usr/clash-log.log &

以上命令意思是后台启动并将打印日志信息输出到clash-log.log

4、启动成功后我们可以使用curl命令来测试一下,以 Google 为例

curl https://www.google.com.hk/

如果有返回信息,则说明成功了

image-20230214185401187

5、有些软件不走系统代理,我们需要单独设置,以git为例

git config --global http.proxy 'http://127.0.0.1:7890'

三、关闭 Clash

关闭 Clash 也分两种情况,一种是完全关闭 Clash,另一种就是取消 Clash 代理流量,但是 Clash 仍然在后台运行

  • 1、先说第一种

​ 直接杀死 Clash 进程,用ps命令获取 clash 的 pid,然后用kill命令杀死

ps -ef | grep clash | grep -v 'grep'
kill -9 258907

image-20230214211002876

然后再关闭代理端口

unset http_proxy
unset https_proxy

如果不关闭的话,会导致没有网络

  • 2、再说第二种

​ 其实就是第一种省却了第一步,不杀死 Clash 进程,只关闭代理端口,下次要用的话再使用source命令就好了

unset http_proxy
unset https_proxt

​ 如果想再次使用就 source 一下

source /etc/profile

​ 因为 http_proxy、https_proxy 已经写到全局变量里面了