在Arch使用Clash

125

现在直接使用 clash-meta 包即可,不需要配置其他内容。

安装 Clash-Meta

如果你已经添加了archkinuxcn 源即可直接使用 pacman 进行安装:

sudo pacman -S clash-meta

如果没有添加 cn 源可以使用aur helper工具,如 yay、paru 进行安装。也可以添加 cn 源后进行安装,因为 aur 下载的资源在 github ,部分地区无法直连 github ,可能导致安装失败。

配置Clash-Meta

安装之后先启动一下服务,sudo systemctl start clash-meta@$USER.service,运行之后会在你当前用户的 ~/.config/clash 下创建文件夹和配置文件,先停止 clash-meta 服务 sudo systemctl stop clash-meta@$USER.service,修改 ~/.config/clash/config.yaml 配置文件,建议使用 Clash-Meta WiKi 的配置:

######### 锚点 start #######
# proxy 相关
pr: &pr {type: select, proxies: [默认,香港,台湾,日本,新加坡,美国,其它地区,全部节点,自动选择,DIRECT]}

#这里是订阅更新和延迟测试相关的
p: &p {type: http, interval: 3600, health-check: {enable: true, url: https://www.gstatic.com/generate_204, interval: 300}}

use: &use
  type: select
  use:
  - provider1
  - provider2

######### 锚点 end #######


# url 里填写自己的订阅,名称不能重复,path(文件位置)不能重复
proxy-providers:
  provider1:
    <<: *p
    url: ""
    path: ./proxy_providers/provider1.yaml

  provider2:
    <<: *p
    url: ""
    path: ./proxy_providers/provider2.yaml

mode: rule
ipv6: true
log-level: info
allow-lan: true
mixed-port: 7890
unified-delay: false
tcp-concurrent: true

external-controller: 0.0.0.0:9090
external-ui: ui
#secret: ""

geodata-mode: true
geox-url:
  geoip: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat"
  geosite: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat"
  mmdb: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb"

find-process-mode: strict
global-client-fingerprint: chrome

profile:
  store-selected: true
  store-fake-ip: true

sniffer:
  enable: true
  sniff:
    TLS:
      ports: [443, 8443]
    HTTP:
      ports: [80, 8080-8880]
      override-destination: true

tun:
  enable: true
  stack: system
  dns-hijack:
    - 'any:53'
  auto-route: true
  auto-detect-interface: true

dns:
  enable: true
  listen: :1053
  ipv6: true
  enhanced-mode: fake-ip
  fake-ip-range: 28.0.0.1/8
  fake-ip-filter:
    - '*'
    - '+.lan'
  default-nameserver:
    - 223.5.5.5
  nameserver:
    - 'tls://8.8.4.4#dns'
    - 'tls://1.0.0.1#dns'
  proxy-server-nameserver:
    - https://doh.pub/dns-query
  nameserver-policy:
    "geosite:cn,private":
      - https://doh.pub/dns-query
      - https://dns.alidns.com/dns-query

proxies:
  # - name: "WARP"
  #   type: wireguard
  #   server: engage.cloudflareclient.com
  #   port: 2408
  #   ip: "172.16.0.2/32"
  #   ipv6: "2606::1/128"        # 自行替换
  #   private-key: "private-key" # 自行替换
  #   public-key: "public-key"   # 自行替换
  #   udp: true
  #   reserved: "abba"           # 自行替换
  #   mtu: 1280
  #   dialer-proxy: "dns"
  #   remote-dns-resolve: true
  #   dns:
  #     - https://dns.cloudflare.com/dns-query

proxy-groups:

  - {name: 默认, type: select, proxies: [DIRECT, 香港, 台湾, 日本, 新加坡, 美国, 其它地区, 全部节点, 自动选择]}

  # - {name: dns, type: select, proxies: [DIRECT, WARP, 香港, 台湾, 日本, 新加坡, 美国, 其它地区, 全部节点, 自动选择]}  # 加入 WARP
  - {name: dns, type: select, proxies: [DIRECT, 自动选择, 默认, 香港, 台湾, 日本, 新加坡, 美国, 其它地区, 全部节点]}

  - {name: Google, <<: *pr}

  - {name: Telegram, <<: *pr}

  - {name: Twitter, <<: *pr}

  - {name: pixiv, <<: *pr}

  - {name: ehentai, <<: *pr}

  - {name: 哔哩哔哩, <<: *pr}

  - {name: 哔哩哔哩 api, <<: *pr}

  - {name: 哔哩东南亚, <<: *pr}

  - {name: 巴哈姆特, <<: *pr}

  - {name: YouTube, <<: *pr}

  - {name: NETFLIX, <<: *pr}

  - {name: Spotify, <<: *pr}

  - {name: github, <<: *pr}

  - {name: 国内, type: select, proxies: [DIRECT, 默认, 香港, 台湾, 日本, 新加坡, 美国, 其它地区, 全部节点, 自动选择]}

  - {name: 其他, <<: *pr}

#分隔,下面是地区分组
  - {name: 香港, <<: *use,filter: "(?i)港|hk|hongkong|hong kong"}

  - {name: 台湾, <<: *use, filter: "(?i)台|tw|taiwan"}

  - {name: 日本, <<: *use, filter: "(?i)日本|jp|japan"}

  - {name: 美国, <<: *use, filter: "(?i)美|us|unitedstates|united states"}

  - {name: 新加坡, <<: *use, filter: "(?i)(新|sg|singapore)"}

  - {name: 其它地区, <<: *use, filter: "(?i)^(?!.*(?:🇭🇰|🇯🇵|🇺🇸|🇸🇬|🇨🇳|港|hk|hongkong|台|tw|taiwan|日|jp|japan|新|sg|singapore|美|us|unitedstates)).*"}

  - {name: 全部节点, <<: *use}

  - {name: 自动选择, <<: *use, tolerance: 2, type: url-test}

rules:
  # - AND,(AND,(DST-PORT,443),(NETWORK,UDP)),(GEOSITE,geolocation-!cn),REJECT # quic
  - GEOSITE,biliintl, 哔哩东南亚
  - GEOSITE,ehentai,ehentai
  - GEOSITE,github,github
  - GEOSITE,twitter,Twitter
  - GEOSITE,youtube,YouTube
  - GEOSITE,google,Google
  - GEOSITE,telegram,Telegram
  - GEOSITE,netflix,NETFLIX
  - GEOSITE,bilibili,哔哩哔哩
  - GEOSITE,bahamut,巴哈姆特
  - GEOSITE,spotify,Spotify
  - GEOSITE,geolocation-!cn,其他

  - GEOIP,google,Google
  - GEOIP,netflix,NETFLIX
  - GEOIP,telegram,Telegram
  - GEOIP,twitter,Twitter
  - GEOSITE,CN,国内
  - GEOIP,CN,国内
  - MATCH,其他

上面的配置文件中:

proxy-providers:
  provider1:
    <<: *p
    url: ""
    path: ./proxy_providers/provider1.yaml

里面将url: "" 的引号换成订阅地址。

下载网页管理面板 Yacd-meta 。上面配置文件里的 external-ui: ui 表示管理面板在配置目录的 ui 文件夹下,即~/.config/clash/目录下,将下载压缩包解压并重命名为ui,压缩包下载地址为 https://github.com/MetaCubeX/yacd/archive/gh-pages.zip 如果下载不了可以使用 https://ghproxy.com/https://github.com/MetaCubeX/yacd/archive/gh-pages.zip 加速下载。

服务启动时会自动下载下面三个文件,如果网络不行就会下载失败,导致无法使用clash-meta,所以建议手动下载后放到~/.config/clash/目录下:
https://ghproxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country.mmdb
https://ghproxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat
https://ghproxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat
下载后重新启动服务即可:

sudo systemctl enable --now clash-meta@$USER.service

在浏览器打开 127.0.0.1:9090/ui 即可打开控制面板。