这个项目能做什么
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 支持。
- 模块化结构,使用户只需导入他们需要的特定服务库。
评论
0 评分人数达到10人后显示
登录后参与讨论。