Skip to content

Releases: mikf/gallery-dl

v1.27.0

01 Jun 19:13
v1.27.0
31bdb28
Compare
Choose a tag to compare

Extractors

Additions

  • [mastodon] add favorite, list, and hashtag extractors (#5529)
  • [mastodon] add support for card images
  • [pixeldrain] add support for single-file album downloads (#5641)
  • [reddit] support comment embeds (#5366)
  • [seiga] re-implement login with username & password
  • [tapas] add creator extractor (#5306)
  • [vsco] add avatar extractor (#5341)
  • [wikimedia] support wiki.gg wikis

Fixes

  • [4archive] fix extraction
  • [8chan] fix file downloads by sending a TOS cookie (#5578)
  • [artstation] disable TLS 1.2 ciphers by default (#5564, #5658)
  • [bluesky] filter reposts only for user timelines (#5528)
  • [common] disable check_hostname for custom SSLContexts (#3614, #4891, #5576)
  • [exhentai] fix Multi-Page Viewer detection (#4969)
  • [exhentai] fix blank page detection
  • [hiperdex] update domain to hiperdex.top (#5635)
  • [hotleak] download files returning a 404 status code (#5395)
  • [imgur] match URLs with title slugs (#5593)
  • [kemonoparty] fix KeyError - 'path' for posts without files (#5368, #5394, #5422, #5488)
  • [kemonoparty] fix crash on posts with missing datetime info (#5422)
  • [mastodon] send canonical true/false boolean values (#5516)
  • [newgrounds] update and fix login procedure (#5109)
  • [patreon] fix bootstrap data extraction (#5624)
  • [poipiku] fix downloading R-18 posts (#5567)
  • [poipoku] avoid language-specific extraction (#5590, #5591)
  • [realbooru] fix videos and provide fallback URLs (#2530)
  • [slideshare] fix extraction
  • [subscribestar] fix file URLs (#5631)
  • [twitter] update domain to x.com (#5597)
  • [twitter] transfer twitter.com cookies to x.com (#5597)
  • [twitter] prevent crash when extracting birdwatch metadata (#5403)
  • [twitter] handle missing expanded_url fields (#5463, #5490)
  • [wikimedia] suppress exception for entries without imageinfo (#5384)
  • [wikimedia] fix exception for files with empty metadata

Improvements

  • [exhentai] detect CAPTCHAs during login (#5492)
  • [foolfuuka] improve board pattern & support pages (#5408)
  • [furaffinity] match fxfuraffinity.net/fxraffinity.net/xfuraffinity.net URLs (#5511, #5568)
  • [gelbooru] improve pagination logic for meta tags (#5478)
  • [kemonoparty:favorite] return artists/posts in native order and support sort and order query parameters (#5375, #5620)
  • [oauth] use Extractor.request() for HTTP requests to support proxy servers etc (#5433)
  • [pixiv] change sanity_level debug message to a warning (#5180)
  • [twitter] improve username & password login procedure (#5445)
  • [twitter] wait for rate limit reset before encountering a 429 error (#5532)
  • [twitter] match fixvx.com URLs (#5511)
  • [twitter] match Tweet URLs with query parameters (#5371, #5372)
  • [twitter] match /photo/ and /video/ Tweet URLs (#5443, #5601)

Options

  • [common] add sleep-429 option (#5160)
  • [common] implement skip-filter option (#5255)
  • [common] implement keywords-eval option (#5621)
  • [kemonoparty] add announcements option (#5262)
  • [pixiv:novel] add covers option (#5373)
  • [twitter] implement relogin option (#5445)

Downloaders

  • [http] add MIME type and signature for .m4v files (#5505)

Post Processors

  • [mtime] do not overwrite _mtime values with None (#5439)
  • [ugoira] log errors for general exceptions

Archives

  • [archive] move DownloadArchive code into its own module
  • [archive] implement DownloadArchiveMemory class (#5255)
  • [archive] add archive-mode option (#5255)

Cookies

  • [cookies] use temporary file when saving cookies.txt files (#5461)
  • [cookies] optimize _find_most_recently_used_file() for exact profiles (#5538)
  • [cookies] set proper expires value for Chrome session cookies

Documentation

  • [docs] update docs/configuration links (#5059, #5369, #5423)
  • [docs] update link to "nightly" builds (#5618)
  • [docs] replace AnchorJS with custom script
  • [docs] update defaults of sleep-request, browser, tls12
  • [docs] complete Authentication info in docs/supportedsites

Formatter

  • [formatter] allow dots in '...' literals (#5539)

Output

  • [output] enable colored output by default
  • [output] extend output.colors (#2566)
  • [output] support NO_COLOR environment variable
  • [output] add --no-colors command-line option
  • [output] add -w/--warning command-line option (#5474)

Tests

  • [tests] select unused port number for local HTTP server
  • [tests] allow filtering extractor result tests by URL or comment
  • [tests] mark tests with missing auth as only_matching

Update

  • implement update-related command-line options (#5233)
    • -U/--update updates an executable file to the latest release
    • --update-check checks if the local version is up to date
    • --update-to allows switching to a different release channel (stable or dev)
      as well as upgrading/downgrading to a specific tag.
      • --update-to dev
      • --update-to dev@2024.05.25
      • --update-to v1.25.2
    • (non-executable installations have only access to -U/--update-check for version checks)

Miscellaneous

  • add workaround for requests 2.32.3 issues (#5665)
  • fix exit status of --clear-cache/--list-extractors/--list-modules
  • restore LD_LIBRARY_PATH for executables built with PyInstaller (#5421)
  • store match and groups values in Extractor objects

v1.26.9

23 Mar 16:45
v1.26.9
c3bafd6
Compare
Choose a tag to compare

Extractors

Additions

  • [artstation] support video clips (#2566, #3309, #3911)
  • [artstation] support collections (#146)
  • [deviantart] recognize deviantart.com/stash/… URLs
  • [idolcomplex] support new pool URLs
  • [lensdump] recognize direct image links (#5293)
  • [skeb] add extractor for followed users (#5290)
  • [twitter] add quotes extractor (#5262)
  • [wikimedia] support azurlane.koumakan.jp (#5256)
  • [xvideos] support /channels/ URLs (#5244)

Fixes

  • [artstation] fix handling usernames with dashes in domain names (#5224)
  • [bluesky] fix not spawning child extractors for followed users (#5246)
  • [deviantart] handle CloudFront blocks (#5363)
  • [deviantart:avatar] fix index for URLs without ? (#5276)
  • [deviantart:stash] fix index values (#5335)
  • [gofile] fix extraction
  • [hiperdex] update URL patterns & fix manga metadata (#5340)
  • [idolcomplex] fix metadata extraction
  • [imagefap] fix folder extraction (#5333)
  • [instagram] make accessing like_count non-fatal (#5218)
  • [mastodon] fix handling null moved account field (#5321)
  • [naver] fix EUC-KR encoding issue in old image URLs (#5126)
  • [nijie] increase default delay between requests (#5221)
  • [nitter] ignore invalid Tweets (#5253)
  • [pixiv:novel] fix text extraction (#5285, #5309)
  • [skeb] retry 429 responses containing a request_key cookie (#5210)
  • [warosu] fix crash for threads with deleted posts (#5289)
  • [weibo] fix retweets (#2825, #3874, #5263)
  • [weibo] fix livephoto filename extensions (#5287)
  • [xvideos] fix galleries with more than 500 images (#5244)

Improvements

  • [bluesky] improve API error messages
  • [bluesky] handle posts with different embed structure
  • [deviantart:avatar] ignore default avatars (#5276)
  • [fapello] download full-sized images (#5349)
  • [gelbooru:favorite] automatically detect returned post order (#5220)
  • [imgur] fail downloads when redirected to removed.png (#5308)
  • [instagram] raise proper error for missing reels_media (#5257)
  • [instagram] change posts are private exception to a warning (#5322)
  • [reddit] improve preview fallback formats (#5296, #5315)
  • [steamgriddb] raise exception for deleted assets
  • [twitter] handle "account is temporarily locked" errors (#5300)
  • [weibo] rework pagination logic (#4168)
  • [zerochan] fetch more posts by using the API (#3669)

Metadata

  • [bluesky] add instance metadata field (#4438)
  • [gelbooru:favorite] add date_favorited metadata field
  • [imagefap] extract folder metadata (#5270)
  • [instagram] default likes to 0 (#5323)
  • [kemonoparty] add revision_count metadata field (#5334)
  • [naver] unescape post title and description
  • [pornhub:gif] extract viewkey and timestamp metadata (#4463)
  • [redgifs] make date available for directories (#5262)
  • [subscribestar] fix date metadata
  • [twitter] add birdwatch metadata field (#5317)
  • [twitter] add protected metadata field (#5327)
  • [warosu] fix board_name metadata

Options

  • [bluesky] add reposts option (#4438, #5248)
  • [deviantart] add comments-avatars option (#4995)
  • [deviantart] extend metadata option (#5175)
  • [flickr] add contexts option (#5324)
  • [gelbooru:favorite] add order-posts option (#5220)
  • [kemonoparty] add order-revisions option (#5334)
  • [vipergirls] add like option (#4166)
  • [vipergirls] add domain option (#4166)

Downloaders

  • [http] add MIME type and signature for .mov files (#5287)

Docker

  • build images from source instead of PyPI package
  • build linux/arm64 images (#5227)
  • build images on every push to master
    • tag images as YYYY.MM.DD
    • tag the most recent build from master as dev
    • tag the most recent release build as latest
  • reduce image size (#5097)

Miscellaneous

  • [formatter] fix local DST datetime offsets for :O
  • build Linux executable on Ubuntu 22.04 LTS (#4184)
  • automatically create directories for logging files (#5249)

v1.26.8

17 Feb 20:09
v1.26.8
fc46177
Compare
Choose a tag to compare

Extractors

Additions

  • [bluesky] add support (#4438, #4708, #4722, #5047)
  • [bunkr] support new domains (#5114, #5130, #5134)
  • [fanbox] add home and supporting extractors (#5138)
  • [imagechest] add user extractor (#5143)
  • [imagetwist] add gallery extractor (#5190)
  • [kemonoparty] add posts extractor (#5194, #5198)
  • [twitter] support communities (#4913)
  • [vsco] support spaces (#5202)
  • [weibo] add gifs option (#5183)
  • [wikimedia] support www.pidgi.net (#5205)
  • [wikimedia] support bulbapedia.bulbagarden.net (#5206)

Fixes

  • [archivedmoe] fix thebarchive WebM URLs (#5116)
  • [batoto] fix crash when manga name or chapter contains a - (#5200)
  • [bunkr] fix extraction (#5088, #5151, #5153)
  • [gofile] update website_token extraction
  • [idolcomplex] fix pagination for tags containing : (#5184)
  • [kemonoparty] fix deleting file names when computing revision_hash (#5103)
  • [luscious] fix IndexError for files without thumbnail (#5122, #5124, #5182)
  • [naverwebtoon] fix title for comics with empty tags (#5120)
  • [pinterest] fix section URLs for boards with /, ?, or # in their name (#5104)
  • [twitter] update query hashes
  • [zerochan] fix skipping every other post

Improvements

  • [deviantart] skip locked/blurred posts (#4567, #5193)
  • [deviantart] implement downloading PNG versions of non-original images with "quality": "png" (#4846)
  • [flickr] handle non-JSON errors (#5131)
  • [idolcomplex] support alphanumeric post IDs (#5171)
  • [kemonoparty] implement filtering duplicate revisions with "revisions": "unique"(#5013)
  • [naverwebtoon] support /webtoon/ paths for all comics (#5123)

Metadata

  • [idolcomplex] extract id_alnum metadata (#5171)
  • [pornpics] support multiple values for channel (#5195)
  • [sankaku] add id-format option (#5073)
  • [skeb] add num and count metadata fields (#5187)

Downloaders

Fixes

  • [http] remove pyopenssl import (#5156)

Miscellaneous

  • fix filename formatting silently failing under certain circumstances (#5185, #5186)

v1.26.7

21 Jan 22:06
v1.26.7
0502256
Compare
Choose a tag to compare

Extractors

Additions

Fixes

  • [blogger] fix lh-*.googleusercontent.com URLs (#5091)
  • [bunkr] update domain (#5088)
  • [deviantart] fix AttributeError for URLs without username (#5065)
  • [deviantart] fix KeyError: 'premium_folder_data' (#5063)
  • [deviantart:avatar] fix exception when comments are enabled (#4995)
  • [fuskator] make metadata extraction non-fatal (#5039)
  • [gelbooru] only log "Incomplete API response" for favorites (#5045)
  • [giantessbooru] update domain
  • [issuu] fix extraction
  • [nijie] fix download URLs of single image posts (#5049)
  • [patreon] fix KeyError: 'name' (#5048, #5069, #5093)
  • [pixiv] update API headers (#5029)
  • [realbooru] fix download URLs of older posts
  • [twitter] revert to using media timeline by default (#4953)
  • [vk] transform image URLs to non-blurred versions (#5017)

Improvements

  • [batoto] support more mirror domains (#5042)
  • [batoto] improve v2 manga URL pattern
  • [gelbooru] support all tag and URLs with empty tags (#5076)
  • [patreon] download m3u8 manifests with ytdl
  • [sankaku] support post URLs with alphanumeric IDs (#5073)

Metadata

  • [batoto] improve manga_id extraction (#5042)
  • [erome] fix count metadata
  • [kemonoparty] add revision_hash metadata (#4706, #4727, #5013)
  • [paheal] fix source metadata
  • [webtoons] extract more metadata (#5061, #5094)

Removals

  • [chevereto] remove pixl.li
  • [hbrowse] remove module
  • [nitter] remove nitter.lacontrevoie.fr

v1.26.6

06 Jan 16:52
v1.26.6
6e10260
Compare
Choose a tag to compare

Extractors

Additions

Fixes

  • [gelbooru] fix favorite extractor (#4903)
  • [idolcomplex] fix extraction & update URL patterns (#5002)
  • [imagechest] fix loading more than 10 images in a gallery (#4469)
  • [jpgfish] update domain
  • [komikcast] fix manga extractor (#5027)
  • [komikcast] update domain (#5027)
  • [lynxchan] update bbw-chan domain (#4970)
  • [manganelo] fix extraction & recognize .to TLDs (#5005)
  • [paheal] restore extension metadata (#4976)
  • [rule34us] add fallback for video-cdn1 videos (#4985)
  • [weibo] fix AttributeError in user extractor (#5022)

Improvements

  • [gelbooru] show error for invalid API responses (#4903)
  • [rule34] recognize URLs with www subdomain (#4984)
  • [twitter] raise error for invalid strategy values (#4953)

Metadata

  • [fanbox] add metadata option (#4921)
  • [nijie] add count metadata (#146)
  • [pinterest] add count metadata (#4981)

Miscellaneous

  • fix and update zsh completion (#4972)
  • fix --cookies-from-browser macOS Firefox profile path

v1.26.5

23 Dec 17:29
v1.26.5
6840717
Compare
Choose a tag to compare

Extractors

Additions

  • [deviantart] add intermediary option (#4955)
  • [inkbunny] add unread extractor (#4934)
  • [mastodon] support non-numeric status IDs (#4936)
  • [myhentaigallery] recognize /g/ URLs (#4920)
  • [postmill] add support (#4917, #4919)
  • {shimmie2[ support rule34hentai.net (#861, #4789, #4945)

Fixes

  • [deviantart] add workaround for integer client-id values (#4924)
  • [exhentai] fix error for infinite fallback-retries (#4911)
  • [inkbunny] stop pagination on empty results
  • [patreon] fix bootstrap data extraction again (#4904)
  • [tumblr] fix exception after waiting for rate limit (#4916)

Improvements

  • [exhentai] output continuation URL when interrupted (#4782)
  • [inkbunny] improve /submissionsviewall.php patterns (#4934)
  • [tumblr] support infinite fallback-retries
  • [twitter] default to tweets timeline when replies are enabled (#4953)

Metadata

  • [danbooru] provide tags as list (#4942)
  • [deviantart] set is_original for intermediary URLs to false
  • [twitter] remove date_liked (#3850, #4108, #4657)

Docker

  • add Docker instructions to README (#4850)
  • fix auto-generation of latest tags

v1.26.4

10 Dec 16:47
v1.26.4
28d60e3
Compare
Choose a tag to compare

Extractors

Additions

Fixes

  • [nijie] fix image URLs of multi-image posts (#4876)
  • [patreon] fix bootstrap data extraction (#4904, #4906)
  • [twitter] fix /media timelines (#4898, #4899)
  • [twitter] retry API requests when response contains incomplete results (#4811)

Improvements

  • [exhentai] store more cookies when logging in with username & password (#4881)
  • [twitter] generalize "Login Required" errors (#4734, #4324)

Options

  • add -e/--error-file command-line and output.errorfile config option (#4732)

Miscellaneous

  • automatically build and push Docker images
  • prompt for passwords on login when necessary
  • fix util.dump_response() to work with bytes header values

v1.26.3

27 Nov 20:54
v1.26.3
4dde368
Compare
Choose a tag to compare

Extractors

Additions

  • [behance] support text modules (#4799)
  • [behance] add modules option (#4799)
  • [blogger] support www.micmicidol.club (#4759)
  • [erome] add count metadata (#4812)
  • [exhentai] add gp option (#4576)
  • [fapello] support .su TLD (#4840, #4841)
  • [pixeldrain] add file and album extractors (#4839)
  • [pixeldrain] add api-key option (#4839)
  • [tmohentai] add gallery extractor (#4808, #4832)

Fixes

  • [cyberdrop] update to site layout changes
  • [exhentai] handle Downloading … requires GP errors (#4576, #4763)
  • [exhentai] fix empty API URL with "source": "hitomi" (#4829)
  • [hentaifoundry] check for and update expired sessions (#4694)
  • [hiperdex] fix manga metadata
  • [idolcomplex] update to site layout changes
  • [imagefap] fix resolution of single images
  • [instagram] fix exception on empty video_versions (#4795)
  • [mangaread] fix extraction
  • [mastodon] fix reblogs (#4580)
  • [nitter] fix video extraction (#4853, #4855)
  • [pornhub] fix user metadata for gifs
  • [tumblr] fix day extractor
  • [wallpapercave] fix extraction
  • [warosu] fix file URLs
  • [webtoons] fix pagination when receiving an HTTP redirect
  • [xvideos] fix metadata extraction
  • [zerochan] fix metadata extraction

Improvements

  • [hentaicosplays] force https:// for download URLs
  • [oauth] warn when cache is enabled but not writeable (#4771)
  • [sankaku] update URL patterns
  • [twitter] ignore promoted Tweets (#3894, #4790)
  • [weibo] detect redirects to login page (#4773)

Removals

  • [foolslide] remove powermanga.org

Downloaders

Changes

  • [http] treat files not passing filesize-min/-max as skipped (#4821)

Options

Additions

  • add metadata-extractor option (#4549)
  • support metadata-* names for *-metadata options
    (for example url-metadata is now also recognized as metadata-url)

CLI

Additions

  • implement -I/--input-file-comment and -x/--input-file-delete options (#4732)
  • add --ugoira as a general version of --ugoira-conv and co.
  • add --mtime as a general version of --mtime-from-date
  • add --cbz

Fixes

  • allow --mtime-from-date to work with Weibo`s metadata structure

Miscellaneous

Additions

  • add a simple Dockerfile (#4831)

v1.26.2

04 Nov 21:04
v1.26.2
807ddde
Compare
Choose a tag to compare

Extractors

Additions

  • [4archive] add thread and board extractors (#1262, #2418, #4400, #4710, #4714)
  • [hitomi] recognize imageset gallery URLs (#4756)
  • [kemonoparty] add revision_index metadata field (#4727)
  • [misskey] support misskey.design (#4713)
  • [reddit] support Reddit Mobile share links (#4693)
  • [sankaku] support /posts/ tag search URLs (#4740)
  • [twitter] recognize fixupx.com URLs (#4755)

Fixes

  • [exhentai] update to site layout changes (#4730, #4754)
  • [exhentai] provide fallback URLs (#1021, #4745)
  • [exhentai] disable DH ciphers to avoid DH_KEY_TOO_SMALL errors (#1021, #4593)
  • [idolcomplex] disable sending Referer headers (#4726)
  • [instagram] update API headers
  • [kemonoparty] fix parsing of non-standard date values (#4676)
  • [patreon] fix campaign_id extraction (#4699, #4715, #4736, #4738)
  • [pixiv] load cookies for non-OAuth URLs (#4760)
  • [twitter] fix avatars without date information (#4696)
  • [twitter] restore truncated retweet texts (#3430, #4690)
  • [weibo] fix Sina Visitor requests

Improvements

  • [behance] unescape embed URLs (#4742)
  • [fantia] simplify tags to a list of strings (#4752)
  • [kemonoparty] limit title length (#4741)
  • [nijie] set 1-2s delay between requests to avoid 429 errors
  • [patreon] provide ways to manually specify a user's campaign_id
    • https://www.patreon.com/id:12345
    • https://www.patreon.com/USER?c=12345
    • https://www.patreon.com/USER?campaign_id=12345
  • [twitter] cache user_by_… results (#4719)

Post Processors

Fixes

  • [metadata] ignore non-string tag values (#4764)

Miscellaneous

Fixes

  • prevent crash when stdout.line_buffering is not defined (#642)

v1.26.1

21 Oct 14:38
v1.26.1
95a74be
Compare
Choose a tag to compare

Extractors

Additions

  • [bunkr] add extractor for media URLs (#4684)
  • [chevereto] add generic extractors for chevereto sites (#4664)
  • [deviantart] implement "group": "skip" (#4630)
  • [fantia] add content_count and content_num metadata fields (#4627)
  • [imgbb] add displayname and user_id metadata (#4626)
  • [kemonoparty] support post revisions; add revisions option (#4498, #4597)
  • [kemonoparty] support searches (#3385, #4057)
  • [kemonoparty] support discord URLs with channel IDs (#4662)
  • [moebooru] add metadata option (#4646)
  • [newgrounds] support multi-image posts (#4642)
  • [sankaku] support /posts/ URLs (#4688)
  • [twitter] add sensitive metadata field (#4619)

Fixes

  • [4chanarchives] disable Referer headers by default (#4686)
  • [bunkr] fix /d/ file URLs (#4685)
  • [deviantart] expand nested comment replies (#4653)
  • [deviantart] disable jwt (#4652)
  • [hentaifoundry] fix .swf file downloads (#4641)
  • [imgbb] fix user metadata extraction (#4626)
  • [imgbb] update pagination end condition (#4626)
  • [kemonoparty] update API endpoints (#4676, #4677)
  • [patreon] update campaign_id path (#4639)
  • [reddit] fix wrong previews (#4649)
  • [redgifs] fix niches extraction (#4666, #4667)
  • [twitter] fix crash due to missing source (#4620)
  • [warosu] fix extraction (#4634)

Post Processors

Additions

  • support {_filename}, {_directory}, and {_path} replacement fields for --exec (#4633)

Miscellaneous

Improvements

  • avoid temporary copies with --cookies-from-browser by opening cookie databases in read-only mode