Skip to content

电台与 HLS

接口列表

方法路径说明
PUT/settings/hls-proxy更新 HLS 代理开关
GET/settings/hls-proxy获取 HLS 代理开关
GET/songs/{id}/hls/playlist反代 HLS 子层 m3u8
GET/songs/{id}/hls/segment反代 HLS 切片 / key / init 段

PUT /settings/hls-proxy

更新 HLS 代理开关

开启/关闭 HLS 反代。开启时电台切片字节全部经本机转发(解决源站 Referer/CORS 拦截),关闭时仅 302 给 player。

需要认证

此接口需要 Bearer Token 认证

请求体

开关请求

类型: hlsProxySettingRequest

字段类型必填说明
enabledboolean

响应

200 - 返回 enabled 字段表示更新后的开关状态

类型: map[string]boolean

400 - 请求格式错误

类型: map[string]string

500 - 保存配置失败

类型: map[string]string

内容类型

  • 请求: application/json
  • 响应: application/json

GET /settings/hls-proxy

获取 HLS 代理开关

获取“HLS 电台流通过本机反代回客户端”开关的当前状态

需要认证

此接口需要 Bearer Token 认证

响应

200 - 返回 enabled 字段表示开关状态

类型: map[string]boolean

内容类型

  • 响应: application/json

GET /songs/{id}/hls/playlist

反代 HLS 子层 m3u8

HLS 反代开启时,由 ServeProxy 改写后的 m3u8 内回链触发。拉取上游 m3u8 → 同源校验 → 改写 URI → 回写给 player。

需要认证

此接口需要 Bearer Token 认证

路径参数

参数类型必填说明
idinteger歌曲 ID

查询参数

参数类型必填说明
ustring上游 m3u8 URL(base64url 编码)

响应

200 - 改写后的 m3u8 文本

类型: string

400 - song_id 或 u 参数无效

类型: map[string]string

403 - 非同源 URL 拒绝代理(SSRF 防护)

类型: map[string]string

404 - 歌曲不存在

类型: string

502 - 上游不可用

类型: map[string]string

内容类型

  • 响应: application/vnd.apple.mpegurl

GET /songs/{id}/hls/segment

反代 HLS 切片 / key / init 段

由 HandlePlaylist 改写后的相对路径触发,反代音频切片、加密 key、init 段等二进制资源。透传 Range 请求。

需要认证

此接口需要 Bearer Token 认证

路径参数

参数类型必填说明
idinteger歌曲 ID

查询参数

参数类型必填说明
ustring上游切片 URL(base64url 编码)

响应

200 - 切片二进制内容

类型: file

206 - Range 请求的部分内容

类型: file

400 - song_id 或 u 参数无效

类型: map[string]string

403 - 非同源 URL 拒绝代理

类型: map[string]string

404 - 歌曲不存在

类型: string

502 - 上游不可用

类型: map[string]string

内容类型

  • 响应: application/octet-stream