Linux安装Clash

# clash

  1. 进入安装目录,创建文件docker-compose.yml,内容如下:
version: '3'
services:
  meta:
    container_name: meta
    image: docker.io/metacubex/clash-meta:Alpha
    restart: always
    ports:
      - '7890:7890'
      - '9090:9090'
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data/config.yaml:/root/.config/clash/config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13

config.yaml文件可以从clashweb页面下载,也可以自己编辑。

或者如果Windows端有使用该软件,直接从Profile界面,选中对应配置,右键点击Show in folder,复制对应配置文件到Linux端即可,需要注意的是要更名为config.yaml

其中可能需要修改的配置如下:

# http socket混合端口
mixed-port: 7890
# 开启局域网代理,这个要配置true
allow-lan: true
bind-address: "*"
mode: rule
#UI监听端口,可以改成0.0.0.0:9090,改后可以通过ui界面访问
external-controller: 0.0.0.0:9090
#如果服务器对公网开放可以设置密码
secret: ""
1
2
3
4
5
6
7
8
9
10
  1. 替换指定行:sed -i 's/127.0.0.1:9090/0.0.0.0:9090/g' /volume1/docker/clash/config.yaml

  2. 利用clashRESTful API (opens new window)使配置生效:curl -X PUT -H "Content-Type: application/json" -d "{\"path\":\"/root/.config/clash/config.yaml\"}" http://127.0.0.1:9090/configs

以上步骤可以通过以下脚本执行:

Windows端编辑~/.bashrc文件,添加如下脚本:

function clash-config {
  local fileName="1673014085420";
  if [ -n "$1" ]; then
    fileName=$1;
  fi
  cd /c/Users/13587/.config/clash/profiles;
  cp "${fileName}.yml" config.yaml ;
  sed -i 's/external-controller: 127.0.0.1:9090/external-controller: 0.0.0.0:9090/g' config.yaml;
  scp config.yaml root@wxy:/root/app/clash/data/config.yaml;
  rm -rf config.yaml;
  ssh root@wxy 'curl -X PUT -H "Content-Type: application/json" -d "{\"path\":\"/root/.config/clash/config.yaml\"}" http://127.0.0.1:9090/configs'  
}
1
2
3
4
5
6
7
8
9
10
11
12

执行source ~/.bashrc,即可使用clash-config命令。

# clash-dashboard

version: '3'
services:
  clash:
    container_name: clash-dashboard
    image: "haishanh/yacd"
    ports:
      - "1234:80"
    restart: always
1
2
3
4
5
6
7
8

启动该容器,访问http://ip:1234即可看到clash-dashboardweb界面。

输入http://ip:9090,即可管理clash

上次更新: 2024/11/09, 09:01:06
最近更新
01
docker-compose笔记
01-12
02
MySQL数据迁移
11-27
03
Docker部署服务,避免PID=1
11-27
更多文章>