This commit is contained in:
Yuvi9587
2025-07-11 01:24:56 -07:00
parent bcf26bea20
commit 404c4ca59a

182
readme.md
View File

@@ -1,42 +1,45 @@
<h1 align="center">Kemono Downloader v6.0.0</h1> <h1 align="center">Kemono Downloader v5.6.0</h1>
<table align="center"> <table align="center">
  <tr> <tr>
    <td align="center"> <td align="center">
      <img src="Read/Read.png" alt="Default Mode" width="400"/><br> <img src="Read/Read.png" alt="Default Mode" width="400"/><br>
      <strong>Default</strong> <strong>Default</strong>
    </td> </td>
    <td align="center"> <td align="center">
      <img src="Read/Read1.png" alt="Favorite Mode" width="400"/><br> <img src="Read/Read1.png" alt="Favorite Mode" width="400"/><br>
      <strong>Favorite mode</strong> <strong>Favorite mode</strong>
    </td> </td>
  </tr> </tr>
  <tr> <tr>
    <td align="center"> <td align="center">
      <img src="Read/Read2.png" alt="Single Post" width="400"/><br> <img src="Read/Read2.png" alt="Single Post" width="400"/><br>
      <strong>Single Post</strong> <strong>Single Post</strong>
    </td> </td>
    <td align="center"> <td align="center">
      <img src="Read/Read3.png" alt="Manga/Comic Mode" width="400"/><br> <img src="Read/Read3.png" alt="Manga/Comic Mode" width="400"/><br>
      <strong>Manga/Comic Mode</strong> <strong>Manga/Comic Mode</strong>
    </td> </td>
  </tr> </tr>
