This commit is contained in:
Yuvi9587
2025-05-18 16:12:19 +05:30
parent 32a12e8a09
commit decef6730f
4 changed files with 521 additions and 237 deletions

245
readme.md
View File

@@ -1,141 +1,212 @@
# Kemono Downloader v3.3.0
# Kemono Downloader v3.4.0
A powerful, feature-rich GUI application for downloading content from **[Kemono.su](https://kemono.su)** and **[Coomer.party](https://coomer.party)**.
Built with **PyQt5**, this tool is ideal for users who want deep filtering, customizable folder structure, efficient downloads, and intelligent automation — all within a modern GUI.
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.
---
## 🔄 Recent Updates (v3.3.0)
## ✨ What's New in v3.4.0?
### Skipped Characters Review (Eye Toggle)
- After a download, you can toggle a log view to review characters or keywords that were skipped based on your filters.
- Helps catch overlooked content you might want to adjust filters for.
### Grouped Folder Naming
- You can group aliases together using parentheses.
- Example: `(Boa, Hancock), Robin` → Downloads for "Boa" and "Hancock" go into one folder: `Boa Hancock`.
- Great for creators who use inconsistent naming.
This version brings significant enhancements to manga/comic downloading, filtering capabilities, and user experience:
---
## 🖥 User Interface & Workflow
### 📖 Enhanced Manga/Comic Mode
### Clean PyQt5 GUI
- Simple and responsive interface
- Dark theme for long usage comfort
- Persistent settings saved between sessions
- Introductory tour for first-time users
- **New "Date Based" Filename Style:**
### Download Modes
- Download from:
- **Single Post URL**
- **Entire Creator Feed**
- Optional:
- **Page Range** for creator feeds
- **Custom folder name** for single-post downloads
- 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.
---
## 🧠 Smart Filtering
### ✂️ "Remove Words from Filename" Feature
### Character Name Filtering
- Input comma-separated names to only include relevant content.
- Filtering modes:
- **Files**: Checks filenames
- **Titles**: Checks post titles
- **Both**: Hybrid mode
- **Comments**: Also scans post comments for matches
- Specify comma-separated words or phrases (case-insensitive) that will be automatically removed from filenames.
### Skip Words
- Enter words to **exclude** files or posts.
- Modes: File-level, Post-level, or Both
- Helps exclude WIPs, previews, sketches, etc.
### File Type Filters
- Filter download targets by type:
- All
- Images/GIFs
- Videos
- Archives
- External Links (no downloads)
### Filename Cleanup
- Auto-remove unwanted keywords from filenames (e.g., `[HD]`, `patreon`)
- Example: `patreon, [HD], _final` transforms `AwesomeArt_patreon_[HD]_final.jpg` into `AwesomeArt.jpg`.
---
## 📚 Manga/Comic Mode
### 📦 New "Only Archives" File Filter Mode
Special handling for serialized content:
- Automatically fetches posts **oldest to newest**
- File naming options:
- Use **Post Title** (e.g., `MyChapter1.jpg`)
- Use **Original Filename** (e.g., `page_001.png`)
- Ignores page ranges and applies full-feed scan
- Works best when paired with grouped name filters (e.g., series titles)
- Exclusively downloads `.zip` and `.rar` files.
- Automatically disables conflicting options like "Skip .zip/.rar" and external link logging.
---
## 📁 Folder Structure & Naming
### 🗣️ Improved Character Filter Scope - "Comments (Beta)"
- Auto-foldering by:
- Character name
- Post title
- Custom name (for post URLs)
- Optional:
- Subfolder per post
- Auto-detection and fallback from `Known.txt` if needed
- Smart cleaning of folder/file names to remove illegal characters
- **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.
---
## 🖼 Thumbnail & Compression Tools
### 🧐 Refined "Missed Character Log"
- **Thumbnail Mode**: Downloads only the preview thumbnails
- **Image Compression** (via Pillow):
- Large images auto-converted to WebP
- Only saved if final size is significantly smaller
- 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.
---
## ⚙️ Performance Features
### 🚀 Enhanced Multi-part Download Progress
- **Multithreading**: Set number of threads for concurrent file and post downloads
- **Multi-part Downloads**:
- Large files split into multiple threads for faster retrieval
- Detailed chunk-level progress tracking
- Smart retries and fallback on failure
- Granular visibility into active chunk downloads and combined speed for large files.
---
## 📋 Logging & Progress
### 🗺️ Updated Onboarding Tour
- Real-time log output with two views:
- **Progress Log**
- **Missed Character Summary**
- Log filters external links and organizes them separately
- Export logs as `.txt` for backup/reference
- Auto-log failed/skipped files and links
- Improved guide for new users, covering v3.4.0 features and existing core functions.
---
## 🗃 Config System
### 🛡️ Robust Configuration Path
- `Known.txt`: Add frequently used names for fallback filtering and folder naming
- Auto-loaded and saved in system AppData (or local fallback)
- GUI for editing known names inside the app
- Settings and `Known.txt` are now stored in the system-standard application data folder (e.g., `AppData`, `~/.local/share`).
---
## 🖥️ Core Features
---
### User Interface & Workflow
- **Clean PyQt5 GUI** — Simple, modern, and dark-themed.
- **Persistent Settings** — Saves preferences between sessions.
- **Download Modes:**
- Single Post URL
- Entire Creator Feed
- **Flexible Options:**
- Specify Page Range (disabled in Manga Mode)
- Custom Folder Name for single posts
---
### 🧠 Smart Filtering
- **Character Name Filtering:**
- Use `Tifa, Aerith` or group `(Boa, Hancock)` → folder `Boa Hancock`
- **Filter Scopes:**
- `Files`
- `Title`
- `Both (Title then Files)`
- `Comments (Beta - Files first)`
- **Skip with Words:**
- Exclude with `WIP, sketch, preview`
- **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
---
### 📚 Manga/Comic Mode (Creator Feeds Only)
- **Chronological Processing** — Oldest posts first
- **Filename Style Options:**
- `Name: Post Title (Default)`
- `Name: Original File`
- `Name: Date Based (New)`
- **Best With:** Character filters set to manga/series title
---
### 📁 Folder Structure & Naming
- **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
---
### 🖼️ Thumbnail & Compression Tools
- **Download Thumbnails Only**
- **Compress to WebP** (via Pillow)
- Converts large images to smaller WebP versions
---
### ⚙️ Performance Features
- **Multithreading:**
- For both post processing and file downloading
- **Multi-part Downloads:**
- Toggleable in GUI
- Splits large files into chunks
- Granular chunk-level progress display
---
### 📋 Logging & Progress
- **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)
---
### 🗃️ Config System
- **Known.txt:**
- Stores names for smart folder suggestions
- Supports aliases via `(alias1, alias2)`
- **Stored in Standard App Data Path**
- **Editable Within GUI**
---
## 💻 Installation
---
### Requirements
- Python 3.6 or higher
- Python 3.6 or higher
- pip
---
### Install Dependencies
```bash
pip install PyQt5 requests Pillow
```
***