这个项目能做什么

goenvoy 是一个多模块单一仓库,提供面向广泛媒体相关服务的 Go 客户端库。它被设计为轻量级,仅依赖 Go 标准库(net/http 和 encoding/json),没有任何外部依赖。 该库按以下几类组织: - Arr Stack:支持 Sonarr、Radarr、Lidarr、Readarr、Prowlarr 等。 - Metadata:提供 TMDb、TheTVDB、AniList、MusicBrainz、Spotify、IGDB 等的客户端,还有许多其他服务。 - 下载客户端:集成 qBittorrent、Transmission、Deluge、SABnzbd 和 NZBGet。 - 媒体服务器:支持 Plex、Jellyfin、Emby、Audiobookshelf 等。 - 工具与动漫:包含 FlareSolverr 和 Shoko Server。 关键技术特性包括: - 上下文感知的方法,用于取消和超时。 - 函数式选项,实现灵活的客户端配置(例如 WithHTTPClient、WithTimeout)。 - 通过模块特定的 APIError 类型进行类型安全的错误处理。 - 适用服务的 OAuth2 支持。 - 模块化结构,使用户只需导入他们需要的特定服务库。