https://github.com/olayzen/pydownloader4downloads.khinsider
Download almost any album from downloads.khinsider using a multithreaded python script
https://github.com/olayzen/pydownloader4downloads.khinsider
music-downloader mutlithreading python
Last synced: 18 days ago
JSON representation
Download almost any album from downloads.khinsider using a multithreaded python script
- Host: GitHub
- URL: https://github.com/olayzen/pydownloader4downloads.khinsider
- Owner: OlaYZen
- License: mit
- Created: 2024-01-16T09:19:02.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-11T09:38:59.000Z (over 1 year ago)
- Last Synced: 2025-01-21T11:12:38.527Z (10 months ago)
- Topics: music-downloader, mutlithreading, python
- Language: Python
- Homepage: https://downloads.khinsider.com/
- Size: 37.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KHInsider Album Downloader
> [!NOTE]
> **NO ACCOUNT NEEDED:**
> This script allows you to download entire albums **without** requiring a khinsider account, unlike the website which requires registration for bulk downloads.
A high-performance, multithreaded Python script for downloading complete music albums from [downloads.khinsider.com](https://downloads.khinsider.com/). Perfect for downloading video game soundtracks and other music collections without requiring a khinsider account.
## Features
- 🎵 **Smart Quality Selection**: Automatically downloads the highest quality audio format available (FLAC → MP3 → M4A)
- 🚫 **No Account Required**: Download entire albums without needing a khinsider account
- ⚡ **Multithreaded Downloads**: Configurable concurrent downloads for maximum speed
- 📁 **Organized Storage**: Creates clean folder structures with sanitized album names
- 🔄 **Retry Logic**: Automatic retry mechanism for failed downloads
- ⚙️ **Configurable Settings**: Customizable download paths, thread counts, and format priorities
- 📊 **Progress Tracking**: Real-time download progress with visual indicators
## Installation
1. **Clone the repository**
```bash
git clone https://github.com/OlaYZen/pydownloader4downloads.khinsider.git
cd pydownloader4downloads.khinsider
```
2. **Install dependencies**
```bash
pip install -r requirements.txt
```
## Usage
1. **Run the script**
```bash
python Downloader.py
```
2. **Enter the album URL** when prompted
```
Enter the URL: https://downloads.khinsider.com/game-soundtrack/album-name
```
3. **Wait for download completion**
- Files will be organized in folders by album name
- Progress bars will show download status
- Failed downloads will be reported at the end
## Configuration
Customize the script behavior by editing `settings.ini`:
### Download Settings
```ini
[Download]
priority_order = flac, mp3, m4a # Audio format preference
download_path = # Custom download directory (optional)
```
### Performance Settings
```ini
[Threads]
max_workers = 1 # Number of concurrent downloads (0 = use all CPU cores)
[Retries]
max_retries = 2 # Retry attempts for failed downloads
```
### Example Custom Paths
- **Windows**: `C:\Music\Downloads`
- **Linux/Mac**: `/home/user/Music/Downloads`
- **Leave empty** to use default `Audio files/` folder
## System Requirements
- **Python**: 3.7 or higher
- **RAM**: 8GB recommended (4GB minimum)
- **Storage**: Sufficient space for audio files
- **Internet**: Stable connection for downloads
## File Organization
Downloads are organized as follows:
```
Audio files/
└── Album Name (Platform) (Type) (Year)/
├── 01. Track Name.flac
├── 02. Track Name.flac
└── ...
```
## Troubleshooting
- **Script crashes**: Reduce `max_workers` in settings.ini or ensure sufficient RAM
- **Failed downloads**: Check internet connection; failed URLs will be listed at completion
- **Slow performance**: Increase `max_workers` (but not beyond your CPU core count)
- **Permission errors**: Ensure write permissions for the download directory
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.