MetaCubeX / mihomo

A simple Python Pydantic model for Honkai: Star Rail parsed data from the Mihomo API.
https://wiki.metacubex.one
MIT License
13.82k stars 2.4k forks source link

[Bug] health check error for ss nodes when enable unified-delay #1026

Closed tkizm1 closed 2 months ago

tkizm1 commented 5 months ago

Verify steps

Mihomo version

alpha-20658f6

What OS are you seeing the problem on?

Linux

Mihomo config

---
proxies:
- name: vmess-node
  type: vmess
  server: xxx
  port: xxx
  uuid: xxxx
  alterId: 0
  protocol: tcp
  udp: true
  fast-open: true
  cipher: auto
proxy-providers:
  custom-provider:
    type: http
    path: "./proxy_provider/custom-provider.yaml"
    url: xxx
    interval: 300
    health-check:
      enable: true
      url: http://www.gstatic.com/generate_204
      interval: 300
proxy-groups:
- name: custom-provider
  type: url-test
  use:
  - custom-provider
  url: http://cp.cloudflare.com/generate_204
  interval: 300
  tolerance: 100
- name: PROXY
  type: select
  proxies:
  - custom-provider
  - vmess-node
  - DIRECT

rules:
- DST-PORT,7895,REJECT
- DST-PORT,7892,REJECT
- IP-CIDR,198.18.0.1/16,REJECT,no-resolve
- GEOSITE,CN,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
bind-address: "*"
port: 7890
socks-port: 7891
external-ui: "/usr/share/openclash/ui"
allow-lan: true
dns:
  enable: true
  ipv6: false
  enhanced-mode: redir-host
  listen: 0.0.0.0:7874
  nameserver:
  - tcp://127.0.0.1:6053
  fallback:
  - tcp://127.0.0.1:6553
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
    - 0.0.0.0/8
  fake-ip-filter:
  - "+.*"
sniffer:
  enable: true
  force-dns-mapping: true
  parse-pure-ip: true
profile:
  store-selected: true
  store-fake-ip: true
redir-port: 7892
tproxy-port: 7895
mixed-port: 7893
mode: rule
log-level: debug
ipv6: false
interface-name: eth0
experimental:
  sniff-tls-sni: true
geodata-mode: true
geodata-loader: standard
tcp-concurrent: true
unified-delay: true
keep-alive-interval: 3600
tun:
  enable: true
  stack: gvisor
  device: utun
  auto-route: false
  auto-detect-interface: false
  dns-hijack:
  - tcp://any:53

Mihomo log

No response

Description

以前的提交里修复过这个问题 https://github.com/MetaCubeX/mihomo/commit/d80fcb77f6314d2f961b26a4584eccd84576230b 最近又失效了,已经不确定具体哪个版本开出问题

tkizm1 commented 5 months ago
time="2024-02-06T16:19:41.039917798+08:00" level=debug msg="Health Checked, proxy: xxx, url: http://cp.cloudflare.com/generate_204, alive: false, delay: 65535 ms ui
d: {xxx}"

日志里看到了 alive: false, delay: 65535,dashboard上认为整个组都是错误的状态

tkizm1 commented 4 months ago

unified-delay: true 且 custom-provider 的 type为 ssr + obfs: http_simple 会出问题,关闭 unified-delay 正常

tkizm1 commented 3 months ago

新版本已经修复了,可能与 https://github.com/MetaCubeX/mihomo/commit/7ad37ca0e30550038d8fd62ce662969194365215 相关 后续的版本还是出现了,暂时没有解决办法

tkizm1 commented 2 months ago

把health-check改为https解决了

health-check:
      enable: true
      url: https://captive.apple.com/generate_204
      interval: 30