Linux安装Clash

# clash

  1. 进入安装目录,创建文件docker-compose.yml,内容如下:
version: '3'
services:
  clash:
    container_name: Clash
    image: "dreamacro/clash"
    network_mode: host
    restart: always
    volumes:
      - "./data/config.yaml:/root/.config/clash/config.yaml"
    privileged: true
1
2
3
4
5
6
7
8
9
10

docker-compose.yml指定了网络模式为host,否则需要映射出 7890 和 9090 端口。

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

上次更新: 2023/08/11, 16:37:29
最近更新
01
go-admin-ui项目仿写练手1-登录页
06-29
02
maven依赖问题
06-17
03
JVM相关命令
02-21
更多文章>