Update readme.md

This commit is contained in:
Yuvi9587 2025-05-08 20:24:22 +05:30
parent c0c2db709b
commit fe0b369446

217
readme.md
View File

@ -1,108 +1,149 @@
# Kemono Downloader
# Kemono Downloader v3.0.0
A simple, multi-platform GUI application built with PyQt5 to download content from Kemono.su or Coomer.party creator pages or specific posts, with options for filtering and organizing downloads.
A feature-rich GUI application built with PyQt5 to download content from [Kemono.su](https://kemono.su) or [Coomer.party](https://coomer.party) pages. It offers a wide array of filtering, organizing, and performance-tuning options including manga-specific handling, content deduplication, thread control, and smart folder creation.
## Features
---
* **GUI Interface:** Easy-to-use graphical interface.
* **URL Support:** Download from a creator's main page (paginated) or a specific post URL from Kemono or Coomer sites.
* **Download Location:** Select your desired output directory.
* **Subfolder Organization:**
* Organize downloads into folders based on character/artist names found in post titles (using your "Known Names" list).
* Option to create a custom folder for single post downloads.
* Automatic folder naming based on post title if no known names are matched.
* **Known Names List:** Manage a persistent list of known names (artists, characters, series) for improved folder organization and filtering.
* **Content Filtering:**
* **Character/Name Filter:** Only download posts where the specified known name is found in the title.
* **File Type Filter:** Download All Files, Images/GIFs Only, or Videos Only.
* **Skip Words Filter:** Specify a list of comma-separated words to skip posts or files if these words appear in their titles or filenames.
* **Archive Skipping:** Options to skip `.zip` and `.rar` files (enabled by default).
* **Image Compression:** Optionally compress large images (larger than 1.5MB) to WebP format to save space (requires Pillow library).
* **Thumbnail Downloading:** Option to download thumbnails. (Note: The previous local API method for enhanced thumbnail fetching has been removed. Thumbnail availability might depend on the source.)
* **Duplicate Prevention:**
* Avoids re-downloading files with the same content hash.
* Checks for existing filenames in the target directory.
* **Multithreading:** Utilizes multithreading for faster downloads from full creator pages (single posts are processed in a single thread).
* **Progress Log:** View detailed download progress, status messages, and errors.
* **Dark Theme:** Built-in dark theme for comfortable use.
* **Download Management:**
* Ability to cancel an ongoing download process.
* Option to skip the specific file currently being downloaded (in single-thread mode).
* **Persistent Configuration:** Saves the "Known Names" list to a local file.
## 🚀 What's New in v3.0.0
## Prerequisites
* **Manga Mode**: Smart file renaming based on post titles and upload sequence; handles single-image-per-post manga.
* **Enhanced Logging**:
* Python 3.6 or higher
* `pip` package installer
* Toggle between **Basic** and **Advanced** views.
* Live log resizing and improved readability.
* **Dynamic Thread Control**:
## Installation
* Adjustable worker thread count.
* Warnings and auto-caps on high thread values to prevent system slowdown or site rate-limiting.
* **Advanced Skip Filters**:
1. Clone or download this repository/script to your local machine.
2. Navigate to the script's directory in your terminal or command prompt.
3. Install the required Python libraries:
```bash
pip install PyQt5 requests Pillow
```
*(Pillow is required for image compression and potentially for basic image handling.)*
* Skip posts/files based on title/filename keywords.
* Visual cues in logs when posts are skipped.
* **External Link Detection**: Option to show extracted cloud/drive links in the log.
* **Cleaner UI**:
## How to Run
* Redesigned layout.
* Collapsible advanced settings.
* Real-time feedback with improved progress indicators.
1. Make sure you have followed the installation steps.
2. Open your terminal or command prompt and navigate to the script's directory.
3. Run the script using Python:
```bash
python main.py
```
---
## How to Use
## 🧩 Core Features
1. **URL Input:** Enter the URL of the Kemono/Coomer creator page (e.g., `https://kemono.su/patreon/user/12345`) or a specific post (e.g., `https://kemono.su/patreon/user/12345/post/67890`) into the "Kemono Creator/Post URL" field.
2. **Download Location:** Use the "Browse" button to select the root directory where you want to save the downloaded content.
3. **Custom Folder Name (Single Post Only):** If downloading a single post and "Separate Folders" is enabled, you can specify a custom folder name for that post's content.
4. **Filter by Show/Character Name (Optional):** If "Separate Folders" is enabled, enter a name from your "Known Names" list. Only posts with titles matching this name will be downloaded into a folder named accordingly. If empty, the script will try to match any known name or derive a folder name from the post title.
5. **Skip Posts/Files with Words:** Enter comma-separated words (e.g., `WIP, sketch, preview`). Posts or files containing these words in their title/filename will be skipped.
6. **File Type Filter:**
* **All:** Downloads all files.
* **Images/GIFs:** Downloads common image formats and GIFs.
* **Videos:** Downloads common video formats.
7. **Options (Checkboxes):**
* **Separate Folders by Name/Title:** Enables creation of subfolders based on known names or post titles. Controls visibility of "Filter by Show/Character Name" and "Custom Folder Name". (Default: On)
* **Download Thumbnails Only:** Attempts to download only thumbnails for posts. (Default: Off)
* **Skip .zip / Skip .rar:** Prevents downloading of these archive types. (Default: On)
* **Compress Large Images (to WebP):** Compresses images larger than 1.5MB. (Default: Off)
* **Use Multithreading:** Enables faster downloads for full creator pages. (Default: On)
8. **Known Names List:**
* The list on the left ("Known Shows/Characters") displays names used for folder organization and filtering. This list is saved in `Known.txt`.
* Use the input field below the list and the " Add" button to add new names.
* Select names and click "🗑️ Delete Selected" to remove them.
* A search bar above the list allows you to filter the displayed names.
9. **Start Download:** Click "⬇️ Start Download" to begin.
10. **Cancel / Skip:**
* **❌ Cancel:** Stops the entire download process.
* **⏭️ Skip Current File:** (Only in single-thread mode during file download) Skips the currently downloading file and moves to the next.
11. **Progress Log:** The area on the right shows detailed logs of the download process, including fetched posts, saved files, skips, and errors.
* **GUI Interface**: User-friendly PyQt5-based design.
* **Supports Post and Creator URLs**: Handles individual post downloads or full creator feeds.
* **Smart Folder System**:
## Building an Executable (Optional)
* Organizes downloads using post title, known character/show names, or a custom folder per post.
* Automatically detects and names folders based on matching keywords.
* **Known Names Manager**:
You can create a standalone `.exe` file for Windows using `PyInstaller`.
* Add, search, and delete known characters/shows for smarter file organization.
* Persistently saved to `Known.txt`.
* **Advanced Filters**:
1. Install PyInstaller: `pip install pyinstaller`
2. Obtain an icon file (`.ico`). Place it in the same directory as `main.py`.
3. Open your terminal in the script's directory and run:
```bash
pyinstaller --name "YourAppName" --onefile --windowed --icon="your_icon.ico" main.py
```
Replace `"YourAppName"` with your desired application name and `"your_icon.ico"` with the actual name of your icon file.
4. The executable will be found in the `./dist` folder.
* Filter posts by known names in titles.
* Skip posts or files containing words like `WIP`, `sketch`, etc.
* Filter by media type: images, GIFs, or videos only.
* **Archive Control**:
## Configuration
* Skip `.zip` and `.rar` files.
* **Image Compression**:
The application saves your list of known names (characters, artists, series, etc.) to a file named `Known.txt` in the same directory as the script (`main.py`). Each name is stored on a new line. You can manually edit this file if needed.
* Convert large images (>1.5MB) to WebP (requires Pillow).
* **Thumbnails Only**:
## Dark Theme
* Uses a local API to fetch and download thumbnail previews instead of full files.
* **Multithreaded Downloads**:
The application uses a built-in dark theme for the user interface.
* Adjustable thread count with warnings at unsafe values.
* Full threading support for creators, single-threaded fallback for single posts.
* **Download Management**:
* Cancel in-progress downloads.
* Skip current file in single-thread mode.
* **Dark Mode**: Clean and modern dark UI theme.
---
## 🔧 Backend Logic Enhancements
* **Post Order Management**:
* Manga Mode reverses post fetch order to preserve original upload sequence.
* **Hash-based Deduplication**:
* Avoids re-downloading content already present.
* **Smart File Naming**:
* Handles inconsistent naming in multi-language manga posts.
* Applies cleaned post titles with page indices.
* **Efficient Progress Tracking**:
* Shows percentage, active download status, and current file.
* Summarizes per-post download outcomes.
* **Error Handling**:
* Catches broken links, HTTP issues, and content skips with clear log feedback.
---
## 📦 Installation
### Requirements:
* Python 3.6+
* Pip packages:
```bash
pip install PyQt5 requests Pillow
```
### Run it:
```bash
python main.py
```
---
## 🖥️ Build as .EXE
Use `PyInstaller` for a single-file Windows executable:
1. Convert `.png` icon to `.ico` format (if needed).
2. Run:
```bash
pyinstaller --noconsole --onefile --name "Kemono Downloader" --icon=Kemono.ico main.py
```
3. Your `.exe` will be inside the `dist/` folder.
---
## 💡 Usage Tips
1. **Enter a Creator/Post URL**.
2. **Set your Download Location**.
3. (Optional) Choose known characters to filter or organize.
4. Apply filters (skip keywords, file types).
5. Tweak thread settings or enable Manga Mode if needed.
6. Hit **Start Download** and monitor progress!
---
## 🗃️ Configuration File
* `Known.txt` stores known character/show names.
* Each name should be on a new line.
---
## 🤝 Contributing
Contributions are welcome! Open an issue or submit a pull request if you have improvements, bug reports, or feature ideas.
---
## Contributing
Contributions are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository (if applicable). If you want to contribute code, please fork the repository and create a pull request.