⚠️IMPORTANT
This version is incompatible with any previous release. Config file options need to be manually migrated by user.
CDL will refuse to start if the current database schema is older than
v9.15.0. Runcyberdrop-dl database transferto upgrade older databases
Added
- New
--cookiesoption to read cookies from a file/folder - New
--hashesoption to control which hashes CDL computes for new downloads - New
--database-fileoption - New
--cache-fileoption - New
downloadCLI command (replaces--downloadargument) - New
retryCLI command (replaces--retry-failedand--retry-allarguments) - New
configCLI command - New
cacheCLI command - New
hashCLI command - New
reportCLI command
Changed
- The config file format has changed. All configs (
Auth,GlobalandSetttings) are now a single file. Several options have new names, new defaults and new groups - A default config file will no longer be created. You can manually create a default one from the
Edit configoption on the main menu or runningcyberdrop-dl config new - Validate config in strict mode. If a config has an unknown entry, CDL will refuse to run instead of ignoring it
- Apprise URLs are now part of the main config file instead of a dedicated
apprise.txtfile - Refuse to start if the current database schema is older than
v9.15.0 - Cookies with not be automatically loaded from
AppData/cookies. Path to cookies needs to be specified with--cookies - Retry options will no longer use the original path of the first download attempt. Download path will be generated based on current config options (like normal downloads)
- Compute
xxh128,md5andsha256hashes by default --deep-scrapewill no longer reset after a single run--input-fileis now a CLI only arg- If supplied,
--input-fileneeds to be a valid file that already exists - Refuse to run if both URLs and
--input-fileare passed as arguments - Using number for any config option that expects a timedelta will be parsed as seconds instead of days
- Detect and report BasedFlare anti-bot protection
- Limit max queued downloads of a single site to the config concurrency limit x10 (capped at 50). All scraping for a site will be paused if its queue is full
- Always remove generated id from filenames (Cyberdrop)
- Revert mandatory
Content-Lengthheader introduced in v9.15.0
The following options, which were CLI only arguments, now have dedicated config entries:
--ui(entry:ui.mode)--portrait(entry:ui.portrait)--stats
Several config options have new names:
--disable-crawlers->--crawlers.disabled--disable-file-timestamps->--mtime--maximum-audio-duration->--audio.duration.max--maximum-image-size->--image.size.max--maximum-number-of-children->--max-children--maximum-other-size->--non-media.size.max--maximum-thread-depth->--max-thread-depth--maximum-thread-folder-depth->--max-thread-folder-depth--maximum-video-duration->--video.duration.max--maximum-video-size->--video.size.max--minimum-audio-duration->--audio.duration.min--minimum-image-size->--image.size.min--minimum-other-size->--non-media.size.min--minimum-video-duration->--video.duration.min--minimum-video-size->--video.size.min--required-free-space->--min-free-space--print-stats->--stats,--no-stats--send-deleted-to-trash->--hashing.dedupe.use-trash-bin
Jdownloader
--jdownloader-autostart->--jdownloader.autostart--jdownloader-download-dir->--jdownloader.download-dir--jdownloader-whitelist->--jdownloader.whitelist--send-unsupported-to-jdownloader->--jdownloader/--no-jdownloader
Sorting
--sort-downloads->--sort/--no-sort--scan-folder->--sort.input-folder--sort-folder->--sort.output-folder--sort-incrementer-format->--sort.formats.incrementer--sorted-audio->--sort.formats.audio--sorted-image->--sort.formats.image--sorted-other->--sort.formats.non-media--sorted-video->--sort.formats.video
Ignore options (filters)
The behavior of --filename-regex has been reversed (files that DO NOT match the regex will skipped)
The behavior of --before and --after has been reversed and the --exclude prefix removed (they now include instead of excluding files)
--exclude-audio->--no-audio--exclude-images->--no-images--exclude-other->--no-non-media--exclude-videos->--no-videos--exclude-before->--before--exclude-after->--after--exclude-files-with-no-extension->--allow-files-with-no-extension--filename-regex-filter->--filename-regex--ignore-coomer-ads->--crawlers.coomer.ignore-ads--ignore-coomer-post-content->--crawlers.coomer.ignore-post-content--download-tiktok-src-quality-videos-> ---crawlers.tiktok.original
Logs
--log-level->--logs.level--console-log-level->--logs.console-level--log-folder->--logs.folder--logs-expire-after->--logs.expire-after--main-log->--logs.files.mainwith alias--log-file--download-error-urls->--logs.files.download-errors--rotate-logs->--logs-rotate--scrape-error-urls->--logs.files.scrape-errors--unsupported-urls->--logs.files.unsupported
DownloadOptions
--block-download-sub-folders->--subfolders,--no-subfolders--include-album-id-in-folder-name->--subfolders.include.album-id--include-thread-id-in-folder-name->--subfolders.include.thread-id--remove-domains-from-folder-names->--subfolders.include.domain--separate-posts-format->--subfolders.separate-posts-format--separate-posts->--subfolders.separate-posts--skip-download-mark-completed->--skip-and-mark-completed--max-simultaneous-downloads->--downloads--max-simultaneous-downloads-per-domain->--downloads.per-domain--slow-download-speed->--slow-speed--download-attempts->--attempts--download-delay->--delay--download-speed-limit->--speed-limit
Generic crawlers
--wordpress-media->--crawlers.generic.wordpress-media--wordpress-html->--crawlers.generic.wordpress-html--discourse->--crawlers.generic.discourse--chevereto->--crawlers.generic.chevereto
Removed
- Support for python 3.11
--log-leveland--console-log-level(--logs.leveland--logs.console-level) no longer accept integers. Only log level names as valid, ex:INFO,DEBUG,WARNING- Posts filtering by URL params (Wordpress)
- Kemono support
- Coomer support
- Coomerfans support
- Auto cookie extraction support
Several config options have been removed:
--appdata-folder--add-md5-hash--add-sha256-hash--auto-import--browser--completed-after--completed-before--disable-download-attempt-limit--download-tiktok-audios--last-forum-post--max-items-retry--remove-generated-id-from-filename--retry-all--retry-failed--retry-maintenance--save-pages-html--scrape-single-forum-post--sites--skip-check-for-partial-files--update-last-forum-post--ignore-coomer-post-content--ignore-coomer-ads
The following authentication entries has been removed:
Imgur.client_idKemono.sessionCoomer.session
Fixed
- Do not skip initialization segments (HLS) (#1977)
- 403 errors on embeded videos (twing)
- Switch to v2 API (Filester)