Kemono-Downloader/readme.md

319 lines
12 KiB
Markdown
Raw Normal View History

2025-05-22 07:03:05 +05:30
<h1 align="center">Kemono Downloader v3.5.0</h1>
2025-05-21 17:20:16 +05:30
<div align="center">
<img src="https://github.com/Yuvi9587/Kemono-Downloader/blob/main/Read.png" alt="Kemono Downloader"/>
</div>
---
2025-05-08 20:24:22 +05:30
2025-05-16 16:08:48 +05:30
A powerful, feature-rich GUI application for downloading content from **[Kemono.su](https://kemono.su)** and **[Coomer.party](https://coomer.party)**.
2025-05-18 16:12:19 +05:30
Built with **PyQt5**, this tool is ideal for users who want deep filtering, customizable folder structures, efficient downloads, and intelligent automation — all within a modern, user-friendly graphical interface.
2025-05-15 08:45:32 +05:30
2025-05-16 16:08:48 +05:30
---
2025-05-08 20:24:22 +05:30
2025-05-23 17:22:54 +05:30
## What's New in v3.5.0?
2025-05-08 20:24:22 +05:30
2025-05-22 07:03:05 +05:30
Version 3.5.0 focuses on enhancing access to content and providing even smarter organization:
2025-05-23 17:22:54 +05:30
### Cookie Management
2025-05-22 07:03:05 +05:30
2025-05-23 17:22:54 +05:30
- **Access Content:** Seamlessly download from Kemono/Coomer as if you were logged in by using your browser's cookies.
2025-05-22 07:03:05 +05:30
- **Flexible Input:**
- Directly paste your cookie string (e.g., `name1=value1; name2=value2`).
- Browse and load cookies from a `cookies.txt` file (Netscape format).
- Automatic fallback to a `cookies.txt` file in the application directory if "Use Cookie" is enabled and no other source is specified.
- **Easy Activation:** A simple "Use Cookie" checkbox in the UI controls this feature.
- *Important Note: Cookie settings (text, file path, and enabled state) are configured per session and are not saved when the application is closed. You will need to re-apply them on each launch if needed.*
---
2025-05-23 18:19:30 +05:30
### Advanced `Known.txt` and Character Filtering
2025-05-22 07:03:05 +05:30
2025-05-23 18:06:47 +05:30
The `Known.txt` system has been revamped for improved performance and stability. The previous method of handling known names could become resource-intensive with large lists, potentially leading to application slowdowns or crashes. This new, streamlined system offers more direct control and robust organization.
2025-05-23 18:19:30 +05:30
The `Known.txt` file and the "Filter by Character(s)" input field work together to provide powerful and flexible content organization. The `Known.txt` file itself has a straightforward syntax, while the UI input allows for more complex session-specific grouping and alias definitions that can then be added to `Known.txt`.
2025-05-23 18:06:47 +05:30
2025-05-23 18:19:30 +05:30
**1. `Known.txt` File Syntax (Located in App Directory):**
2025-05-23 18:06:47 +05:30
2025-05-23 18:19:30 +05:30
`Known.txt` stores your persistent list of characters, series, or keywords for folder organization. Each line is an entry:
2025-05-23 18:06:47 +05:30
2025-05-23 18:19:30 +05:30
- **Simple Entries:**
- A line like `My Awesome Series` or `Nami`.
- **Behavior:** Content matching this term will be saved into a folder named "My Awesome Series" or "Nami" respectively (if "Separate Folders" is enabled).
- **Grouped Alias Entries (for a single character/entity):**
- Format: `(PrimaryFolderName, alias1, alias2, ...)`
- **Example:** `(Boa Hancock, Boa, Hancock)`
- **Behavior:** Content matching "Boa Hancock", "Boa", OR "Hancock" will be saved into a folder named "Boa Hancock". The first item in the parentheses is the primary folder name; all items are matching aliases.
- **Example:** `(Power, powwr, pwr, Blood Devil)` creates a folder "Power" for content matching any of those terms.
2025-05-23 18:06:47 +05:30
2025-05-23 18:19:30 +05:30
**2. "Filter by Character(s)" UI Input Field:**
This field allows for dynamic filtering for the current download session and provides options for how new entries are added to `Known.txt`.
- **Standard Names:**
- Input: `Nami, Robin`
- Session Behavior: Filters for "Nami" or "Robin". If "Separate Folders" is on, creates folders "Nami" and "Robin".
- `Known.txt` Addition: If "Nami" is new and selected for addition in the confirmation dialog, it's added as `Nami` on a new line in `Known.txt`.
- **Grouped Aliases for a Single Character (using `~`):**
- Input: `(Boa ~ Hancock)`
- Meaning: "Boa" and "Hancock" are different names for the *same character*.
- Session Behavior: Filters for "Boa" OR "Hancock". If "Separate Folders" is on, creates a single folder named "Boa Hancock".
- `Known.txt` Addition: If this group is new and selected for addition, it's added to `Known.txt` as a grouped alias entry, like `(Boa Hancock, Boa, Hancock)`.
- **Combined Folder for Distinct Characters (using `,` within parentheses):**
- Input: `(Vivi, Uta)`
- Meaning: "Vivi" and "Uta" are *distinct characters*, but for this download session, their content should be grouped into a single folder.
- Session Behavior: Filters for "Vivi" OR "Uta". If "Separate Folders" is on, creates a single folder named "Vivi Uta".
- `Known.txt` Addition: If this "combined group" is new and selected for addition, "Vivi" and "Uta" are added to `Known.txt` as *separate, individual simple entries* on new lines:
```
Vivi
Uta
```
The combined folder "Vivi Uta" is a session-only convenience; `Known.txt` stores them as distinct entities for future individual use.
**3. Interaction with `Known.txt`:**
- **Adding New Names from Filters:** When you use the "Filter by Character(s)" input, if any names or groups are new (not already in `Known.txt`), a dialog will appear after you start the download. This dialog allows you to select which of these new names/groups should be added to `Known.txt`, formatted according to the rules described above.
- **Intelligent Fallback:** If "Separate Folders by Name/Title" is active, and content doesn't match the "Filter by Character(s)" UI input, the downloader consults your `Known.txt` file for folder naming.
- **Direct Management:** You can add simple entries directly to `Known.txt` using the list and "Add" button in the UI's `Known.txt` management section. For creating or modifying complex grouped alias entries directly in the file, or for bulk edits, click the "Open Known.txt" button. The application reloads `Known.txt` on startup or before a download process begins.
2025-05-22 07:03:05 +05:30
---
2025-05-23 17:22:54 +05:30
## What's in v3.4.0? (Previous Update)
2025-05-18 16:12:19 +05:30
This version brings significant enhancements to manga/comic downloading, filtering capabilities, and user experience:
2025-05-08 20:24:22 +05:30
2025-05-23 17:22:54 +05:30
### Enhanced Manga/Comic Mode
2025-05-18 16:12:19 +05:30
- **New "Date Based" Filename Style:**
- Perfect for truly sequential content! Files are named numerically (e.g., `001.jpg`, `002.jpg`, `003.ext`...) across an *entire creator's feed*, strictly following post publication order.
- **Smart Numbering:** Automatically resumes from the highest existing number found in the series folder (and subfolders, if "Subfolder per Post" is enabled).
- **Guaranteed Order:** Disables multi-threading for post processing to ensure sequential accuracy.
- Works alongside the existing "Post Title" and "Original File Name" styles.
---
2025-05-23 17:22:54 +05:30
### "Remove Words from Filename" Feature
2025-05-18 16:12:19 +05:30
- Specify comma-separated words or phrases (case-insensitive) that will be automatically removed from filenames.
2025-05-21 17:20:16 +05:30
- Example: `patreon, [HD], _final` transforms `AwesomeArt_patreon` `Hinata_Hd` into `AwesomeArt.jpg` `Hinata.jpg`.
2025-05-18 16:12:19 +05:30
---
2025-05-23 17:22:54 +05:30
### New "Only Archives" File Filter Mode
2025-05-18 16:12:19 +05:30
- Exclusively downloads `.zip` and `.rar` files.
- Automatically disables conflicting options like "Skip .zip/.rar" and external link logging.
---
2025-05-23 17:22:54 +05:30
### Improved Character Filter Scope - "Comments (Beta)"
2025-05-18 16:12:19 +05:30
- **File-First Check:** Prioritizes matching filenames before checking post comments for character names.
- **Comment Fallback:** Only checks comments if no filename match is found, reducing unnecessary API calls.
---
2025-05-23 17:22:54 +05:30
### Refined "Missed Character Log"
2025-05-18 16:12:19 +05:30
- Displays a capitalized, alphabetized list of key terms from skipped post titles.
- Makes it easier to spot patterns or characters that might be unintentionally excluded.
---
2025-05-23 17:22:54 +05:30
### Enhanced Multi-part Download Progress
2025-05-18 16:12:19 +05:30
- Granular visibility into active chunk downloads and combined speed for large files.
---
2025-05-23 17:22:54 +05:30
### Updated Onboarding Tour
2025-05-18 16:12:19 +05:30
- Improved guide for new users, covering v3.4.0 features and existing core functions.
---
2025-05-23 17:22:54 +05:30
### Robust Configuration Path
2025-05-18 16:12:19 +05:30
2025-05-23 17:22:54 +05:30
- Settings and `Known.txt` are now stored in the same folder as app.
2025-05-18 16:12:19 +05:30
---
2025-05-23 17:22:54 +05:30
## Core Features
2025-05-08 20:24:22 +05:30
2025-05-15 08:45:32 +05:30
---
2025-05-10 11:11:35 +05:30
2025-05-18 16:12:19 +05:30
### User Interface & Workflow
- **Clean PyQt5 GUI** — Simple, modern, and dark-themed.
- **Persistent Settings** — Saves preferences between sessions.
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Download Modes:**
- Single Post URL
- Entire Creator Feed
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Flexible Options:**
- Specify Page Range (disabled in Manga Mode)
- Custom Folder Name for single posts
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Smart Filtering
2025-05-08 20:24:22 +05:30
2025-05-18 16:12:19 +05:30
- **Character Name Filtering:**
- Use `Tifa, Aerith` or group `(Boa, Hancock)` → folder `Boa Hancock`
2025-05-23 18:19:30 +05:30
- Flexible input for current session and for adding to `Known.txt`.
- Examples:
- `Nami` (simple character)
- `(Boa ~ Hancock)` (aliases for one character, session folder "Boa Hancock", adds `(Boa Hancock, Boa, Hancock)` to `Known.txt`)
- `(Vivi, Uta)` (distinct characters, session folder "Vivi Uta", adds `Vivi` and `Uta` separately to `Known.txt`)
- See "Advanced `Known.txt` and Character Filtering" for full details.
2025-05-18 16:12:19 +05:30
- **Filter Scopes:**
- `Files`
- `Title`
- `Both (Title then Files)`
- `Comments (Beta - Files first)`
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Skip with Words:**
- Exclude with `WIP, sketch, preview`
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Skip Scopes:**
- `Files`
- `Posts`
- `Both (Posts then Files)`
- **File Type Filters:**
- `All`, `Images/GIFs`, `Videos`, `📦 Only Archives`, `🔗 Only Links`
- **Filename Cleanup:**
- Remove illegal and unwanted characters or phrases
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Manga/Comic Mode (Creator Feeds Only)
2025-05-18 16:12:19 +05:30
- **Chronological Processing** — Oldest posts first
- **Filename Style Options:**
- `Name: Post Title (Default)`
- `Name: Original File`
- `Name: Date Based (New)`
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Best With:** Character filters set to manga/series title
2025-05-08 20:24:22 +05:30
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Folder Structure & Naming
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Subfolders:**
- Auto-created based on character name, post title, or `Known.txt`
- "Subfolder per Post" option for further nesting
- **Smart Naming:** Cleans invalid characters and structures logically
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Thumbnail & Compression Tools
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Download Thumbnails Only**
- **Compress to WebP** (via Pillow)
- Converts large images to smaller WebP versions
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Performance Features
2025-05-18 16:12:19 +05:30
- **Multithreading:**
- For both post processing and file downloading
2025-05-16 16:08:48 +05:30
2025-05-18 16:12:19 +05:30
- **Multi-part Downloads:**
- Toggleable in GUI
- Splits large files into chunks
- Granular chunk-level progress display
2025-05-15 08:45:32 +05:30
---
2025-05-23 17:22:54 +05:30
### Logging & Progress
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
- **Real-time Logs:** Activity, errors, skipped posts
- **Missed Character Log:** Shows skipped keywords in easy-to-read list
- **External Links Log:** Shows links (unless disabled in some modes)
- **Export Links:** Save `.txt` of links (Only Links mode)
2025-05-08 20:24:22 +05:30
2025-05-16 16:08:48 +05:30
---
2025-05-08 20:24:22 +05:30
2025-05-23 17:22:54 +05:30
### Config System
2025-05-18 16:12:19 +05:30
2025-05-23 18:06:47 +05:30
- **`Known.txt` for Smart Folder Naming (Located in App Directory):**
- A user-editable file that stores a list of preferred names, series titles, or keywords.
- It's primarily used as an intelligent fallback for folder creation when "Separate Folders by Name/Title" is enabled.
- **Syntax:**
- Simple entries: `My Favorite Series` (creates folder "My Favorite Series", matches "My Favorite Series").
- Grouped entries: `(Desired Folder Name, alias1, alias2)` (creates folder "Desired Folder Name"; matches "Desired Folder Name", "alias1", or "alias2").
2025-05-08 20:24:22 +05:30
2025-05-23 18:06:47 +05:30
- **Settings Stored in App Directory**
2025-05-18 16:12:19 +05:30
- **Editable Within GUI**
2025-05-16 16:08:48 +05:30
---
2025-05-15 08:45:32 +05:30
2025-05-23 17:22:54 +05:30
## Installation
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
---
2025-05-16 16:08:48 +05:30
### Requirements
2025-05-18 16:12:19 +05:30
- Python 3.6 or higher
2025-05-16 12:50:32 +05:30
- pip
2025-05-15 08:45:32 +05:30
2025-05-18 16:12:19 +05:30
---
2025-05-16 16:08:48 +05:30
### Install Dependencies
2025-05-18 16:12:19 +05:30
2025-05-16 12:50:32 +05:30
```bash
pip install PyQt5 requests Pillow
2025-05-18 16:12:19 +05:30
2025-05-16 12:50:32 +05:30
```
2025-05-15 08:45:32 +05:30
2025-05-16 12:50:32 +05:30
***
2025-05-15 08:45:32 +05:30
2025-05-23 17:22:54 +05:30
## ** Build a Standalone Executable (Optional)**
2025-05-15 08:45:32 +05:30
2025-05-16 12:50:32 +05:30
1. Install PyInstaller:
```bash
pip install pyinstaller
```
2025-05-15 08:45:32 +05:30
2025-05-16 12:50:32 +05:30
2. Run:
```bash
pyinstaller --name "Kemono Downloader" --onefile --windowed --icon="Kemono.ico" main.py
```
2025-05-08 20:24:22 +05:30
2025-05-16 12:50:32 +05:30
3. Output will be in the `dist/` folder.
2025-05-08 20:24:22 +05:30
2025-05-16 12:50:32 +05:30
***
2025-05-08 20:24:22 +05:30
2025-05-23 17:22:54 +05:30
## ** Config Files**
2025-05-23 18:06:47 +05:30
- `settings.json` — Stores your UI preferences and settings.
- `Known.txt` — Stores character names, series titles, or keywords for organizing downloaded content into specific folders.
- Supports simple entries (e.g., `My Series`) and grouped entries for aliases (e.g., `(Folder Name, alias1, alias2)` where "Folder Name" is the name of the created folder, and all terms are used for matching).
2025-05-08 20:24:22 +05:30
2025-05-16 12:50:32 +05:30
***
2025-05-08 20:24:22 +05:30
2025-05-23 17:22:54 +05:30
## ** Feedback & Support**
2025-05-08 20:24:22 +05:30
2025-05-16 12:50:32 +05:30
Issues? Suggestions?
Open an issue on the [GitHub repository](https://github.com/Yuvi9587/kemono-downloader) or join our community.