osu!stable OSR → Beatmap 恢复工具 v4
本地解析 .osr 的 Beatmap MD5,并在线反查 Beatmap / Beatmapset 信息。文件内容不会上传;网络请求只发送 MD5。
高级:官方 osu! API 回退(可选)
默认使用无需登录的 hinai 公共查询接口。若镜像未找到某个 MD5,可粘贴一个已有的 osu! API v2 OAuth access token,工具会尝试官方 /beatmaps/lookup?checksum=...。不要在这里填写 client secret。
| 状态 | OSR 文件 | Beatmap MD5 | Beatmap ID | Set ID | 歌曲 / 难度 | Mapper | Rank 状态 | 操作 | |
|---|---|---|---|---|---|---|---|---|---|
| 暂无数据 | |||||||||
原理与限制
.osr 解析:开头依次是 1 字节游戏模式、4 字节客户端版本,然后是 osu! 的 String 编码;第一个 String 就是 Beatmap MD5。工具只解析这一段,不需要解压 replay 的 LZMA 帧。
反查:默认把 MD5 分批发送到 hinai 的公开 beatmap 元数据接口;批量未命中的项再用单个 MD5 接口重试。若提供 OAuth access token,可再向 osu! 官方 API v2 查询。
隐私:.osr 文件名和文件内容均只留在浏览器本地;查询时会把 Beatmap MD5 发送给所选 API。浏览器的 file:// 页面是否允许跨域请求取决于 API 的 CORS 配置;若浏览器明确报 CORS/Failed to fetch,请用最新版 Chrome/Edge/Firefox,或改用本地 HTTP 服务器打开此 HTML。
排序:结果默认按 Beatmapset ID 从小到大排列;点击任意可排序表头可切换字段和升/降序。CSV、JSON 和 Set ID 导出以及批量下载队列均沿用当前表格顺序。
镜像下载:批量下载仅对勾选结果中的唯一 Set ID 去重后分批触发。“已启动下载”链接可用于手动重试。官方下载若被重定向,请在官网页面点击 Download。浏览器无法从跨域附件可靠判断每个文件是否最终保存成功,因此进度表示“已发送下载请求”,不是服务端确认成功。