Security
- The private-URL check now fails closed when the URL host cannot be resolved and yt-dlp has no possible proxy (no
YTDLP_PROXY,YTDLP_IGNORE_CONFIG=true, and noHTTP(S)_PROXY/ALL_PROXY). Setups that may use a proxy keep the previous pass-through behavior, since proxy-only networks often cannot resolve external names locally. - Documented the scope of the check: it validates the entry URL only. yt-dlp makes its own connections afterwards, so HTTP redirects to internal addresses and DNS rebinding are not covered. If reaching internal services matters for your deployment (e.g. shared or cloud-hosted), restrict outbound traffic at the network layer (container network policy, firewall, blocking
169.254.169.254). See Private URL Blocking.
Changed
assertPublicUrl(url, config)now takes the config object instead of theallowPrivateUrlsboolean.
Thanks to @stunninghacker for the follow-up analysis (#33).
Install / upgrade:
npx @kevinwatt/yt-dlp-mcp@0.10.2