Tampermonkey script + Cloudflare Worker combo for downloading media from X (Twitter)
Inspired from https://github.com/imputnet/cobalt
- 🎥 One-click video/download button on X tweets
- 🌩️ Cloudflare Worker backend for reliable media resolution
- 🔒 Rate limiting protection (100 requests/min per IP)
- 📷 Supports both videos and images
- 🔧 Configurable API endpoint via Tampermonkey menu
- Create new Cloudflare Worker
- Add KV namespace named
RATE_LIMIT_KV
- Deploy this worker code
// worker.js contents from provided codebase
- Note your worker URL (format:
your-subdomain.workers.dev
)
- Install Tampermonkey browser extension
- Create new user script and paste contents of
user.js
- Configure worker URL:
- Click Tampermonkey icon > "Set x Video Resolver API URL"
- Enter your Cloudflare Worker URL (e.g.,
https://your-worker.workers.dev
)
- Navigate to any X (Twitter) tweet page or timeline
- Look for download button (↓ icon) in tweet actions
- Click to open media in new tab
- Right-click video/image to save
- Rate limiting uses Cloudflare KV storage
- Media extraction handles multiple quality levels
- Automatic guest token management
-
If downloads stop working:
- Check for script updates
- Re-validate Cloudflare Worker URL
- Use Tampermonkey's "Check for updates" feature
-
Common error messages:
- "Rate limit exceeded" - Wait 1 minute before new requests
- "Failed to obtain guest token" - Worker needs re-deployment
- "No media found" - Tweet doesn't contain downloadable media
MIT License