Universal Image Uploader

Paste/drag/select images, batch upload to Imgur/Tikolu/MJJ.Today/Appinn; auto-copy Markdown/HTML/BBCode/link; site button integration with SPA observer; local history.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Аўтар
Pipecraft
Усталяванняў за дзень
0
Усяго ўсталяванняў
19
Рэйтынг
1 0 0
Версія
0.6.2
Створаны
22.10.2025
Абноўлены
25.11.2025
Памер
81.8 КБ
Ліцэнзія
MIT
Ужываецца на
Усе сайты

Universal Image Uploader

A user script that lets you paste, drag, or select images and batch-upload them to Imgur or Tikolu or MJJ.Today or Appinn (selectable provider), then auto-copy the result in Markdown/HTML/BBCode/plain link. It also integrates configurable site buttons (works with SPA pages) and keeps a local upload history for quick reuse.

中文版

screencapture

screencapture

screencapture

screencapture

screencapture

screencapture

Features (MVP)

  • 📥 Paste, drag-and-drop, or file picker to collect images
  • 📤 Batch upload to Imgur/Tikolu/MJJ.Today/Appinn with progress display
  • 📋 Auto-copy output in Markdown / HTML / BBCode / Link
  • 🕘 Local history to quickly re-copy and reuse uploads
  • 🔘 Optional site button injection with SPA observer (per-site settings)

Installation

Prerequisites

Install one of the following user script managers:

Install Script

  1. Click here to install the script from GitHub
  2. Click here to install the script from Greasy Fork
  3. Click here to install the script from ScriptCat

Usage

  • Open any site, paste or drop images onto the page, or use the panel’s file picker
  • Watch the upload queue and progress
  • Choose upload provider via the panel’s host selector (Imgur/Tikolu/MJJ.Today/Appinn)
  • Choose proxy via the panel’s proxy selector (default None; Imgur not supported)
  • When finished, the script auto-copies based on your selected format
  • Use history to quickly copy past uploads

Output Formats

  • Markdown: ![alt](url)
  • HTML: <img src="url" alt="alt" />
  • BBCode: [img]url[/img]
  • Link: url

