Skip to content

[Bug] 代理组为select时testUrl配置不生效 #2013

@zipfile6652

Description

@zipfile6652

验证步骤

  • 我已经阅读了 文档,了解所有我编写的配置文件项的含义,而不是大量堆砌看似有用的选项或默认值。
  • 我仔细看过 文档 并未解决问题
  • 我已在 Issue Tracker 中寻找过我要提出的问题,并且没有找到
  • 我是中文用户,而非其他语言用户
  • 我已经使用最新的 Alpha 分支版本测试过,问题依旧存在
  • 我提供了可以在本地重现该问题的服务器、客户端配置文件与流程,而不是一个脱敏的复杂客户端配置文件。
  • 我提供了可用于重现我报告的错误的最简配置,而不是依赖远程服务器或者堆砌大量对于复现无用的配置等。
  • 我提供了完整的日志,而不是出于对自身智力的自信而仅提供了部分认为有用的部分。
  • 我直接使用 Mihomo 命令行程序重现了错误,而不是使用其他工具或脚本。

操作系统

MacOS

系统版本

all

Mihomo 版本

1.18.0到1.19.5均手动测试过,均存在这个问题,可完整复现:

配置文件

yaml
proxy-groups:
  - name: 测试
    type: select
    url: 'https://baidu.com'
    interval: 300
    proxies:
      - proxy1
      - proxy2

描述

https://wiki.metacubex.one/config/proxy-groups/#url 文档中 url 为通用字段。
但是当proxy-groups的类型为select时,url, expected-status等延迟配置不生效。
其他类型均可以生效。

重现方式

如下配置(如:fallback类型)

proxy-groups:
  - name: 测试
    type: fallback
    url: 'https://baidu.com'
    interval: 300
    proxies:
      - proxy1
      - proxy2

接口返回:

        {
            "alive": true,
            "all": [
                "proxy1",
                "proxy2",
                "DIRECT"
            ],
            "expectedStatus": "*",
            "extra": {},
            "fixed": "xxx",
            "hidden": false,
            "history": [],
            "icon": "",
            "name": "测试",
            "now": "proxy1",
            "testUrl": "https://baidu.com",  // 这里接口会返回前面配置的url字段
            "tfo": false,
            "type": "Fallback",
            "udp": true,
            "xudp": false
        },

然而,如果将type fallback 改成select, 则不返回testUrl.

proxy-groups:
  - name: 测试
    type: select
    url: 'https://baidu.com'
    interval: 300
    proxies:
      - proxy1
      - proxy2

接口返回:

        {
            "alive": true,
            "all": [
                "proxy1",
                "proxy2",
                "DIRECT"
            ],
            "expectedStatus": "*",
            "extra": {},
            "fixed": "xxx",
            "hidden": false,
            "history": [],
            "icon": "",
            "name": "测试",
            "now": "proxy1",
            // 这里接口响应里不存在testUrl字段。
            "tfo": false,
            "type": "Select",
            "udp": true,
            "xudp": false
        },

影响

无法实现独立的延迟测试。

场景:

为特定的proxy-group指定特定的延迟URL来得到更准确的延迟信息。 如仅特定子网相关的proxy-group 这种情况下testUrl为特定子网的地址会更准确

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions