Ultra Galleries
Ultra Galleries is a powerful userscript that enhances the browsing and downloading experience on kemono.su, coomer.su, and nekohouse.su by adding features for image manipulation, viewing, and batch downloading. It was originally based on Better Kemono Galleries but has been significantly expanded and improved.
Overview
This userscript provides a seamless and efficient way to interact with image and video content on supported websites, making it easier to view, resize, download, and manage your favorite media.
Features
Image Viewing and Manipulation
- Original Resolution Loading: Directly loads images in their original resolution.
- Resize Options:
- Toggle to resize individual or all images in a gallery to fit:
- Vertical height (
FILL HEIGHT) - Horizontal width (
FILL WIDTH) - Full resolution (
FULL)
- Gallery View: A modern, feature-rich gallery view for easier browsing of images within a post.
- Zoom & Pan: Advanced zooming with mouse wheel, buttons, and double-click support, plus smooth panning capabilities.
Video Handling
- In-Gallery Playback: Videos now play directly within the gallery's expanded view with native controls.
- Video Sizing: New "Fill Height" button in the gallery toolbar allows vertical videos to fill the screen height for a better viewing experience.
- Batch Inclusion: Includes video files in batch downloads and preserves original filenames.
Downloading
- Individual Image Download: Download single images with a click.
- Batch Downloading: Download all images and videos from a post, packaged in a zip file.
- Custom Naming: Configurable naming patterns for zip files and individual images.
- Multi-Site Support: Accurately downloads assets from Kemono, Coomer, and Nekohouse by targeting the correct image URLs.
Performance and User Experience
- Optional Auto-Loading: New setting to disable automatic loading of original images. This allows the gallery to list all media instantly without downloading heavy files upfront, significantly improving initial page load speed. Images are then loaded on-demand when viewed.
- SPA Navigation: Robust UI injection and cleanup logic ensures the script works reliably on sites with dynamic page loading (Single-Page Applications).
- Optimized Image Loading: Refactored image discovery and processing for significantly faster performance, especially on posts with many images.
- Dynamic Notifications: A redesigned notification system provides real-time feedback that resets and updates correctly as you navigate.
- Retry Mechanism: Implements exponential backoff for failed image loads.
- Mobile Support: Touch-friendly interface with pinch-to-zoom and double-tap interactions.
Version History
Version 3.5.0 (Current)
- Video Playback Fix: Videos now play correctly inside the gallery expanded view.
- Video Fill Height: Added a "Fill Height" button to the gallery toolbar, allowing videos to scale vertically to fit the screen.
- Auto-Load Toggle: Added "Auto-load Original Images" setting (default: ON). When disabled, the script populates the gallery list immediately without fetching full-size images, allowing for much faster browsing on slow connections or heavy posts.
- Dependency Cleanup: Removed unused UPNG.js and Pako dependencies to lighten the script load.
Version 3.2.2
- Major Reliability Fix: Reworked the script's initialization logic to be fully compatible with single-page application (SPA) navigation. This resolves issues where the script would fail to load on subsequent posts or incorrectly trigger on non-post pages.
- Performance Optimization: Refactored image loading to use more efficient data structures (Map lookups), significantly improving performance on posts with a large number of images.
- Enhanced Notifications: The notification system is now more dynamic. It provides visual feedback when updating an existing message and correctly resets its auto-hide timer, ensuring users always see the latest status.
- Bug Fixes: Corrected a layout issue in the notification pop-up and eliminated race conditions that caused instability during page navigation.
Version 3.1.3
- Persistent Image Caching: Option to enable persistent image caching using IndexedDB (Dexie.js) for significantly faster image loading on revisits to previously viewed posts.
- PNG Optimization: Optional PNG optimization during ZIP creation (using UPNG.js and Pako) to reduce file sizes for downloaded archives.
Version 3.0.0
- Enhanced Zoom Controls: Improved zoom button visibility with color inversion for better accessibility against different backgrounds.
- Advanced Zoom & Pan: Smooth zoom functionality with mouse wheel, dedicated zoom buttons, and double-click support.
- Touch Support: Mobile-friendly interface with pinch-to-zoom, double-tap to zoom, and smooth touch panning for images.
- Inertia Panning: Momentum-based panning for smooth navigation of zoomed images.
- Expanded Settings Panel: New settings section for zoom and pan configuration including maximum zoom level and inertia preferences, as well as toggles for caching and PNG optimization.
Known Bugs
- Certain UI elements or functionalities may still have minor issues on
nekohouse.su.
Usage
After installation, navigate to a post on kemono.su, coomer.su, or nekohouse.su. You'll see new buttons for resizing and downloading images. Use the DL ALL button to initiate a batch download of all media in the post. The GALLERY button opens the new gallery view. Press the configured gallery key (default g) to quickly open the gallery.
Within the gallery view, you can open an image by clicking its thumbnail. Once in expanded view, navigate using the k (previous) and l (next) keys or the on-screen navigation buttons.
To zoom in on an image, use the mouse wheel, the zoom buttons in the toolbar, or double-click on the image. When zoomed in, click and drag to pan around the image. On mobile devices, use pinch gestures to zoom and swipe to pan.
For videos, use the "Fill Height" button in the toolbar to expand the video vertically. If you prefer faster page loads, disable "Auto-load Original Images" in the settings (⚙️); images will then load only when you click on them.
Dependencies
Acknowledgments
Version
Current version: 3.5.0