使用 clash 配置 linux 代理

1.获取clash-for-linux

1
git clone https://github.com/wnlen/clash-for-linux.git

加载失败

2.添加订阅

1
2
cd clash-for-linux
sudo vim .env

加载失败

CLASH_SECRET是dashboard链接密钥,可以置空,后面启动时会随机生成

3.启动服务

1
sudo bash start.sh

启动成功有以下回显

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
$ sudo bash start.sh

正在检测订阅地址...
Clash订阅地址可访问!                                      [  OK  ]

正在下载Clash配置文件...
配置文件config.yaml下载成功!                              [  OK  ]

正在启动Clash服务...
服务启动成功!                                             [  OK  ]

Clash Dashboard 访问地址:http://<ip>:9090/ui
Secret:xxxxxxxxxxxxx

请执行以下命令加载环境变量: source /etc/profile.d/clash.sh

请执行以下命令开启系统代理: proxy_on

若要临时关闭系统代理,请执行: proxy_off

执行命令

1
2
source /etc/profile.d/clash.sh
proxy_on

检查服务端口

1
2
3
4
5
$ netstat -tln | grep -E '9090|789.'
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN     
tcp6       0      0 :::7890                 :::*                    LISTEN     
tcp6       0      0 :::7891                 :::*                    LISTEN     
tcp6       0      0 :::7892                 :::*                    LISTEN

检查环境变量

1
2
3
$ env | grep -E 'http_proxy|https_proxy'
http_proxy=http://127.0.0.1:7890
https_proxy=http://127.0.0.1:7890

以上步骤如果正常,说明服务clash程序启动成功。

4.Web仪表盘管理

访问http://<ip>:9090/ui

API Base URL一栏中输入:http://<ip>:9090 ,在Secret(optional)一栏中输入启动成功后输出的Secret。

点击Add并选择刚刚输入的管理界面地址,之后便可在浏览器上进行一些配置,如更换节点等。

手动更改配置则需要修改配置文件

1
sudo vim conf/config.yaml

可以更改代理模式、代理端口等

更改配置后需重启服务

1
2
cd clash-for-linux
sudo bash restart.sh

5.验证

需要提前开放代理端口(默认7890、7891、7892)

1
http_proxy http://127.0.0.1:7890 wget www.google.com

观察wget中是否有通过代理去访问。如可正常访问,则代理功能正常

6.服务的开关与重启

1
2
3
4
5
6
7
cd clash-for-linux
sudo bash start.sh
sudo bash shutdown.sh
sudo bash restart.sh

如关闭了服务,需手动关闭代理
proxy_off

安装docker

1.更新依赖

不使用代理无法访问download.docker.com,使用代理后阿里云镜像居然还报502

果断换源

先备份原镜像源

1
sudo mv /etc/apt/sources.list /etc/apt/sources.list.old

直接复制,更换为官方debian源

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
sudo cat > /etc/apt/sources.list << EOF
deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
 
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
 
deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-backports main contrib non-free
 
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
EOF

运行更新

1
2
3
4
5
sudo apt update #更新源
sudo apt upgrade -y #更新已安装的包
sudo apt dist-upgrade #升级系统
sudo apt clean && sudo apt autoclean #清理下载文件的存档
sudo apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates #常用软件包

2.添加GPG密钥与源

为何添加密钥,此为AI的解释:

加载失败

加入 Docker 的 GPG 公钥和 apt 源:

1
2
sudo curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
sudo echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list

3.安装docker

更新系统后安装 Docker CE 和 Docker Compose 插件:

1
2
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

docker近期更新后,将dockercompose的功能整合进了docker中,可以直接使用 docker compose 即可调用

此时可以使用 docker version 命令与docker compose version检查是否安装成功:

加载失败

有些功能并非完全互通,若某些镜像或命令不兼容,可再单独安装docker-compose

可以使用 Docker 官方的 github 直接安装最新版本:

1
2
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-x86_64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

使用docker-compose version命令检查是否安装成功

4.修改 Docker 配置

以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘 (泪的教训):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
cat > /etc/docker/daemon.json << EOF
{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}
EOF

4.加入开机自启,重启

1
2
systemctl enable docker
systemctl restart docker

后记

Debian 12 / Ubuntu 24.04 安装 Docker 以及 Docker Compose 教程

https://u.sb/debian-install-docker/