Skip to content

[建议增加订阅请求 User-Agent 自定义及独立 UA 标识(提升适配与可控性)] #125

@laoxiechuzheng

Description

@laoxiechuzheng

标题: 建议增加订阅请求 User-Agent 自定义及独立 UA 标识(提升适配与可控性)

内容:

目前 Clash Box 在拉取订阅时使用的默认 User-Agent 为 clash.meta/1.19.5,与大量基于 Clash.Meta 内核的客户端完全一致。在当前环境下,这种通用 UA 已经带来明显的实际问题。

这里强烈建议增加以下两个功能:


1. 提供独立的默认 User-Agent

建议 Clash Box 使用一个独立的默认 UA(例如带有 Clash Box 标识),而不是直接沿用 clash.meta 的通用格式。


2. 增加用户自定义 User-Agent 功能

建议允许用户手动设置订阅请求时使用的 UA(参考 iOS 上 ClashMi 的实现)。


核心原因:

在当前环境下,相关管理与通报往往是围绕“订阅拉取行为”展开的,而 User-Agent 是其中一个重要识别维度。

  • 过于通用的 UA(如 clash.meta)已经缺乏区分度
  • 一旦被记录或纳入策略范围,影响的是所有使用该 UA 的客户端
  • 订阅提供方无法基于 UA 做有效识别、区分与策略调整

对于订阅服务提供方来说:

  • 需要能够区分不同客户端来源
  • 需要配合自身的管理措施进行控制与适配
  • 在实际运营中,UA 已经成为一个基础但关键的维度

现实情况:

目前已有不少订阅提供方:

  • 不再对通用 clash.meta UA 做兼容或优化
  • 或直接限制部分客户端访问

其中也包括 Clash Box(鸿蒙版本)在内的兼容性问题。


意义:

增加“独立 UA + 自定义 UA”后,可以:

  • 提高客户端识别度
  • 便于订阅提供方进行精细化管理
  • 提升整体适配能力
  • 补齐基础能力短板

在当前环境下,对抗问题的不只是协议层面的更新,这类基础能力同样重要。


参考:

  • ClashMi(iOS)已支持自定义 User-Agent

总结:

这是一个实现成本较低,但对实际使用影响较大的功能,建议尽快考虑加入。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions