Ementhia / X Media Ripper

Published:

Version: 1.0.0+bdc5279

Summary: Adds a download button to X/Twitter posts. Saves images/GIFs/videos with organized filenames (media id, author, handle, tweet id) and auto-zips multi-media posts with _1, _2 order suffixes.

License: GPL-3.0-or-later; https://www.gnu.org/licenses/gpl-3.0.txt

Antifeature: unspecified

X Media Ripper

A Tampermonkey/Violentmonkey userscript for downloading all images, GIFs, and videos from X (Twitter) posts, with automatic zipping for multi-media posts.

Features

  • Batch Download: Downloads all images, GIFs, and videos attached to a post in one click.
  • Reliable Media Resolution: Pulls original-resolution photos and the highest-bitrate video/GIF file via X's public tweet-embed data, rather than scraping fragile blob/HLS video tags.
  • Button Integration: Adds a download button to the action bar next to Reply/Repost/Like/Views/Bookmark.
  • Progress Indicator: Shows live progress (e.g. 2/4, zip, ✓) on the button during download and zip creation.
  • Data Organization: Every file is named {media id}_{display name}_{@handle}_{tweet id}, so you can always trace a file back to its original artist/post.
  • Order Preservation: For posts with multiple media items, each file gets an _1, _2, _3... suffix matching its order in the post before being bundled into a single zip.
  • Zip Naming: Multi-media posts are zipped as {display name}_{@handle}_{tweet id}.zip.
  • Recycled-Node Safe: Re-checks each post on every scroll update so the button stays correct even as X reuses timeline DOM nodes for different tweets.
  • Works on: x.com and twitter.com.

Usage

  1. Install Tampermonkey or Violentmonkey in your browser.
  2. Add this userscript.
  3. Browse your X timeline, or open any individual post.
  4. Click the download icon in the action bar of any post containing media.
  5. Single-media posts save directly; multi-media posts are zipped automatically once all items finish downloading.

Notes

  • Media is fetched directly from pbs.twimg.com / video.twimg.com; if the primary lookup fails (e.g. protected or removed tweets), the script falls back to scraping visible images/videos on the page, which may be lower quality or unavailable for some videos.
  • Large or many-media posts may take longer to download and zip.
  • The script does not support chunked downloads or resume for very large video files.

License

GPL-3.0 https://www.gnu.org/licenses/gpl-3.0.txt

Rating: 0