Skip to content

搭建 Clash 代理

概述

  最近在学习 Kubernetes,由于 Kubernetes 很多镜像、包都比较难访问,因此需要为服务器搭建一个代理服务,方便用于拉取镜像和包。

  由于 Docker 搭环境真的是太方便了,因此这边使用 Docker 来搭建 Clash 代理服务。Docker 搭建过程参考另一篇笔记[链接]。

步骤

搭建过程

  在服务器上创建以下目录结构:

svc
 ├── docker-compose.yml
 └── svc-clash
     └── config.yaml  # Clash 配置文件

  其中 docker-compose.yml 的文件内容参考以下:

yaml
version: "3"

services:
  # Clash
  svc-clash:
    image: dreamacro/clash:v1.10.6
    container_name: svc-clash
    volumes:
      - ./svc-clash/config.yaml:/root/.config/clash/config.yaml
    ports:
      - "7890:7890/tcp"
      - "7890:7890/udp"
      - "9090:9090"
    restart: always
    networks:
      - default
  # Clash Dashboard
  svc-clash-dashboard:
    image: centralx/clash-dashboard
    container_name: svc-clash-dashboard
    ports:
      - "80:80"
    restart: always
    networks:
      - default

# Networks
networks:
  default:
    driver: bridge
    name: svc

  而 config.yaml 文件就是你的订阅信息,这个就懂的人都懂了,不懂的人就跳过吧。

  完成以上操作后,在 svc 目录下使用 docker-compose 启动服务。docker-compose 会自动拉取镜像并完成配置。

bash
$ docker-compose up -d

  等待 docker-compose 执行完毕之后,Clash 的代理服务就已经搭建好了。你可以通过 http://your-server-ip 来访问 Clash 的可视化界面,并通过可视化界面来控制代理功能。注意,需要修改设置下面的外部控制设置,将其改为当前服务器的 ip、端口,才能正确地控制代理。

使用代理

  修改其它服务器的 ~/.bash_profile 文件,添加以下内容。

shell
function proxy_off(){
    unset http_proxy
    unset https_proxy
    unset all_proxy
    echo -e "已关闭代理"
}

function proxy_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    # 将 10.10.10.10 改为你的代理节点
    export http_proxy="http://10.10.10.10:7890"
    export https_proxy="http://10.10.10.10:7890"
    export all_proxy="socks5://10.10.10.10:7890"
    echo -e "已开启代理"
}
bash
# 令配置生效
$ source ~/.bash_profile

# 打开代理
$ proxy_on

# 关理代理
$ proxy_off

  Enjoy yourself!


Released under the MIT license.