Skip to content

v1.5.0 — Download Management & Resource Extraction

Choose a tag to compare

@redf0x1 redf0x1 released this 20 Feb 04:38
· 173 commits to main since this release

What's New

Download Lifecycle Management

  • Register, list, get, delete downloads with TTL-based cleanup
  • Per-user download cap (500 entries) with LRU eviction
  • Stream error handling on content delivery

Scoped DOM Resource Extraction

  • Extract images, links, media, documents from specific page containers
  • CSS selector scoping for targeted extraction
  • First-to-market: no existing tool provides scoped extraction as a first-class API

Batch Download Pipeline

  • Concurrent downloads with semaphore control
  • Data URI support (both base64 and URL-encoded)
  • Automatic error recovery for individual download failures

Blob URL Resolution

  • Firefox-compatible FileReader.readAsDataURL patt- Fi- Capped at 25 - Firefox-compatible FileReader.re E- Firefoxink Filtering
  • scope — CSS selector to scope link extraction
  • extension — Filter by file extension
  • downloadOnly — Only return download-like links

New REST Endpoints

  • GET /tabs/:tabId/downloads — List downloads for tab
  • GET /users/:userId/downloads — List all user downloads
  • GET /downloads/:downloadId — Get download metadata
  • GET /downloads/:downloadId/content — Stream download content
  • DELETE /downloads/:downloadId — Delete download
  • POST /tabs/:tabId/extract-resources — Extract resources from DOM
  • POST /tabs/:tabId/batch-download — Batch download resources
  • POST /tabs/:tabId/resolve-blobs — Resolve blob: URLs

Quality

  • 5 quality review rounds (38/40 final score)
  • 4 critical + 6 major issues found and fixed during deep review
  • 34 new unit tests (173 total)

npm: npm install camofox-browser@1.5.0