navidrome的api公开吗,我想开发一个app对接

本文最后更新于 2025年12月31日。

Navidrome的API是公开的,但其核心实现基于Subsonic API协议(一个成熟的开源音乐流媒体API标准)。以下是关键信息总结:

1. API协议与兼容性

  • Navidrome完全兼容Subsonic/Airsonic协议,支持所有Subsonic客户端(如DSub、Ultrasonic、play:Sub等)。
  • 协议基于HTTP/HTTPS,支持XML和JSON数据格式,涵盖认证、音乐库浏览、搜索、流媒体传输等功能。

2. API实现细节

  • 模块化设计:API代码位于server/subsonic/目录,包含核心功能模块:
  • api.go:路由和入口
  • system.go:系统状态接口(如ping
  • browsing.go:音乐库浏览
  • media_retrieval.go:流媒体传输
  • searching.go:搜索功能
  • 支持实时转码、多用户权限管理、智能播放列表等扩展功能。

3. 开发对接建议

  • 认证机制:需使用Subsonic标准认证(基于令牌或基本认证),请求头需携带x-nd-authorizationx-nd-client-unique-id
  • 文档参考
  • 官方未提供完整API文档,但可通过抓包分析接口(如登录接口POST /auth/login)。
  • Subsonic协议规范是主要参考依据。
  • 开源代码:直接查阅GitHub仓库的API实现逻辑。

4. 注意事项

  • 版本兼容性:0.55.0版本后接口有重大重构,需注意版本差异。
  • 性能优化:建议关注流媒体传输和元数据处理的性能调优。

结论

你可以直接基于Subsonic协议规范开发App对接Navidrome,无需额外授权。其开源特性与协议兼容性为开发者提供了充分支持。建议结合官方代码库和Subsonic文档进行开发。