- Run
npm run build
to create thedist
folder - Open Chrome and go to
chrome://extensions/
- Enable "Developer mode" in the top right
- Click "Load unpacked" and select the
dist
directory
- Download the latest release from the Chrome Web Store (coming soon)
- Or download the latest build from the releases page
- Navigate to a webpage containing media files
- The extension will automatically detect media files and display a side panel
- Switch between Videos and Images tabs to view available media
- Click individual items to download them, or use "Download All" to get everything
- The background color of items will indicate download status:
- Gray: Downloading
- Green: Successfully downloaded
- Red: Download failed
- Built with Chrome Extension Manifest V3
- Modern JavaScript (ES6+) transpiled with Babel
- Webpack for module bundling and asset management
- Object-oriented architecture with separate concerns:
MediaDetector
: Handles media file detectionSidePanel
: Manages UI interactionsUtils
: Common utility functions
- Implements MutationObserver for dynamic content detection
- Features retry mechanism for failed downloads
- Optimized download queuing system
npm run watch
: Start development mode with auto-reloadnpm run dev
: Build for developmentnpm run build
: Build for productionnpm run test
: Run tests (coming soon)
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors
- Inspired by various media download extensions
- Built with modern web technologies
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue if your problem isn't already listed
- Provide as much detail as possible about your problem