overseerr

🍿 零依赖的媒体请求管家

基于原生Node.js的Overseerr媒体请求管理工具,零第三方依赖,安全透明,实现电影/剧集搜索、请求提交与状态监控的自动化流程。

收藏
3.5k
安装
1.2k
版本
v0.1.0
CLS 安全性认证2026-07-01
点击查看完整报告 >

使用说明

核心用法

Overseerr Skill 是一款面向自托管媒体服务器用户的命令行工具,通过 Node.js 脚本与 Overseerr API 交互,实现媒体内容的搜索、请求提交和状态监控三大核心功能。用户需预先配置 OVERSEERR_URLOVERSEERR_API_KEY 环境变量,即可通过 CLI 完成以下操作:

搜索功能:支持电影和电视节目的关键词搜索,可按类型过滤(--type tv/movie)并限制返回结果数量(--limit)。请求功能:支持精确请求指定媒体内容,包括电影请求、电视剧全季或指定季请求(--seasons 1,2),以及 4K 版本标记(--is4k)。状态监控:提供请求列表查询(支持 pending/processing 等状态过滤)、单条请求详情查看,以及定时轮询监控(--interval 秒级间隔)。

显著优点

1. 零依赖架构:仅使用 Node.js 原生内置 API(fetch、process.env 等),无 package.json 和 node_modules,彻底消除供应链攻击风险,代码完全透明可审计。

2. 安全设计完善:实现 CSRF 保护、输入参数严格校验(parseArgs/toInt/parseCsvInts)、URL 编码处理(encodeURIComponent),错误处理机制避免敏感信息泄露。

3. 功能边界清晰:专注 Overseerr 稳定版 API,明确排除 beta 版 Seerr 重写项目,避免版本兼容性问题。

4. 部署轻量:单脚本文件即可运行,适合嵌入式场景和容器化部署。

潜在缺点与局限性

  • 来源可信度限制:由个人开发者维护(T3 来源),非 Overseerr 官方团队出品,企业级支持能力有限。
  • 功能覆盖范围:仅支持核心请求管理,不包含 Overseerr 的用户管理、通知配置等高级功能。
  • 交互模式单一:纯 CLI 交互,无图形界面或交互式 TUI,对非技术用户不够友好。
  • 轮询效率:监控功能基于客户端轮询,非服务端推送,高频轮询可能对 Overseerr 实例造成轻微负载。

适合的目标群体

  • 家庭媒体服务器管理员:运行 Jellyfin/Plex + Overseerr 组合的自托管用户
  • 自动化工作流构建者:需要将媒体请求集成到现有脚本或 CI/CD 流程的开发者
  • 隐私敏感型用户:追求零第三方依赖、完全可控的本地工具
  • 技术爱好者:熟悉 Node.js 和命令行操作,希望深度定制媒体管理流程

使用风险

  • 配置依赖风险:功能完全依赖正确配置的环境变量,配置错误将导致 API 连接失败
  • 网络暴露风险:若 Overseerr 实例通过公网访问,建议强制 HTTPS 并妥善保管 API Key
  • 版本锁定风险:Overseerr API 未来变更可能导致兼容性问题,需关注 skill 更新
  • 权限边界风险:API Key 权限等同于 Overseerr 用户权限,需遵循最小权限原则配置

安全解读

核心功能

Overseerr Skill 为用户提供与自托管媒体请求平台 Overseerr 的完整交互能力,涵盖三大核心场景:

搜索发现:通过 search.mjs 脚本查询电影或剧集元数据,支持类型过滤(--type tv/movie)和结果数量限制(--limit)。

智能请求request.mjs 支持精细化请求控制——可选择 4K 版本(--is4k)、指定 TV 季度(--seasons 1,2all),自动匹配 TMDB ID 完成提交。

状态监控requests.mjs 提供请求队列筛选(pending/processing/available 等),monitor.mjs 实现持续轮询跟踪,适合集成自动化工作流。

显著优点

  • 零依赖架构:仅使用 Node.js 内置 fetch,彻底规避 npm 供应链攻击风险
  • 私有部署优先:所有 API 调用严格指向用户配置的本地实例,数据不出境
  • 凭证安全:API 密钥通过环境变量注入,无硬编码泄露隐患
  • 协议兼容:完整支持 Overseerr 官方 API(含 X-Api-Key 认证与 CSRF 保护)

潜在局限

1. 来源可信度:维护者为个人开发者(j1philli),长期更新响应能力存不确定性
2. 轮询开销monitor.mjswhile(true) 机制若间隔设置过短,可能对 Overseerr 服务器造成压力

3. 网络健壮性:当前 fetch 未配置超时与重试,弱网环境易挂起

4. URL 校验缺失:未验证 OVERSEERR_URL 协议格式,误配 file:// 等非 HTTP 协议可能引发异常

适合人群

  • 已部署 Plex/Jellyfin + Overseerr 的家庭影院用户
  • 希望将媒体请求流程集成到 Clawdbot 自动化场景的进阶玩家
  • 注重供应链安全、倾向零依赖架构的隐私敏感型用户

常规风险

| 场景 | 风险 | 缓解建议 |
|------|------|----------|
| 密钥泄露 | 环境变量被进程导出或日志打印 | 检查 shell 历史记录,避免 `echo $OVERSEERR_API_KEY` |
| SSRF 诱导 | 恶意诱导配置攻击者控制的 URL | 仅配置可信内网地址,避免公网暴露 |
| 资源耗尽 | 高频轮询导致 Overseerr 实例过载 | 监控间隔建议 ≥60 秒,生产环境改用 Webhook 推送 |
| 版本漂移 | Overseerr 升级后 API 变更 | 关注官方 changelog,Skill 更新前备份配置 |

overseerr 内容

scripts文件夹
手动下载zip · 6.1 kB
lib.mjstext/javascript
请选择文件