feat(client-verification): add client verification (#104)

New configurations:

- `CHECK_CLIENT_VERSION` enables the check (default=True)
- `CLIENT_VERSION_URLS` contains a chain of valid client hashes. [osu!](https://osu.ppy.sh/home/download) and [osu! GU](https://github.com/GooGuTeam/osu/releases) are valid by default. View [g0v0-client-versions](https://github.com/GooGuTeam/g0v0-client-versions) to learn how to support your own client.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
MingxuanGame
2026-01-11 16:30:25 +08:00
committed by GitHub
parent e5802aefbb
commit 8923d714a7
8 changed files with 252 additions and 1 deletions

View File

@@ -705,6 +705,21 @@ CALCULATOR_CONFIG='{}'
Field(default=True, description="检查自定义 ruleset 版本"),
"反作弊设置",
]
check_client_version: Annotated[
bool,
Field(default=True, description="检查客户端版本"),
"反作弊设置",
]
client_version_urls: Annotated[
list[str],
Field(
default=["https://raw.githubusercontent.com/GooGuTeam/g0v0-client-versions/main/version_list.json"],
description=(
"客户端版本列表 URL, 查看 https://github.com/GooGuTeam/g0v0-client-versions 来添加你自己的客户端"
),
),
"反作弊设置",
]
# 存储设置
storage_service: Annotated[