Linux配置Clash代理

本文最后更新于:2022年7月21日 下午

Linux配置Clash代理

这篇文章用来防止忘记怎么配Clash,干货笔记。不需要管理员权限。

准备

要准备三样东西:1. 用钱买的梯子的订阅链接 2. Clash二进制文件 3. 经常下载失败的MMDB文件

最新版本可以从Github的官方repo下载下来,从Assets中找到Linux amd64的gz文件下载地址

二进制文件和MMDB文件提供网盘备份:链接:ngro

安装

Clash基本就靠config.yaml运行,不用输入什么参数。运行clash就是在一个端口搭好了梯子,要让应用走这个梯子出去还要配置应用对应的设置。

1
2
3
4
5
6
7
gunzip xxx.gz  # gunzip解压gz文件
cd <folder> # 进入有那个可执行文件的文件夹
wget -O config.yaml [订阅链接] # 下载订阅链接,或者直接把文件重命名为config.yaml
chmod +x clash # 该权限让其可执行
./clash # 运行梯子
./clash -d /etc/clash # 指定config目录
./clash -f /etc/clash/config.yaml # 指定config文件

Ubuntu GUI应用

其他发行版应该也同理,要让桌面应用走梯子就直接在设置里找到Network下的Proxy,然后把HTTP和HTTPS的端口都设置成7890(默认),ip地址设置成127.0.0.1,要使用socks协议代理则设置端口为7891。一些ip不走代理,用GUI设置一般不用管。

以上步骤也可以用命令实现,如下:

1
2
3
4
5
6
7
8
9
10
11
settings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http port 7890
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.https port 7890
gsettings set org.gnome.system.proxy.https host '127.0.0.1'
gsettings set org.gnome.system.proxy.socks port 7891
gsettings set org.gnome.system.proxy.socks host '127.0.0.1'
gsettings set org.gnome.system.proxy ignore-hosts "['localhost', '127.0.0.0/8', '::1']"

settings set org.gnome.system.proxy mode 'manual' # 开启
settings set org.gnome.system.proxy mode 'none' # 关闭

环境变量设置代理

大多数的网络库会通过识别环境变量来走代理,要设置http_proxyhttps_proxy这两项:

1
2
3
4
5
6
# 开启
export http_proxy="http://127.0.0.1:7890/"
export https_proxy="http://127.0.0.1:7890/"
# 关闭
unset http_proxy
unset https_proxy

可以写在环境变量文件~/.bashrc(给自己用)或/etc/profile(全局用),但是记得要source。

wget设置代理

1
2
3
4
5
6
# 在home目录下新建这个文件,也可以直接编辑/etc/wgetrc(但是不推荐,而且要管理权限)
vi ~/.wgetrc
# 内容为以下:
https_proxy = http://127.0.0.1:7890/
http_proxy = http://127.0.0.1:7890/
use_proxy= on

设置完要source ~/.wgetrc

Git设置代理

1
2
3
4
5
6
# 开启
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
# 关闭
git config --global --unset http.proxy
git config --global --unset https.proxy

管理

编辑你的config.yaml,设置下面两项可以开启外部管理,一定要设置secret。

1
2
external-controller: 127.0.0.1:50040
secret: ''

设置好了以后访问http://clash.razord.top,输入对应的信息就能用web来管理本地的clash啦~

参考文献:

Linux下安装&配置Clash以实现代理上网 - 知乎 (zhihu.com)

Introduce - Clash (gitbook.io)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!