Skip to content

amikrsin/Image-Downloader-Pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Έ Image Downloader Pro - Chrome Extension

A powerful Chrome extension to download hundreds of images from any webpage, including lazy-loaded content. Bypasses Chrome's download limits with intelligent batch processing.

License: MIT Chrome Web Store Version

🌟 Features

  • πŸš€ Bypass Chrome's 28-Download Limit - Download 800+ images without restrictions
  • ⚑ Dual Download Methods - Choose between Direct Download (fast) or Extension API (organized)
  • πŸ”„ Smart Lazy Loading - Automatically scrolls through pages to trigger lazy-loaded images
  • 🎯 Intelligent Filtering - Filter by dimensions, include/exclude background images
  • πŸ“Š Real-Time Progress - Visual progress bar with live download counter
  • 🎨 Preset Filters - One-click dimension presets (All Images, Medium+, Large Only)
  • πŸ“ Auto Organization - Images organized by website and timestamp
  • πŸ” Comprehensive Scanning - Finds images in <img>, CSS backgrounds, <picture> elements

🎬 Demo

Before & After

  • Problem: Chrome limits downloads to ~28 images
  • Solution: Direct Download method bypasses the limit entirely

Screenshot

Extension Interface Modern, intuitive interface with preset filters and progress tracking

πŸš€ Installation

Option 1: Chrome Web Store (Coming Soon)

Extension is currently under review

Option 2: Manual Installation (Developer Mode)

  1. Download the Extension

    git clone https://github.com/yourusername/image-downloader-pro.git
    cd image-downloader-pro
  2. Install in Chrome

    • Open Chrome and navigate to chrome://extensions/
    • Enable "Developer mode" (toggle in top-right)
    • Click "Load unpacked"
    • Select the image-downloader-extension folder
    • Pin the extension to your toolbar

πŸ“– Usage

Quick Start

  1. Navigate to any webpage with images
  2. Click the Image Downloader Pro icon
  3. Configure your settings:
    • Choose download method (Direct for 100+ images)
    • Set dimension filters or use presets
    • Enable auto-scroll for lazy-loaded images
  4. Scan the page
  5. Download selected images

Download Methods

⚑ Direct Download (Recommended for 100+ images)

  • Bypasses Chrome's extension download limits
  • Downloads via webpage context
  • Faster processing (~150ms per image)
  • May show one "Allow downloads" prompt
  • Perfect for bulk downloads (500-1000+ images)

πŸ—‚οΈ Extension API

  • Uses Chrome's native download API
  • Auto-organizes files into folders
  • Silent downloads (no prompts)
  • Better for smaller batches (<25 images)
  • Hits Chrome's ~28 download limit for rapid downloads

Preset Filters

  • All Images (0Γ—0) - Captures every image, including icons
  • Medium+ (200Γ—200) - Excludes small icons and UI elements
  • Large Only (800Γ—600) - Only large photos and graphics

πŸ› οΈ Technical Details

Architecture

image-downloader-pro/
β”œβ”€β”€ manifest.json          # Extension configuration
β”œβ”€β”€ popup.html            # Main UI
β”œβ”€β”€ popup.css             # Styling
β”œβ”€β”€ popup.js              # Core functionality
β”œβ”€β”€ background.js         # Service worker
β”œβ”€β”€ direct-download.js    # Direct download implementation
└── icons/                # Extension icons

Key Technologies

  • Manifest V3 - Latest Chrome extension standard
  • Content Scripts - Injected into web pages for image extraction
  • Service Workers - Background processing for downloads
  • Chrome APIs - downloads, scripting, activeTab

How It Works

  1. Image Extraction

    • Scans DOM for <img> elements
    • Checks CSS background-image properties
    • Examines <picture> and <source> elements
    • Detects lazy-loaded images (data-src, data-lazy-src)
  2. Lazy Loading Handling

    • Automatically scrolls through page
    • Waits for images to load after each scroll
    • Re-scans DOM for newly loaded content
    • Scrolls back to top when complete
  3. Download Processing

    • Direct Method: Creates anchor elements in page context
    • Extension API: Uses chrome.downloads with batching
    • Implements rate limiting and retry logic
    • Tracks success/failure for each image

Rate Limiting Strategy

// Direct Download
DELAY_PER_IMAGE: 150ms
No batch limits - handles 1000+ images

// Extension API
BATCH_SIZE: 5 images
DELAY_BETWEEN_BATCHES: 3000ms (3 seconds)
DELAY_BETWEEN_DOWNLOADS: 500ms

πŸ“Š Performance

Scenario Images Time Method
Small batch 1-50 30s Either
Medium batch 50-200 1-2 min Direct
Large batch 200-500 2-4 min Direct
Very large 500-1000 4-8 min Direct
Extreme 1000+ 8-15 min Direct

πŸ”§ Troubleshooting

No Images Found

  • Lower dimension filters (try 0Γ—0)
  • Enable "Auto-scroll to load lazy images"
  • Check if page requires login
  • Some sites block extensions

Downloads Stop at 28

  • Switch to "Direct Download" method
  • This bypasses Chrome's extension API limits

Downloads Not Starting

  • Click "Allow" when Chrome asks for permission
  • Check if downloads are blocked in Chrome settings
  • Verify sufficient disk space

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ Development Roadmap

  • Firefox extension support
  • Image preview before download
  • Custom filename templates
  • Duplicate image detection
  • Image format conversion
  • Cloud storage integration (Google Drive, Dropbox)
  • Scheduled downloads
  • Download queue management

βš–οΈ Legal & Ethics

Responsible Use

  • Respect copyright and intellectual property rights
  • Only download images you have permission to use
  • Check website terms of service
  • Don't use for commercial purposes without proper licenses

Disclaimer

This tool is provided for legitimate use cases such as:

  • Archiving your own content
  • Research and academic purposes
  • Personal use and backup
  • Web development reference

The developers are not responsible for misuse of this extension.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Amikrsin

πŸ™ Acknowledgments

  • Built with assistance from Claude AI
  • Inspired by the need to overcome Chrome's download limitations
  • Thanks to the open-source community

πŸ“ž Support

If you find this project helpful, please:

  • ⭐ Star this repository
  • πŸ› Report bugs via Issues
  • πŸ’‘ Suggest features via Discussions
  • πŸ“’ Share with others who might need it

Made with ❀️ and AI assistance | Solving real problems with smart solutions

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors