Releases: Ljzd-PRO/KToolBox
v0.24.0
Changes
✨ Features
- Track and log files that already exist during download progress, and add tests to cover file-exists handling
- Throttle the progress display to 0.1s and only refresh when content changes to reduce flicker and CPU usage
- Add Python 3.14 support and update CI/workflows to test against 3.14
🪲 Fixes
- Ensure that the program can terminate immediately when all downloads are complete, rather than having to wait for a period of time before ending.
- Prevent overcounting completed jobs when multiple files already exist
✨ 新特性
- 在下载进度中记录已存在的文件并在进度中反映,添加了针对文件已存在处理的测试
- 将进度刷新节流为0.1秒且仅在内容变更时刷新,以减少抖动和 CPU 使用
- 添加 Python 3.14 支持,并在 CI/workflow 中加入对 3.14 的测试
🪲 修复
- 确保下载全部完成时程序能即刻结束,而不是要等待一段时间才能结束
- 修复当多个文件已存在时完成计数被重复计算的问题
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.23.0...v0.24.0
v0.23.0
Changes
✨ Features
- Added configuration options to support filtering downloads by file size - #343
- You can set the minimum and maximum file size (in bytes) via
job.min_file_sizeandjob.max_file_size - Both options can be set together to define a file size range
- Configure these options using the graphical config editor, or set them in the dotenv file
.envor via system environment variables:# Skip files smaller than 1 MB (to avoid downloading thumbnails) KTOOLBOX_JOB__MIN_FILE_SIZE=1048576 # Skip files larger than 50 MB (to save disk space) KTOOLBOX_JOB__MAX_FILE_SIZE=52428800
- 📖 More info: Configuration-Reference-JobConfiguration
- You can set the minimum and maximum file size (in bytes) via
- Improved progress bar output - #345
- Fixed the issue of the download file progress bar constantly reordering
- Added visual overall progress bar
- Added display of total download speed
- Enhanced the color rendering of the progress bar
🔄 [==>---------------------------] 9% | Jobs: 173/1870 | 3 running | 1694 waiting | 5.7MB/s ⠹ 0bh1EKTGt5Zg9nNaDAi25P... |███████████████████████████░░░| 3.7MB/4.0MB 92.5% ⚡ 1.9MB/s ⠹ YV30J8ftUbE9dUkkJVCqvN... |███░░░░░░░░░░░░░░░░░░░░░░░░░░░| 527.0KB/4.1MB 12.5% ⚡ 1.9MB/s ⠹ KvKMSpwB4rRknTPKhEiXle... |░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░| 95.0KB/3.8MB 2.5% ⚡ 1.9MB/s
🪲 Fixes
- Increased the default tps limit (maximum number of connections established per second)
- This setting is optional. To improve download efficiency in general cases, the default value has been increased from
1.0to5.0 - If you frequently encounter 403 errors during downloads, try setting this value lower, such as
1.0 - Run
ktoolbox config-editorto edit this setting (Downloader -> tps_limit) - Or manually edit the
KTOOLBOX_DOWNLOADER__TPS_LIMITin the.envfile or set it via environment variablesKTOOLBOX_DOWNLOADER__TPS_LIMIT=1.0
- 📖 More info: Configuration-Reference-DownloaderConfiguration
- This setting is optional. To improve download efficiency in general cases, the default value has been increased from
✨ 新特性
- 增加配置项以支持按文件大小过滤下载 - #343
- 通过配置
job.min_file_size和job.max_file_size来设置最小和最大文件大小(单位:字节) - 你可以同时设置这两个选项来定义一个文件大小范围
- 通过图形化配置编辑器或在 dotenv 文件
.env或系统环境变量中设置这些配置:# 跳过小于 1 MB 的文件 (避免下载到缩略图) KTOOLBOX_JOB__MIN_FILE_SIZE=1048576 # 跳过大于 50 MB 的文件 (节省磁盘空间) KTOOLBOX_JOB__MAX_FILE_SIZE=52428800
- 📖 更多信息:Configuration-Reference-JobConfiguration
- 通过配置
- 改进进度条输出 - #345
- 修复了下载文件进度条不断重新排序的问题
- 增加了可视化的总进度条
- 增加了下载总速度显示
- 增加了进度条的颜色渲染
🔄 [==>---------------------------] 9% | Jobs: 173/1870 | 3 running | 1694 waiting | 5.7MB/s ⠹ 0bh1EKTGt5Zg9nNaDAi25P... |███████████████████████████░░░| 3.7MB/4.0MB 92.5% ⚡ 1.9MB/s ⠹ YV30J8ftUbE9dUkkJVCqvN... |███░░░░░░░░░░░░░░░░░░░░░░░░░░░| 527.0KB/4.1MB 12.5% ⚡ 1.9MB/s ⠹ KvKMSpwB4rRknTPKhEiXle... |░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░| 95.0KB/3.8MB 2.5% ⚡ 1.9MB/s
🪲 修复
- 提高了默认的 tps limit (每秒最多建立的连接数)
- 这项配置是可选的,为了提高一般情况下的下载效率,现在的默认值从
1.0提升到了5.0 - 当下载频繁出现 403 错误时,可尝试将此设置改为较低值,如
1.0 - 执行
ktoolbox config-editor来编辑这项配置 (Downloader -> tps_limit) - 或手动编辑
.env文件中的KTOOLBOX_DOWNLOADER__TPS_LIMIT或环境变量来设置这项配置KTOOLBOX_DOWNLOADER__TPS_LIMIT=1.0
- 📖更多信息:Configuration-Reference-DownloaderConfiguration
- 这项配置是可选的,为了提高一般情况下的下载效率,现在的默认值从
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.22.0...v0.23.0
v0.22.0
Changes
✨ Features
- Added
job.download_fileandjob.download_attachmentsconfiguration options to control whether to download files and attachments in posts- Related configuration options:
job.download_file(default:True): Whether to download the file corresponding to thefilefield of the post (usually the cover image)job.download_attachments(default:True): Whether to download files corresponding to theattachmentsfield of the post (usually original images, compressed packages, etc.)
- These options are enabled by default to maintain the same behavior as previous versions
- You can edit these options via
ktoolbox config-editor(Job -> ...) - Or manually edit them in the
.envfile or environment variables:# Whether to download the file corresponding to the `file` field of the post (usually the cover image) # Download enabled by default KTOOLBOX_JOB__DOWNLOAD_FILE=False # Whether to download files corresponding to the `attachments` field of the post (usually original images, compressed packages, etc.) # Download enabled by default KTOOLBOX_JOB__DOWNLOAD_ATTACHMENTS=True
- 📖 More information: Configuration Reference - JobConfiguration
- Related configuration options:
✨ 新特性
- 新增
job.download_file和job.download_attachments配置项,控制是否下载帖子中的文件和附件- 相关配置项:
job.download_file(默认值:True):是否下载帖子的file字段对应的文件(通常是帖子封面图)job.download_attachments(默认值:True):是否下载帖子的attachments字段对应的文件(通常是帖子中的正式原图、压缩包等附件)
- 该配置项默认均为开启状态,保持与之前版本一致的行为
- 可通过运行
ktoolbox config-editor编辑这些配置(Job -> ...) - 或手动在
.env文件或环境变量中编辑:# 是否下载帖子的 `file` 字段对应的文件(通常是帖子封面图) # 默认开启下载 KTOOLBOX_JOB__DOWNLOAD_FILE=False # 是否下载帖子的 `attachments` 字段对应的文件(通常是帖子中的正式原图、压缩包等附件) # 默认开启下载 KTOOLBOX_JOB__DOWNLOAD_ATTACHMENTS=True
- 📖更多信息:配置参考-JobConfiguration
- 相关配置项:
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.21.1...v0.22.0
v0.21.1
Changes
🪲 Fixes
- Fixed the issue where the feature "support downloading images embedded in the post HTML content" added in v0.17.0 did not actually exist - #332
- This is indeed a serious issue. It seems that the relevant branch was not merged into the main branch, resulting in the feature not being implemented in v0.17.0.
- Related configuration:
job.extract_content_images: Whether to parse and download images embedded in the post HTML content, disabled by default (False)
- This feature is disabled by default because when using the
sync-creatorcommand to download all posts from a creator, the content of each post must be fetched individually, which can easily trigger DDoS protection and get blocked. - You can edit this configuration via
ktoolbox config-editor(Job -> extract_content_images) - Or manually edit it in the
.envfile or environment variables:# Enable parsing and downloading images embedded in the post HTML content KTOOLBOX_JOB__EXTRACT_CONTENT_IMAGES=True
- 📖 More info: Configuration Reference - JobConfiguration
- Fixed the issue where the
download-postcommand would still not generate the text content file (content.txt)
and external links file (external_links.txt) even when thejob.extract_contentandjob.extract_external_linksoptions were enabled - #332 (v0.21.0)
✨ Features
- Improved download progress display, providing a more elegant and intuitive progress bar (v0.21.0)
2025-08-19 13:42:07 | INFO | ktoolbox.cli - Got creator information - name: Ljzd-PRO, id: 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Start fetching posts from creator 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Get 9 posts after filtering, start creating jobs 🔄 Jobs: 3/9 completed (33.3%), 3 running, 3 waiting ⠴ D00l7aSMMRHaF8NG6febzu... |███████████████░░░░░░░░░░░░░░░| 3.7MB/7.0MB 53.0% ⚡ 997.7KB/s ⠋ iUnb6IuVOWfUYglzQS0rBC... |████████████████████████░░░░░░| 6.1MB/7.6MB 80.2% ⚡ 16MB/s ⠋ 10366655_a25KA8mAZuNHZ... |█████████████░░░░░░░░░░░░░░░░░| 95.0KB/208.0KB 45.7% ⚡ 1.9MB/s 2025-08-19 13:44:01 | SUCCESS | ktoolbox.job.runner - All jobs in queue finished - Automatically check for updates at program startup and notify the user if a new version is available (v0.21.0)
2025-08-19 13:41:23 | INFO | ktoolbox.utils - Update available: 0.21.0 (current: 0.20.0) 2025-08-19 13:41:23 | INFO | ktoolbox.utils - Release URL: https://github.com/Ljzd-PRO/KToolBox/releases/tag/v0.21.0
Others
- Added builds for arm64 executables on Linux and macOS, as well as x86 executables on Windows
🪲 修复
- 修复了 v0.17.0 新增的“支持下载帖子 HTML 内容中嵌入的图片”实际上并不存在的问题 - #332
- 这确实是个严重的问题,似乎相关分支没有被合并到主分支,导致该功能在 v0.17.0 版本中并未实现
- 相关配置项:
job.extract_content_images:是否解析并下载帖子 HTML 内容中嵌入的图片,默认关闭(False)
- 该功能默认关闭,因为当使用
sync-creator命令下载作者全部帖子时,只能逐个获取帖子内容(content),这容易导致触发 DDoS 防御机制而被阻断 - 可通过运行
ktoolbox config-editor编辑这些配置(Job -> extract_content_images) - 或手动在
.env文件或环境变量中编辑:# 开启解析并下载帖子 HTML 内容中嵌入的图片 KTOOLBOX_JOB__EXTRACT_CONTENT_IMAGES=True
- 📖更多信息:配置参考-JobConfiguration
- 修复即使启用了
job.extract_content和job.extract_external_links配置项,download-post命令
仍然不会生成文本内容文件(content.txt)和外部链接文件(external_links.txt)的问题 - #332 (v0.21.0)
✨ 新特性
- 改进了下载进度显示,提供更加优美和直观的进度条显示 (v0.21.0)
2025-08-19 13:42:07 | INFO | ktoolbox.cli - Got creator information - name: Ljzd-PRO, id: 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Start fetching posts from creator 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Get 9 posts after filtering, start creating jobs 🔄 Jobs: 3/9 completed (33.3%), 3 running, 3 waiting ⠴ D00l7aSMMRHaF8NG6febzu... |███████████████░░░░░░░░░░░░░░░| 3.7MB/7.0MB 53.0% ⚡ 997.7KB/s ⠋ iUnb6IuVOWfUYglzQS0rBC... |████████████████████████░░░░░░| 6.1MB/7.6MB 80.2% ⚡ 16MB/s ⠋ 10366655_a25KA8mAZuNHZ... |█████████████░░░░░░░░░░░░░░░░░| 95.0KB/208.0KB 45.7% ⚡ 1.9MB/s 2025-08-19 13:44:01 | SUCCESS | ktoolbox.job.runner - All jobs in queue finished - 程序启动时自动检查更新,并在有新版本时提示用户 (v0.21.0)
2025-08-19 13:41:23 | INFO | ktoolbox.utils - Update available: 0.21.0 (current: 0.20.0) 2025-08-19 13:41:23 | INFO | ktoolbox.utils - Release URL: https://github.com/Ljzd-PRO/KToolBox/releases/tag/v0.21.0
其他
- 增加了 Linux 和 macOS 的 arm64 以及 Windows x86 可执行程序的构建
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.21.0...v0.21.1
v0.21.0
Changes
✨ Features
- Improved download progress display, providing a more elegant and intuitive progress bar
2025-08-19 13:42:07 | INFO | ktoolbox.cli - Got creator information - name: Ljzd-PRO, id: 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Start fetching posts from creator 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Get 9 posts after filtering, start creating jobs 🔄 Jobs: 3/9 completed (33.3%), 3 running, 3 waiting ⠴ D00l7aSMMRHaF8NG6febzu... |███████████████░░░░░░░░░░░░░░░| 3.7MB/7.0MB 53.0% ⚡ 997.7KB/s ⠋ iUnb6IuVOWfUYglzQS0rBC... |████████████████████████░░░░░░| 6.1MB/7.6MB 80.2% ⚡ 16MB/s ⠋ 10366655_a25KA8mAZuNHZ... |█████████████░░░░░░░░░░░░░░░░░| 95.0KB/208.0KB 45.7% ⚡ 1.9MB/s 2025-08-19 13:44:01 | SUCCESS | ktoolbox.job.runner - All jobs in queue finished - Automatically check for updates at program startup and notify the user if a new version is available
2025-08-19 13:41:23 | INFO | ktoolbox.utils - Update available: 0.21.0 (current: 0.20.0) 2025-08-19 13:41:23 | INFO | ktoolbox.utils - Release URL: https://github.com/Ljzd-PRO/KToolBox/releases/tag/v0.21.0
🪲 Fixes
- Fixed the issue where the
download-postcommand would still not generate the text content file (content.txt)
and external links file (external_links.txt) even when thejob.extract_contentandjob.extract_external_linksoptions were enabled - #332
Others
- Added builds for arm64 executables on Linux and macOS, as well as x86 executables on Windows
✨ 新特性
- 改进了下载进度显示,提供更加优美和直观的进度条显示
2025-08-19 13:42:07 | INFO | ktoolbox.cli - Got creator information - name: Ljzd-PRO, id: 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Start fetching posts from creator 12345678 2025-08-19 13:42:07 | INFO | ktoolbox.action.job - Get 9 posts after filtering, start creating jobs 🔄 Jobs: 3/9 completed (33.3%), 3 running, 3 waiting ⠴ D00l7aSMMRHaF8NG6febzu... |███████████████░░░░░░░░░░░░░░░| 3.7MB/7.0MB 53.0% ⚡ 997.7KB/s ⠋ iUnb6IuVOWfUYglzQS0rBC... |████████████████████████░░░░░░| 6.1MB/7.6MB 80.2% ⚡ 16MB/s ⠋ 10366655_a25KA8mAZuNHZ... |█████████████░░░░░░░░░░░░░░░░░| 95.0KB/208.0KB 45.7% ⚡ 1.9MB/s 2025-08-19 13:44:01 | SUCCESS | ktoolbox.job.runner - All jobs in queue finished - 程序启动时自动检查更新,并在有新版本时提示用户
2025-08-19 13:41:23 | INFO | ktoolbox.utils - Update available: 0.21.0 (current: 0.20.0) 2025-08-19 13:41:23 | INFO | ktoolbox.utils - Release URL: https://github.com/Ljzd-PRO/KToolBox/releases/tag/v0.21.0
🪲 修复
- 修复即使启用了
job.extract_content和job.extract_external_links配置项,download-post命令
仍然不会生成文本内容文件(content.txt)和外部链接文件(external_links.txt)的问题 - #332
其他
- 增加了 Linux 和 macOS 的 arm64 以及 Windows x86 可执行程序的构建
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.20.0...v0.21.0
v0.20.0
Changes
✨ Features
- Added options to control whether to extract
contentandexternal_linksfor greater flexibility - #317- Related configuration items:
job.extract_content: Whether to extract post text content as a separate file, default is disabled (False)job.extract_external_links: Whether to extract external links in post text content as a separate file, default is disabled (False)
- You can edit these settings via
ktoolbox config-editor(Job -> ...) - Or manually edit them in the
.envfile or environment variables# Whether to extract post text content as a separate file KTOOLBOX_JOB__EXTRACT_CONTENT=True # Whether to extract external links in post text content as a separate file KTOOLBOX_JOB__EXTRACT_EXTERNAL_LINKS=True # Change the default file names for content.txt and external_links.txt KTOOLBOX_JOB__POST_STRUCTURE__CONTENT="content.html" KTOOLBOX_JOB__POST_STRUCTURE__EXTERNAL_LINKS="link.txt"
- 📖 More info: Configuration Reference - JobConfiguration
- Related configuration items:
- Support controlling whether to preserve the metadata (such as modification date) of downloaded files - #321
- If you usually browse images by download date, or want to use post images as Windows folder preview covers, you can disable this option
- Related configuration item:
downloader.keep_metadata: Whether to preserve the metadata (such as modification date) of downloaded files, enabled by default (True)
- You can edit this setting via
ktoolbox config-editor(Downloader -> keep_metadata) - Or manually edit it in the
.envfile or environment variables# Whether to preserve the metadata (such as modification date) of downloaded files KTOOLBOX_DOWNLOADER__KEEP_METADATA=False
- 📖 More info: Configuration Reference - DownloaderConfiguration
🪲 Fixes
- Due to changes in the Kemono API, extraction of post text content and external links (content and external_links) can now only be performed one by one.
Therefore, only when the default-disabledjob.extract_contentandjob.extract_external_linksare set toTrue(as mentioned above),
and the post actually contains text content, will post text content and external links be extracted, to avoid frequent API calls that may trigger server DDoS protection. - Output
SUCCESSlevel logs to help users better understand download status
✨ 新特性
- 支持控制是否提取 content 和 external_links,灵活性提升 - #317
- 相关配置项:
job.extract_content:是否提取帖子文本内容为独立的文件,默认关闭(False)job.extract_external_links:是否提取帖子文本内容中的外部链接为独立的文件,默认关闭(False)
- 可通过运行
ktoolbox config-editor编辑这些配置(Job -> ...) - 或手动在
.env文件或环境变量中编辑# 是否提取帖子文本内容为独立的文件 KTOOLBOX_JOB__EXTRACT_CONTENT=True # 是否提取帖子文本内容中的外部链接为独立的文件 KTOOLBOX_JOB__EXTRACT_EXTERNAL_LINKS=True # 修改默认的 content.txt 和 external_links.txt 文件名 KTOOLBOX_JOB__POST_STRUCTURE__CONTENT="content.html" KTOOLBOX_JOB__POST_STRUCTURE__EXTERNAL_LINKS="link.txt"
- 📖更多信息:配置参考-JobConfiguration
- 相关配置项:
- 支持控制是否保留下载的文件的元数据(修改日期等) - #321
- 如果你平时是按照下载日期排序浏览图片的,或者需要将帖子图片作为 Windows 文件夹预览封面,可以关闭此配置
- 相关配置项:
downloader.keep_metadata:是否保留下载的文件的元数据(修改日期等),默认开启(True)- 可通过运行
ktoolbox config-editor编辑这些配置(Downloader -> keep_metadata) - 或手动在
.env文件或环境变量中编辑
# 是否保留下载的文件的元数据(修改日期等) KTOOLBOX_DOWNLOADER__KEEP_METADATA=False
- 📖更多信息:配置参考-DownloaderConfiguration
🪲 修复
- 由于 Kemono API 变更,帖子的文本内容和外部链接(content 和 external_links)的提取只能单独地一个个获取,
因此仅当将默认关闭的job.extract_content和job.extract_external_links设置为True时(上文新特性提到),
以及帖子真正存在文本内容时,才会提取帖子文本内容和外部链接,避免 API 频繁调用导致被服务器 DDoS 防御机制阻拦 - 输出
SUCCESS级别日志,以便用户更清晰地了解下载状态
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.19.2...v0.20.0
v0.19.2
Changes
💡 Feature
- Improved the error log format to make it easier to read and understand (v0.19.1)
🪲 Fix
- Fixed the issue where
contentdata of works could not be obtained due to Kemono API changes, resulting in missingcontent.txtandexternal_links.txt- #316
- Fixed the issue where author information and work data could not be retrieved due to Kemono API changes - #315 (v0.19.1)
- Error messages:
Kemono API call failed: ...,404 Not Found,403 Forbidden, ...
💡 新特性
- 改进报错的日志格式,使其更易于阅读和理解 (v0.19.1)
🪲 修复
- 修复由于 Kemono API 变更 导致的作品
content数据无法获取进而导致content.txt,external_links.txt缺失的问题 - #316
- 修复 Kemono API 变更导致的作者信息和作品数据获取失败的问题 - #315 (v0.19.1)
- 报错信息:
Kemono API call failed: ...,404 Not Found,403 Forbidden, ...
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.19.1...v0.19.2
v0.19.1
Changes
💡 Feature
- Improved the error log format to make it easier to read and understand
🪲 Fix
- Fixed the issue where author information and work data could not be retrieved due to Kemono API changes - #315
- Error messages:
Kemono API call failed: ...,404 Not Found,403 Forbidden, ...
- Error messages:
💡 新特性
- 改进报错的日志格式,使其更易于阅读和理解
🪲 修复
- 修复 Kemono API 变更导致的作者信息和作品数据获取失败的问题 - #315
- 报错信息:
Kemono API call failed: ...,404 Not Found,403 Forbidden, ...
- 报错信息:
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.19.0...v0.19.1
v0.19.0
Changes
💡 Feature
- Add
--keywords-excludeparameter for post filtering - #309# Method 1: Include only specific character posts ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords="release" # Method 2: Exclude unwanted character posts (OR logic) ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords_exclude="announcement,vote,share" # Method 3: Combined filtering (most flexible) ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords="ブルアカ" --keywords_exclude="全体公開,結果発表"
- The
--keywordsand--keywords-excludefeatures for keyword filtering and exclusion can now also be set in the configuration- New configuration options:
job.keywords: Keyword filtering (default is empty)job.keywords_exclude: Keyword exclusion (default is empty)
- You can edit these configurations by running
ktoolbox config-editor(Job -> ...) - Or manually edit them in the
.envfile or environment variablesKTOOLBOX_JOB__KEYWORDS='["expression", "sound effect variation"]' KTOOLBOX_JOB__KEYWORDS_EXCLUDE='["public", "result announcement"]'
- 📖More information: Configuration-Reference-JobConfiguration
- New configuration options:
- Add year/month grouping functionality for post organization - #306
- You can group downloaded posts by year and month with customizable directory naming formats
- New configuration options:
job.group_by_year: Enable grouping by year (Disabled by default)job.group_by_month: Enable grouping by month (Disabled by default)job.year_month_format: Customize the directory naming format for year grouping (Defaults to{year})job.month_format: Customize the directory naming format for month grouping (Defaults to{year}-{month:02d})
- Run
ktoolbox config-editorto edit these configurations (Job -> ...) - Or manually edit them in
.envfile or environment variablesResulting directory structure:# Environment variables (Defaults to False) KTOOLBOX_JOB__GROUP_BY_YEAR=True KTOOLBOX_JOB__GROUP_BY_MONTH=True # Custom style naming KTOOLBOX_JOB__YEAR_DIRNAME_FORMAT="Year {year}" KTOOLBOX_JOB__MONTH_DIRNAME_FORMAT="Month {month:02d}"
creator/ ├── Year 2020/ │ ├── Month 01/ │ │ └── post_title/ │ └── Month 12/ │ └── another_post/ └── Year 2021/ └── Month 03/ └── latest_post/ - 📖More information: Configuration-Reference-JobConfiguration
🪲 Fix
- Fixed the issue where the
--keywordsparameter could not be parsed correctly in thesync-creatorcommand
💡 新特性
- 新增
--keywords-exclude参数用于帖子筛选 - #309# 方法1:仅包含特定关键词的帖子 ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords="发布" # 方法2:排除不需要的关键词帖子(或逻辑) ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords_exclude="公告,投票,分享" # 方法3:组合筛选(最灵活) ktoolbox sync_creator --url="https://kemono.cr/fanbox/user/32165989" --keywords="ブルアカ" --keywords_exclude="全体公開,結果発表"
- 关键词筛选和关键词排除的
--keywords和--keywords-exclude功能现在也可以在配置中设置- 新配置项:
job.keywords:关键词筛选(默认为空)job.keywords_exclude:关键词排除(默认为空)
- 可通过运行
ktoolbox config-editor编辑这些配置(Job -> ...) - 或手动在
.env文件或环境变量中编辑KTOOLBOX_JOB__KEYWORDS='["表情", "効果音差分"]' KTOOLBOX_JOB__KEYWORDS_EXCLUDE='["全体公開", "結果発表"]'
- 📖更多信息:配置参考-JobConfiguration
- 新配置项:
- 新增按年份/月分组功能用于帖子整理 - #306
- 可按年份和月份分组下载的帖子,支持自定义目录命名格式
- 新配置项:
job.group_by_year:启用按年份分组(默认关闭)job.group_by_month:启用按月份分组(默认关闭)job.year_month_format:自定义年份分组目录命名格式(默认为{year})job.month_format:自定义月份分组目录命名格式(默认为{year}-{month:02d})
- 可通过运行
ktoolbox config-editor编辑这些配置(Job -> ...) - 或手动在
.env文件或环境变量中编辑目录结构示例:# 是否启用(默认 False) KTOOLBOX_JOB__GROUP_BY_YEAR=True KTOOLBOX_JOB__GROUP_BY_MONTH=True # 自定义目录命名 KTOOLBOX_JOB__YEAR_DIRNAME_FORMAT="{year}年" KTOOLBOX_JOB__MONTH_DIRNAME_FORMAT="{month:02d}月"
creator/ ├── 2020年/ │ ├── 01月/ │ │ └── post_title/ │ └── 12月/ │ └── another_post/ └── 2021年/ └── 03月/ └── latest_post/ - 📖更多信息:配置参考-JobConfiguration
🪲 修复
- 修复
--keywords参数在sync-creator命令中无法正确解析的问题
📖 其他
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.18.2...v0.19.0
v0.18.2
Changes
🪲 Fix
- Fixed the issue where warning messages were displayed regardless of whether
job.include_revisionswas enabled or not. - Fixed the issue where extracted external links contained extra characters (v0.18.0)
- Related configuration options:
job.extract_external_links,job.external_link_patterns
- Related configuration options:
🪲 修复
- 修复了无论是否开启
job.include_revisions都会提示警告信息的问题 - 修复了程序提取的外部链接(external links)包含多余字符的问题 (v0.18.0)
- 相关配置选项:
job.extract_external_links,job.external_link_patterns
- 相关配置选项:
📖 其他
Upgrade
Use this command to upgrade if you are using pipx:
pipx upgrade ktoolboxFull Changelog: v0.18.1...v0.18.2