Commit Graph

1762 Commits

Author SHA1 Message Date
Mike Fährmann
7e513f35f2 [wikimedia] use 'gallery-dl/<version>' User-Agent (#8770 #8861) 2026-01-10 18:08:13 +01:00
Mike Fährmann
76930ad44c [saint] support 'turbovid.cr' URLs (#8851) 2026-01-10 18:08:13 +01:00
Mike Fährmann
bb7d540c7a [xenforo] add 'media-category' extractor (#8785) 2026-01-10 18:08:05 +01:00
Mike Fährmann
60104f20af [xenforo] implement 'media' support (#8785)
add 'media-user' and 'media-item' extractors
TODO: 'media-category' extractor (?)
2026-01-09 21:21:19 +01:00
Mike Fährmann
b1a708beb9 [weibo:album] implement 'subalbum' support (#8792)
https://weibo.com/u/USER?tabtype=album-1
https://weibo.com/u/USER?tabtype=album-NAME
https://weibo.com/u/USER?tabtype=album-all
https://weibo.com/u/USER?tabtype=album-only
2026-01-07 19:23:54 +01:00
Mike Fährmann
6cc7153b6c [webtoons] extend 'bgm' option (#8733)
allow remuxing bgm audio into a different format/container
2026-01-06 21:53:16 +01:00
Mike Fährmann
cf96fc6ebe [koofr] refactor (#8803)
https://github.com/mikf/gallery-dl/issues/8803#issuecomment-3708215475
https://github.com/mikf/gallery-dl/issues/8803#issuecomment-3708358606

- add 'recursive' option, remove 'zip'
- recurse into subdirectories
- add 'path' metadata
- remove 'count' & 'num' metadata
- update default directory & archive format
2026-01-06 21:52:58 +01:00
Mike Fährmann
2cfe2b3b04 [common] implement '"user-agent": "+PRESET"'
support using a 'User-Agent' header preset, e.g. "+firefox"
2026-01-03 21:07:45 +01:00
Mike Fährmann
fcf6f05a0d [koofr] implement 'zip' option (#6582 #8700)
Download individual files instead of '.zip' bundle by default.

https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3679504391
2026-01-01 19:13:31 +01:00
Mike Fährmann
5e94bae906 [pixiv] support 'sketch' include (#8789) 2026-01-01 10:49:41 +01:00
Mike Fährmann
8792d7faea [whyp] add support (#8725) 2025-12-31 18:58:33 +01:00
Mike Fährmann
add9fbc13b [manganelo] add 'bookmark' extractor (#8776) 2025-12-31 11:06:08 +01:00
Mike Fährmann
239de3f092 [civitai] update 'quality-videos' default (#8787)
from "quality=100" to "original=true,quality=100"
to prevent a server timeout / error
2025-12-31 09:56:39 +01:00
Mike Fährmann
51c155df94 [yourlesbians] add 'album' extractor (#8713) 2025-12-30 20:33:50 +01:00
CasualYouTuber31
a6c845bdc8 [tiktok] remove yt-dlp dependency & add support for more post types (#8715)
#7246 #8035 #8466 #8730

* [tiktok] support extracting videos directly without yt-dlp
* [tiktok] support extracting users directly without yt-dlp
* [tiktok] fixing logic, tests, linting errors
* [tiktok] implement tiktok-range support for non-yt-dlp user extractor
* [tiktok] Skip range filter if no ranges are given
* [tiktok] Remove debug code
* [tiktok] only check for faulty device IDs during the first couple of passes
    I think the original yt-dlp solution assumes that if a device ID works once, it will always work.
    Plus, my approach would cause needless retries in certain cases if hasMorePrevious does end up being wrong like the original algorithm accounts for. So let's copy the original algorithm here, too.
* [tiktok] support stories
* [tiktok] you can now extract audio without extracting photos
* [tiktok] add TiktokFollowingExtractor
* [tiktok] update supportedsites to include stories
* [tiktok] Keep tiktok-range option for no content user account test
    It acts as a nice guard against that account suddenly having lots of posts to extract
* [tiktok] TiktokUserExtractor and TiktokFollowingExtractor rewrite
* [tiktok] Fix avatar naming convention to match that of posts
* [tiktok] remove type hints for compatibility with older Python versions
* [tiktok] Improve performance of TiktokFollowingExtractor
    This was largely achieved using the story/batch/item_list endpoint
* [tiktok] Forgot to run flake8
* [tiktok] remove old constant
* [tiktok] Support order-posts config item
* [tiktok] flake8
* [tiktok] Older Python versions don't support match
* [tiktok] always ask for posts in chronological order when in "desc" mode
    We should aim to avoid having pinned posts returned before non-pinned ones
* [tiktok] Add liked posts extraction
* [tiktok] Add reposts extraction
* [tiktok] Add saved posts extraction

* cleanup imports
* remove '# MARK:' comments
* remove & simplify 'except' statements
    KeyboardInterrupt & SystemExit inherit from BaseException (not Exception)
    and therefore don't need special handling
* split 'user' extractor
* move PATTERNs into their respective functions
* use dict comprehensions
* add only-matching test URLs for split user extractors
* update config docs
    rename 'tiktok-user-extractor' to 'ytdl'
* document '"popular"' 'order-posts' value
* inline and remove 'util.chunk()'
2025-12-30 17:17:57 +01:00
Mike Fährmann
c2917ad5c5 [ahottie] add aupport (#8710) 2025-12-29 18:47:10 +01:00
Mike Fährmann
4f535ec606 [imgpv] add 'image' extractor (#8773) 2025-12-28 21:36:06 +01:00
Mike Fährmann
daf6cc2c78 [twitter] add 'notifications' extractor (#7974) 2025-12-26 18:06:00 +01:00
Mike Fährmann
c384cd06c2 [fansly] add 'previews' option (#8686) 2025-12-25 20:25:47 +01:00
Mike Fährmann
01fe6870a3 [fansly] disable 'formats' check by default (#8757)
should allow downloading and selecting the highest resolution video format
regardless of its 'type' / format code
2025-12-25 19:15:21 +01:00
Mike Fährmann
cc8cd78103 [webtoons] download episode background music (#8733)
add 'bgm' option
2025-12-23 19:08:30 +01:00
Mike Fährmann
2be54be692 [subscribestar] merge 'user-tag' into regular 'user' extractor (#8737) 2025-12-23 18:58:25 +01:00
Mike Fährmann
c3ef760a9f [discord] add 'server-assets' extractor (#8589) 2025-12-22 21:08:33 +01:00
Mike Fährmann
609e19273d [subscribestar] add 'user-tag' extractor (#8737) 2025-12-21 22:14:17 +01:00
Mike Fährmann
375ab4084b [facebook] add 'loop' option (#8696) 2025-12-21 21:27:33 +01:00
Mike Fährmann
19a27a47b3 [options] add '--sleep-skip' option (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3677460485
2025-12-20 19:06:11 +01:00
Mike Fährmann
afe867361f [weebdex] add support (#8722) 2025-12-19 20:06:40 +01:00
Mike Fährmann
ff94002b44 [formatter] add 'I' format specifier - identity 2025-12-17 19:22:18 +01:00
Mike Fährmann
717d38f38c [reddit] use '"videos": "dash"' by default (#8657)
https://github.com/mikf/gallery-dl/issues/8657#issuecomment-3663560902
2025-12-17 18:45:06 +01:00
Peter Cunha
f9096370e6 [picazor] add 'user' extractor (#7083 #7504 #7795 #8717)
* [picazor] Add support for Picazor
* [picazor] Improve tests for picazor
* [picazor] run flake8
* [picazor] working on tests
* update extractor
* update tests
* update supportedsites

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2025-12-16 18:55:18 +01:00
Mike Fährmann
62d6a2206d [aryion] add 'watch' extractor (#8705) 2025-12-16 17:57:41 +01:00
Mike Fährmann
c268f793a4 [xenforo] support 'allthefallen.moe/forum' (#3249 #8268) 2025-12-15 17:28:16 +01:00
Mike Fährmann
4f33751c30 [koofer] add 'shared' extractor (#8700) 2025-12-14 18:05:23 +01:00
Mike Fährmann
2980e8fcb8 [docs] remove 'twitter.username-alt' entries 2025-12-14 18:00:08 +01:00
Mike Fährmann
774cb1e1a0 [comedywildlifephoto] add 'gallery' extractor (#8690) 2025-12-14 17:59:56 +01:00
Mike Fährmann
a53cc87b72 [misskey] implement 'order-posts' option (#8516) 2025-12-13 21:06:31 +01:00
Mike Fährmann
8f621b32bd [2chen] implement generic 2chen board extractors
support
- https://sturdychan.help/
- https://schan.help/ (#8680)
2025-12-13 18:08:50 +01:00
Mike Fährmann
db90fe9b82 [docs] update 'xenforo' options 2025-12-12 16:28:41 +01:00
Mike Fährmann
ab2c03b39e [xenforo] implement generic XenForo forum extractors
support
- https://simpcity.cr/
- https://nudostar.com/forum/ (#8333)
2025-12-11 21:26:34 +01:00
SpiffyChatterbox
484a15ff83 [fitnakedgirls] add support (#8671)
* [fitnakedgirls] add extractor

Add support for fitnakedgirls.com:
- Photo galleries (/photos/gallery/)
- Category pages (/photos/gallery/category/)
- Tag pages (/photos/tag/)
- Video posts (/videos/)
- Blog posts (/fitblog/)

Handles both newer (wp-block-image) and older (size-large) templates.

* simplify & fix

- use '_extract_title' method
- move '_pagination' into base class
- update 'FitnakedgirlsTagExtractor' pattern

* update docs/supportedsites

---------

Co-authored-by: Mike Fährmann <mike_faehrmann@web.de>
2025-12-10 21:33:17 +01:00
SpiffyChatterbox
2c8250919b [pornpics] add 'category' and 'listing' extractors (#8662)
* [pornpics] add category and listing extractors

Add support for:
- Category pages like /ass/, /milf/, /blonde/ etc.
- Listing pages like /popular/, /recent/, /rating/, /likes/, /views/, /comments/

Category pages use JSON pagination like tags/search.
Listing pages don't support JSON pagination and use different HTML structure.

* [pornpics] simplify category pattern via class ordering

- Move PornpicsCategoryExtractor after PornpicsListingExtractor
  so it acts as catch-all, eliminating need for negative lookahead
- Use list comprehension in PornpicsListingExtractor.galleries()

* update docs/supportedsites
2025-12-10 20:00:07 +01:00
Mike Fährmann
f5fafd7977 [fikfap] add support (#8673)
add 'post' & 'user' extractors
2025-12-10 18:39:05 +01:00
Mike Fährmann
d5f4a3f5b0 [redbust] remove module (#6582)
https://github.com/mikf/gallery-dl/issues/6582#issuecomment-3635792318
2025-12-10 09:20:05 +01:00
Mike Fährmann
5831679fd2 [blueskx] add 'api-server' option (#8668) 2025-12-09 17:52:55 +01:00
Mike Fährmann
ef9c472f94 [twitter] always use '3' as 'search-stop' default (#8613)
https://github.com/mikf/gallery-dl/issues/8613#issuecomment-3626474518
2025-12-08 20:46:59 +01:00
Mike Fährmann
b1b70528a6 [common] use 'parent' value as 'parent-metadata' default (#8525 #8604)
enable 'parent-metadata' by default for
'chevereto' & 'imagehost' (album/gallery) extractors
2025-12-08 20:07:56 +01:00
Mike Fährmann
9a8746f12d [tiktok] add 'covers' option (#8515) 2025-12-07 20:30:47 +01:00
Mike Fährmann
b5712e7959 [docs/configuration] update 'Logging Configuration' defaults 2025-12-07 17:13:44 +01:00
Mike Fährmann
5da200945b implement 'post-filter' & 'post-range' options
(#8643)
2025-12-05 16:40:23 +01:00
Mike Fährmann
4e2987e007 [path] implement conditional 'part-directory' (#8329) 2025-12-03 11:19:44 +01:00