Skip to content

Releases: Ljzd-PRO/KToolBox

v0.24.0

28 Dec 15:25
0fe34d2

Choose a tag to compare

Changes

Downloads

✨ 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 ktoolbox

Full Changelog: v0.23.0...v0.24.0

v0.23.0

07 Sep 04:40
68fd158

Choose a tag to compare

Changes

Downloads

✨ 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_size and job.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 .env or 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
  • 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.0 to 5.0
    • If you frequently encounter 403 errors during downloads, try setting this value lower, such as 1.0
    • Run ktoolbox config-editor to edit this setting (Downloader -> tps_limit)
    • Or manually edit the KTOOLBOX_DOWNLOADER__TPS_LIMIT in the .env file or set it via environment variables
      KTOOLBOX_DOWNLOADER__TPS_LIMIT=1.0
    • 📖 More info: Configuration-Reference-DownloaderConfiguration

✨ 新特性

  • 增加配置项以支持按文件大小过滤下载 - #343
    • 通过配置 job.min_file_sizejob.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 ktoolbox

Full Changelog: v0.22.0...v0.23.0

v0.22.0

22 Aug 12:32

Choose a tag to compare

Changes

Downloads

✨ Features

  • Added job.download_file and job.download_attachments configuration 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 the file field of the post (usually the cover image)
      • job.download_attachments (default: True): Whether to download files corresponding to the attachments field 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 .env file 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

✨ 新特性

  • 新增 job.download_filejob.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 ktoolbox

Full Changelog: v0.21.1...v0.22.0

v0.21.1

20 Aug 11:14

Choose a tag to compare

Changes

Downloads

🪲 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-creator command 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 .env file 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-post command would still not generate the text content file (content.txt)
    and external links file (external_links.txt) even when the job.extract_content and job.extract_external_links options 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_contentjob.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 ktoolbox

Full Changelog: v0.21.0...v0.21.1

v0.21.0

20 Aug 04:30
2a92485

Choose a tag to compare

Changes

Downloads

✨ 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-post command would still not generate the text content file (content.txt)
    and external links file (external_links.txt) even when the job.extract_content and job.extract_external_links options 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_contentjob.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 ktoolbox

Full Changelog: v0.20.0...v0.21.0

v0.20.0

18 Aug 17:22
099eef6

Choose a tag to compare

Changes

Downloads

✨ Features

  • Added options to control whether to extract content and external_links for 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 .env file 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
  • 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 .env file 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-disabled job.extract_content and job.extract_external_links are set to True (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 SUCCESS level 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_contentjob.extract_external_links 设置为 True 时(上文新特性提到),
    以及帖子真正存在文本内容时,才会提取帖子文本内容和外部链接,避免 API 频繁调用导致被服务器 DDoS 防御机制阻拦
  • 输出 SUCCESS 级别日志,以便用户更清晰地了解下载状态

Upgrade

Use this command to upgrade if you are using pipx:

pipx upgrade ktoolbox

Full Changelog: v0.19.2...v0.20.0

v0.19.2

16 Aug 12:01

Choose a tag to compare

Changes

Downloads

💡 Feature

  • Improved the error log format to make it easier to read and understand (v0.19.1)

🪲 Fix

  • Fixed the issue where content data of works could not be obtained due to Kemono API changes, resulting in missing content.txt and external_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 ktoolbox

Full Changelog: v0.19.1...v0.19.2

v0.19.1

15 Aug 19:42

Choose a tag to compare

Changes

Downloads

💡 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, ...

💡 新特性

  • 改进报错的日志格式,使其更易于阅读和理解

🪲 修复

  • 修复 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 ktoolbox

Full Changelog: v0.19.0...v0.19.1

v0.19.0

09 Aug 09:03

Choose a tag to compare

Changes

Downloads

💡 Feature

  • Add --keywords-exclude parameter 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 --keywords and --keywords-exclude features 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 .env file or environment variables
      KTOOLBOX_JOB__KEYWORDS='["expression", "sound effect variation"]'
      KTOOLBOX_JOB__KEYWORDS_EXCLUDE='["public", "result announcement"]'
    • 📖More information: Configuration-Reference-JobConfiguration
  • 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-editor to edit these configurations (Job -> ...)
    • Or manually edit them in .env file or environment variables
      # 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}"
      Resulting directory structure:
      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 --keywords parameter could not be parsed correctly in the sync-creator command

💡 新特性

  • 新增 --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 ktoolbox

Full Changelog: v0.18.2...v0.19.0

v0.18.2

05 Aug 10:52

Choose a tag to compare

Changes

Downloads

🪲 Fix

  • Fixed the issue where warning messages were displayed regardless of whether job.include_revisions was 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

🪲 修复

  • 修复了无论是否开启 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 ktoolbox

Full Changelog: v0.18.1...v0.18.2