Repository navigation
Releases: fabwaseem/snagbox
Release list
v2.0.0
Snagbox 2.0.0 is the first release under this name. Paste a public link and the API queues a download, reports progress, and hands back a signed file link.
Snagbox
- The product, npm packages (
snagbox,@snagbox/shared), Docker labels, Compose project, and docs are Snagbox. - Arrow-into-tray mark, with the ember-to-magenta gradient (
#FF5E3Ato#FF2D87). - Browser playground at
/, with the logo, favicon, and the same palette. - New API keys use the
sb_prefix. Environment variable names are unchanged.
Platforms and generic mode
First-class support for YouTube, Instagram, TikTok, X, Facebook, Reddit, Vimeo, Bluesky, Threads, Pinterest, Twitch, SoundCloud, and Snapchat.
Set ALLOW_GENERIC_URLS=true to accept any other public http(s) URL that yt-dlp supports.
Queue
Jobs run on BullMQ when REDIS_URL is set, and on an in-memory queue when it is not. Redis also backs API-key rate limits and the media cache, each with an in-memory fallback.
Downloads, webhooks, and signed links
- One URL or a batch. Video or audio, quality, GIF, H.264, subtitles, thumbnails, embedded metadata, and a time clip.
- Live progress over server-sent events.
- Finished files are served from a signed link (
expandsig), from local disk or any S3-compatible bucket (R2, MinIO). - A finished or failed job can POST JSON to
callbackUrl, signed asX-Downloader-Signature: sha256=…(WEBHOOK_SECRET). - yt-dlp failures use stable codes:
BLOCKED,PRIVATE,GEO_RESTRICTED,LOGIN_REQUIRED,UNAVAILABLE,UNSUPPORTED.
SSRF guard
Private, loopback, and link-local addresses are rejected, including DNS answers and redirects that resolve to those ranges.
Metrics, playground, and the image
- Prometheus metrics at
/metrics, structured logs, andGET /v2/health. - OpenAPI at
/openapi.jsonand Swagger at/docs. - Docker Compose brings up the API, Postgres, and Redis. Optional profiles cover MinIO and bgutil.
- Railway deploy button. Health check is
GET /v2/health. - This tag publishes
ghcr.io/fabwaseem/snagbox:2.0.0andghcr.io/fabwaseem/snagbox:latest.
Upgrade
Point deploys at github.com/fabwaseem/snagbox and ghcr.io/fabwaseem/snagbox. Keep the existing environment variable names. Compose and production need BETTER_AUTH_SECRET. Leave AUTH_DISABLED unset on any host that is not only yours.