下载 Clash
1export CLASH_VER="v1.14.0" # Clash 版本
2export CLASH_ARCH="amd64" # Clash 架构
3export CLASH_NAME="clash-linux-${CLASH_ARCH}-${CLASH_VER}"
4
5# 安装必要工具
6sudo apt install -y tar gzip xz-utils curl
7
8mkdir -p /tmp/clash-tmp
9cd /tmp/clash-tmp
10
11# 下载及解压 Clash
12curl -fLO "https://kgithub.com/Dreamacro/clash/releases/download/${CLASH_VER}/${CLASH_NAME}.gz" && \
13gunzip ${CLASH_NAME}.gz
14
15# 下载及解压 yacd 面板
16curl -fLO "https://kgithub.com/haishanh/yacd/releases/latest/download/yacd.tar.xz" && \
17tar -xJf yacd.tar.xz
18
19# 下载 Country.mmdb
20curl -fLO "https://kgithub.com/xOS/Country.mmdb/releases/latest/download/Country.mmdb"
21
22# 将所有文件复制到 /opt/clash
23sudo mkdir -p /opt/clash
24sudo mv ${CLASH_NAME} /opt/clash
25sudo mv public /opt/clash
26sudo mv Country.mmdb /opt/clash
27sudo ln -s -T /opt/clash/${CLASH_NAME} /opt/clash/clash
28sudo chmod 755 /opt/clash/clash*
29sudo mkdir -p /opt/clash/subconf
30sudo chmod 777 /opt/clash/subconf
配置 Clash
单机场示例
- 编辑
/opt/clash/config.yaml
1port: 7890
2socks-port: 1080
3tproxy-port: 5092
4
5allow-lan: true
6bind-address: "*"
7mode: rule
8log-level: warning
9ipv6: false
10external-controller: 0.0.0.0:5090
11external-ui: ./public
12
13proxy-groups:
14 - name: "Select"
15 type: select
16 use:
17 - proxies
18
19proxy-providers:
20 proxies:
21 type: http
22 path: ./subconf/proxies.yaml
23 # 订阅地址
24 url: https://url/config.yaml
25 interval: 3600
26 health-check:
27 enable: true
28 url: https://www.google.com/generate_204
29 interval: 1800
30
31rules:
32 - MATCH, Global
多机场示例
1port: 7890
2socks-port: 1080
3tproxy-port: 5092
4
5allow-lan: true
6bind-address: "*"
7mode: rule
8log-level: warning
9ipv6: false
10external-controller: 0.0.0.0:5090
11external-ui: ./public
12
13proxy-groups:
14 - name: "Providers"
15 type: select
16 proxies:
17 - ProviderA
18 - ProviderB
19 - name: "ProviderA"
20 type: select
21 use:
22 - providera
23 - name: "ProviderB"
24 type: select
25 use:
26 - providerb
27
28proxy-providers:
29 providera:
30 type: http
31 path: ./subconf/providera.yaml
32 url: https://providera
33 interval: 3600
34 health-check:
35 enable: true
36 url: https://www.google.com/generate_204
37 interval: 1800
38 providerb:
39 type: http
40 path: ./subconf/providerb.yaml
41 url: https://providerb
42 interval: 3600
43 health-check:
44 enable: true
45 url: https://www.google.com/generate_204
46 interval: 1800
47
48rules:
49 - MATCH, Providers
试运行
1sudo /opt/clash/clash -d /opt/clash
clash.service
配置
1# /etc/systemd/system/clash.service
2[Unit]
3Description=clash
4Documentation=man:clash
5After=network.target network-online.target nss-lookup.target
6
7[Service]
8Type=simple
9AmbientCapabilities=CAP_NET_RAW
10AmbientCapabilities=CAP_NET_BIND_SERVICE
11ExecStart=/opt/clash/clash -d /opt/clash
12ExecReload=/bin/kill -HUP $MAINPID
13Restart=on-failure
14RestartSec=7s
15
16[Install]
17WantedBy=multi-user.target
启用
1sudo systemctl daemon-reload
2sudo systemctl enable --now clash