Configuration

  • Per-site upload provider: remember Imgur / Tikolu / MJJ.Today / Appinn
  • Per-site proxy: remember None / wsrv.nl (Imgur not supported; when wsrv.nl is selected, outputs and history copy/open use https://wsrv.nl/?url=${encodeURIComponent(url)})
  • Per-site output format: remember Markdown / HTML / BBCode / Link
  • Per-site button injection (optional): selector, position (before | inside | after), text

Site Button Settings

  • Open the panel and switch to "Settings".
  • Enter a CSS selector for the target element (e.g., .comment-screenshot-control).
  • Choose position: Before inserts before, After inserts after, Inside appends as the last child.
  • Set button content: plain text or a single-root HTML snippet. Leaving it empty uses the localized default.
  • Click Save & Insert to persist the rule locally and inject immediately. A DOM observer keeps it inserted on SPA pages.
  • Use Remove button (temporary) to clear injected buttons without deleting rules.
  • Use Clear settings to remove all saved rules.
  • Each rule in the list supports Edit and Delete.
  • Tips: prefer stable, unique selectors to avoid multiple insertions.

Roadmap (Planned / Not Yet Implemented)

  • 🌐 Multi-provider uploads: SM.MS, Cloudflare Images, self-hosted S3/MinIO
  • 🛠 Image processing options: quality, resize, compression, format (JPEG/PNG/WebP), EXIF removal
  • 📦 Queue controls: concurrency slider, retry/backoff, cancel/pause
  • 🧩 Template system: fully customizable output formats and HTML snippets
  • 🗂 History enhancements: filters by time/provider/tags, batch copy, faster reuse

Changelog

v0.6.x

  • Per-site enable toggle via command menu; refresh page to apply.
  • Per-site paste and drag-and-drop toggles in Settings; preset sites default to enabled.
  • Support pasting multiple images at once.
  • Paste/drag toggles take effect immediately without page reload.
  • Insert upload-status placeholders into the target input and replace on success/failure.

v0.5.x

  • Add MJJ.Today upload provider.
  • Add Appinn upload provider.

v0.4.x

  • Support custom format templates.
  • Switch Imgur upload from fetch to GM_xmlhttpRequest to avoid CORS.
  • Extract shared gmRequest helper to unify upload provider requests.

v0.3.x

  • Settings storage migrated to a unified per-site map, consolidating previously separate keys into a single structure. Example shape: { format?, host?, proxy?, btns?: [...] }.
  • Panel UI is now rendered inside a Shadow DOM for style isolation from host sites. Internal styles use :host; the drop overlay (#uiu-drop) and site-injected buttons (.uiu-insert-btn) remain in the page DOM.
  • Added clear “open” visuals and accessibility states (aria-pressed) for History and Settings toggles.
  • Shadow-DOM-aware focus tracking: resolves editable targets inside nested open shadow roots and same-origin iframes; excludes the script’s panel from being tracked as a target.
  • Trusted Types compliance: avoid innerHTML clears (use textContent = ''), and parse custom button HTML via Range.createContextualFragment to prevent TT violations on strict sites.
  • Backward compatibility: existing settings are migrated automatically; no manual action required.

v0.2.x

  • Added proxy option: None / wsrv.nl; Imgur not supported; when wsrv.nl is selected, outputs and history copy/open use https://wsrv.nl/?url=${encodeURIComponent(url)}
  • Added Tikolu upload provider; choose Imgur/Tikolu via panel host selector
  • Added last-focused input tracking: when clicks cause focus loss (e.g., upload), insert into the last visited input and restore focus; improved caret fallback for contentEditable elements

v0.1.0

  • Initial MVP: Imgur upload, batch & progress, auto-copy (Markdown/HTML/BBCode/Link), local history, SPA-aware button injection

More Useful Scripts

🏷️ UTags - Add User Tags to Links

  • Link: Greasy Fork
  • Features: Add custom tags and notes to user, post, video and other links
  • Highlights: Support special tag filtering (like spam, block, clickbait, etc.), data export/import, auto-mark viewed posts
  • Supported Sites: V2EX, X(Twitter), Reddit, GitHub, Bilibili, Zhihu, Linux.do, Youtube and 50+ websites
  • Description: Super useful tag management tool for adding tags to forum users or posts, making it easy to identify or block low-quality content

🧰 UTags Advanced Filter

  • Link: Greasy Fork · ScriptCat · GitHub
  • Features: Real-time filtering and hiding of scripts on GreasyFork
  • Highlights: Available as both a userscript and a browser extension
  • Supported Sites: Greasy Fork
  • Description: A tool that supports real-time filtering and hiding on GreasyFork, available in userscript and browser extension versions

⚡ UTags Shortcuts

  • Link: Greasy Fork · ScriptCat · GitHub
  • Features: Per-site grouping, icon support, floating or sidebar navigation panel
  • Highlights: Floating/Sidebar modes, URL/JS script support, visual editor, keyboard shortcuts
  • Supported Sites: All websites
  • Description: A powerful userscript that streamlines your browsing workflow with a customizable navigation panel for quick access to favorite links and scripts

🔗 Links Helper

  • Link: Greasy Fork
  • Features: Open third-party website links in new tabs, parse text links into hyperlinks
  • Highlights: Support custom rules, parse Markdown and BBCode formats, convert image links to image tags
  • Supported Sites: Universal for all websites, including Google, YouTube, GitHub, V2EX, etc.
  • Description: Enhance link browsing experience, automatically process various link formats for more convenient web browsing

🔍 Find Scripts For This Site

  • Link: Greasy Fork · ScriptCat · GitHub
  • Features: Quickly find scripts for the current site across multiple repositories
  • Highlights: Settings dialog, real-time sync, smart domain extraction
  • Supported Sites: All websites
  • Description: A user script to quickly find scripts for the current site across multiple repositories, now with a settings dialog and real-time sync across tabs

License

MIT License - see the LICENSE file for details.

Related Links