</table> </table>
--- ---
A powerful, feature-rich GUI application for downloading content from **[Kemono.su](https://kemono.su)** (and its mirrors like kemono.party) and **[Coomer.party](https://coomer.party)** (and its mirrors like coomer.su). A powerful, feature-rich GUI application for downloading content from **[Kemono.su](https://kemono.su)** (and its mirrors like kemono.party) and **[Coomer.party](https://coomer.party)** (and its mirrors like coomer.su).
Built with PyQt5, this tool is designed for users who want deep filtering capabilities, customizable folder structures, efficient downloads, and intelligent automation, all within a modern and user-friendly graphical interface. Built with PyQt5, this tool is designed for users who want deep filtering capabilities, customizable folder structures, efficient downloads, and intelligent automation, all within a modern and user-friendly graphical interface.
*This v5.0.0 release marks a significant feature milestone. Future updates are expected to be less frequent, focusing on maintenance and minor refinements.*
*Update v5.2.0 introduces multi-language support, theme selection, and further UI refinements.*
<p align="center"> <p align="center">
  <a href="features.md"> <a href="features.md">
    <img alt="Features" src="https://img.shields.io/badge/📚%20Full%20Feature%20List-FFD700?style=for-the-badge&logoColor=black&color=FFD700"> <img alt="Features" src="https://img.shields.io/badge/📚%20Full%20Feature%20List-FFD700?style=for-the-badge&logoColor=black&color=FFD700">
  </a> </a>
  <a href="LICENSE"> <a href="LICENSE">
    <img alt="License" src="https://img.shields.io/badge/📝%20License-90EE90?style=for-the-badge&logoColor=black&color=90EE90"> <img alt="License" src="https://img.shields.io/badge/📝%20License-90EE90?style=for-the-badge&logoColor=black&color=90EE90">
  </a> </a>
  <a href="note.md"> <a href="note.md">
    <img alt="Note" src="https://img.shields.io/badge/⚠️%20Important%20Note-FFCCCB?style=for-the-badge&logoColor=black&color=FFCCCB"> <img alt="Note" src="https://img.shields.io/badge/⚠️%20Important%20Note-FFCCCB?style=for-the-badge&logoColor=black&color=FFCCCB">
  </a> </a>
</p> </p>
--- ---
@@ -45,81 +48,74 @@ Built with PyQt5, this tool is designed for users who want deep filtering capabi
Kemono Downloader offers a range of features to streamline your content downloading experience: Kemono Downloader offers a range of features to streamline your content downloading experience:
-   **User-Friendly Interface:** A modern PyQt5 GUI for easy navigation and operation. - **User-Friendly Interface:** A modern PyQt5 GUI for easy navigation and operation.
-   **Flexible Downloading:** - **Flexible Downloading:**
    -   Download content from Kemono.su (and mirrors) and Coomer.party (and mirrors). - Download content from Kemono.su (and mirrors) and Coomer.party (and mirrors).
    -   Supports creator pages (with page range selection) and individual post URLs. - Supports creator pages (with page range selection) and individual post URLs.
    -   Standard download controls: Start, Pause, Resume, and Cancel. - Standard download controls: Start, Pause, Resume, and Cancel.
-   **Powerful Filtering:** - **Powerful Filtering:**
    -   **Character Filtering:** Filter content by character names. Supports simple comma-separated names and grouped names for shared folders. - **Character Filtering:** Filter content by character names. Supports simple comma-separated names and grouped names for shared folders.
    -   **Keyword Skipping:** Skip posts or files based on specified keywords. - **Keyword Skipping:** Skip posts or files based on specified keywords.
    -   **Filename Cleaning:** Remove unwanted words or phrases from downloaded filenames. - **Filename Cleaning:** Remove unwanted words or phrases from downloaded filenames.
    -   **File Type Selection:** Choose to download all files, or limit to images/GIFs, videos, audio, or archives. Can also extract external links only. - **File Type Selection:** Choose to download all files, or limit to images/GIFs, videos, audio, or archives. Can also extract external links only.
-   **Customizable Downloads:** - **Customizable Downloads:**
    -   **Thumbnails Only:** Option to download only small preview images. - **Thumbnails Only:** Option to download only small preview images.
    -   **Content Scanning:** Scan post HTML for `<img>` tags and direct image links, useful for images embedded in descriptions. - **Content Scanning:** Scan post HTML for `<img>` tags and direct image links, useful for images embedded in descriptions.
    -   **WebP Conversion:** Convert images to WebP format for smaller file sizes (requires Pillow library). - **WebP Conversion:** Convert images to WebP format for smaller file sizes (requires Pillow library).
-   **Organized Output:** - **Organized Output:**
    -   **Automatic Subfolders:** Create subfolders based on character names (from filters or `Known.txt`) or post titles. - **Automatic Subfolders:** Create subfolders based on character names (from filters or `Known.txt`) or post titles.
    -   **Per-Post Subfolders:** Option to create an additional subfolder for each individual post. - **Per-Post Subfolders:** Option to create an additional subfolder for each individual post.
-   **Manga/Comic Mode:** - **Manga/Comic Mode:**
    -   Downloads posts from a creator's feed in chronological order (oldest to newest). - Downloads posts from a creator's feed in chronological order (oldest to newest).
    -   Offers various filename styling options for sequential reading (e.g., post title, original name, global numbering). - Offers various filename styling options for sequential reading (e.g., post title, original name, global numbering).
-   **⭐ Favorite Mode:** - **⭐ Favorite Mode:**
    -   Directly download from your favorited artists and posts on Kemono.su. - Directly download from your favorited artists and posts on Kemono.su.
    -   Requires a valid cookie and adapts the UI for easy selection from your favorites. - Requires a valid cookie and adapts the UI for easy selection from your favorites.
    -   Supports downloading into a single location or artist-specific subfolders.  - Supports downloading into a single location or artist-specific subfolders.
-   **Performance & Advanced Options:** - **Performance & Advanced Options:**
    -   **Cookie Support:** Use cookies (paste string or load from `cookies.txt`) to access restricted content. - **Cookie Support:** Use cookies (paste string or load from `cookies.txt`) to access restricted content.
    -   **Multithreading:** Configure the number of simultaneous downloads/post processing threads for improved speed. - **Multithreading:** Configure the number of simultaneous downloads/post processing threads for improved speed.
-   **Logging:** - **Logging:**
    -   A detailed progress log displays download activity, errors, and summaries. - A detailed progress log displays download activity, errors, and summaries.
-   **Multi-language Interface:** Choose from several languages for the UI (English, Japanese, French, Spanish, German, Russian, Korean, Chinese Simplified). - **Multi-language Interface:** Choose from several languages for the UI (English, Japanese, French, Spanish, German, Russian, Korean, Chinese Simplified).
-   **Theme Customization:** Selectable Light and Dark themes for user comfort. - **Theme Customization:** Selectable Light and Dark themes for user comfort.
--- ---
## ✨ What's New in v6.0.0 ## ✨ What's New in v5.3.0
- **Multi-Creator Post Fetching & Queuing:**
This release focuses on providing more granular control over file organization and improving at-a-glance status monitoring. - The **Creator Selection popup** (🎨 icon) has been significantly enhanced.
- After selecting multiple creators, you can now click a new "**Fetch Posts**" button.
### New Features - This will retrieve and display posts from all selected creators in a new view within the popup.
- **Live Error Count on Button**: The **"Error" button** now instantly shows you how many files have failed during a download. It will update with a live count, like **`(3) Error`**, so you can see the status without opening the dialog. - You can then browse these fetched posts (with search functionality) and select individual posts.
- **Date Prefix for Post Subfolders**: A new **"Date Prefix"** checkbox is available in the advanced settings. When used with the "Subfolder per Post" option, it automatically adds the post's upload date to the folder name (e.g., `2025-07-11 Post Title`), making it easy to sort your downloads chronologically. - A new "**Add Selected Posts to Queue**" button allows you to add your chosen posts directly to the main download queue, streamlining the process of gathering content from multiple artists.
- **Keep Duplicates Within a Post**: A **"Keep Duplicates"** checkbox has been added. This feature tells the downloader to save all files from a single post, even if they have the same name. Unique files will be saved with a numbered suffix (like `image_1.jpg`) instead of being skipped. - The traditional "**Add Selected to URL**" button is still available if you prefer to populate the main URL field with creator names.
- **Improved Favorite Download Queue Handling:**
### Bug Fixes & Quality of Life - When items are added to the download queue from the Creator Selection popup, the main URL input field will now display a placeholder message (e.g., "{count} items in queue from popup").
- The downloader is now more resilient and correctly renames large `.part` files upon completion. - The queue is now more robustly managed, especially when interacting with the main URL input field after items have been queued from the popup.
- The list of failed files in the Error Dialog is now correctly saved and restored with your session.
- Your selected download location will now be remembered even after clicking "Reset".
- The "Cancel" button is now enabled when a download is pending restoration, allowing you to discard the session easily.
- Internal cleanup messages have been removed from the final download log for a cleaner summary.
--- ---
## Next Update Plans ## ✨ What's New in v5.1.0
- **Enhanced Error File Management**: The "Error" button now opens a dialog listing files that failed to download. This dialog includes:
- An option to **retry selected** failed downloads.
- A new **"Export URLs to .txt"** button, allowing users to save links of failed downloads either as "URL only" or "URL with details" (including post title, ID, and original filename).
- Fixed a bug where files skipped during retry (due to existing hash match) were not correctly removed from the error list.
- **Improved UI Stability**: Addressed issues with UI state management to more accurately reflect ongoing download activities (including retries and external link downloads). This prevents the "Cancel" button from becoming inactive prematurely while operations are still running.
### 🔖 Post Tag Filtering (Planned for v6.1.0) ## ✨ What's New in v5.2.0
A new **"Filter by Post Tags"** feature will allow users to: - **Multi-language Support:** The interface now supports multiple languages: English, Japanese, French, Spanish, German, Russian, Korean, and Chinese (Simplified). Select your preferred language in the new Settings dialog.
- Filter and download content based on specific post tags - **Theme Selection:** Choose between Light and Dark application themes via the Settings dialog for a personalized viewing experience.
- Combine tag filtering with existing character filters and file types. - **Centralized Settings:** A new Settings dialog (accessible via a settings button, often with a gear icon) provides a dedicated space for language and appearance customizations.
- Use tag presets to streamline repetitive downloads. - **Internal Localization:** Introduced `languages.py` for managing UI translations, streamlining the addition of new languages by contributors.
This will give **greater control and precision** when downloading content from creators who use organized tagging. ---
### 📁 Creator Download History (.json Save)
To make incremental downloads easier, a new feature will let you:
- **Save a `.json` file** with information about the posts you've already downloaded from a creator.
- On future runs, the downloader will **compare this file to the live site** and download only **new posts**.
- Great for keeping collections up-to-date without redownloading old content.
This will be especially useful for users who regularly sync with creators and want to avoid duplicates or skipped posts.
## Installation ## Installation
### Requirements ### Requirements
-   Python 3.6 or higher - Python 3.6 or higher
-   pip (Python package installer) - pip (Python package installer)
### Install Dependencies ### Install Dependencies
Open your terminal or command prompt and run: Open your terminal or command prompt and run: