- [patreon] respect filters and sort order in query parameters (#711)
- [speakerdeck] add a new extractor for speakerdeck.com (#726)
- [twitter] add
replies
option (#705) - [weibo] add
videos
option - [downloader:http] add MIME types for
.psd
files (#714)
- [artstation] improve embed extraction (#720)
- [deviantart] limit API wait times (#721)
- [newgrounds] fix URLs produced by the
following
extractor (#684) - [patreon] improve file hash extraction (#713)
- [vsco] fix user gallery extraction
- fix/improve Cloudflare bypass code (#728)
- [500px] recognize
web.500px.com
URLs - [aryion] support downloading from folders (#694)
- [furaffinity] add extractor for followed users (#515)
- [hitomi] add extractor for tag searches (#697)
- [instagram] add
post_id
andnum
metadata fields (#698) - [newgrounds] add extractor for followed users (#684)
- [patreon] recognize URLs with creator IDs (#711)
- [twitter] add
reply
metadata field (#705) - [xhamster] recognize
xhamster.porncache.net
URLs (#700)
- [gelbooru] improve post ID extraction in pool listings
- [hitomi] fix extraction of galleries without tags
- [jaiminisbox] update metadata decoding procedure (#702)
- [mastodon] fix pagination (#701)
- [mastodon] improve account searches (#704)
- [patreon] fix hash extraction from download URLs (#693)
- improve parameter extraction when solving Cloudflare challenges
- [aryion] add
gallery
andpost
extractors (#390, #673) - [deviantart] detect and handle folders in sta.sh listings (#659)
- [hentainexus] add
circle
,event
, andtitle_conventional
metadata fields (#661) - [hiperdex] add
artist
extractor (#606) - [mastodon] add access tokens for
mastodon.social
andbaraag.net
(#665)
- [deviantart] retrieve all download URLs through the OAuth API
- automatically read config files in PyInstaller executable directories (#682)
- [deviantart] handle "Request blocked" errors (#655)
- [deviantart] improve JPEG quality replacement pattern
- [hiperdex] fix extraction
- [mastodon] handle API rate limits (#665)
- [mastodon] update OAuth credentials for pawoo.net (#665)
- [myportfolio] fix extraction of galleries without title
- [piczel] fix extraction of single images
- [vsco] fix collection extraction
- [weibo] accept status URLs with non-numeric IDs (#664)
- [instagram] Add support for user's saved medias (#644)
- [nozomi] support multiple images per post (#646)
- [35photo] add
tag
extractor
- [mangadex] transform timestamps from
date
fields to datetime objects
- [deviantart] handle decode errors for
extended_fetch
results (#655) - [e621] fix bug in API rate limiting and improve pagination (#651)
- [instagram] update pattern for user profile URLs
- [mangapark] fix metadata extraction
- [nozomi] sort search results (#646)
- [piczel] fix extraction
- [twitter] fix typo in
x-twitter-auth-type
header (#625) - remove trailing dots from Windows directory names (#647)
- fix crash with missing
stdout
/stderr
/stdin
handles (#653)
- [furaffinity] extract more metadata
- [instagram] add
post_shortcode
metadata field (#525) - [kabeuchi] add extractor (#561)
- [newgrounds] add extractor for favorited posts (#394)
- [pixiv] implement
avatar
option (#595, #623) - [twitter] add extractor for bookmarked Tweets (#625)
- [bcy] reduce number of HTTP requests during data extraction
- [e621] update to new interface (#635)
- [exhentai] handle incomplete MIME types (#632)
- [hitomi] improve metadata extraction
- [mangoxo] fix login
- [newgrounds] improve error handling when extracting post data
- [hentaihand] add extractors (#605)
- [hiperdex] add chapter and manga extractors (#606)
- [oauth] implement option to write DeviantArt refresh-tokens to cache (#616)
- [downloader:http] add more MIME types for
.bmp
and.rar
files (#621, #628) - warn about expired cookies
- [bcy] fix partial image URLs (#613)
- [danbooru] fix Ugoira downloads and metadata
- [deviantart] check availability of
/intermediary/
URLs (#609) - [hitomi] follow multiple redirects & fix image URLs
- [piczel] improve and update
- [tumblr] replace
-
with - [vsco] update gallery URL pattern
- fix
--verbose
and--quiet
command-line options
- Support for
furaffinity
- https://www.furaffinity.net/ (#284)8kun
- https://8kun.top/ (#582)bcy
- https://bcy.net/ (#592)
- [blogger] implement video extraction (#587)
- [oauth] add option to specify port number used by local server (#604)
- [pixiv] add
rating
metadata field (#595) - [pixiv] recognize tags at the end of new bookmark URLs
- [reddit] add
videos
option - [weibo] use youtube-dl to download from m3u8 manifests
- implement
parent-directory
option (#551) - extend filename formatting capabilities:
- [reddit] handle reddit-hosted images and videos natively (#551)
- [twitter] change default value for
videos
totrue
- [cloudflare] unescape challenge URLs
- [deviantart] fix video extraction from
extended_fetch
results - [hitomi] implement workaround for "broken" redirects
- [khinsider] fix and improve metadata extraction
- [patreon] filter duplicate files per post (#590)
- [piczel] fix extraction
- [pixiv] fix user IDs for bookmarks API calls (#596)
- [sexcom] fix image URLs
- [twitter] force old login page layout (#584, #598)
- [vsco] skip "invalid" entities
- improve functions to load/save cookies.txt files (#586)
- [yaplog] remove module
- [hentaifoundry] extract more metadata (#565)
- [twitter] add option to extract TwitPic embeds (#579)
- implement a post-processor module to compare file versions (#530)
- [hitomi] update image URL generation
- [mangadex] revert domain to
mangadex.org
- [pinterest] improve detection of invalid pin.it links
- [pixiv] update URL patterns for user profiles and bookmarks (#568)
- [twitter] Fix stop before real end (#573)
- remove temp files before downloading from fallback URLs
- [erolord] remove extractor
- [deviantart] match new search/popular URLs (#538)
- [deviantart] match
/favourites/all
URLs (#555) - [deviantart] add extractor for followed users (#515)
- [pixiv] support listing followed users (#515)
- [imagefap] handle beta.imagefap.com URLs (#552)
- [postprocessor:metadata] add
directory
option (#520)
- [artstation] fix search result pagination (#537)
- [directlink] send Referer headers (#536)
- [exhentai] restrict default directory name length (#545)
- [mangadex] change domain to mangadex.cc (#559)
- [mangahere] send
isAdult
cookies (#556) - [newgrounds] fix tags metadata extraction
- [pixiv] retry after rate limit errors (#535)
- [twitter] handle quoted tweets (#526)
- [twitter] handle API rate limits (#526)
- [twitter] fix URLs forwarded to youtube-dl (#540)
- prevent infinite recursion when spawning new extractors (#489)
- improve output of
--list-keywords
for "parent" extractors (#548) - provide fallback for SQLite versions with missing
WITHOUT ROWID
support (#553)
- [4chan] add extractor for entire boards (#510)
- [realbooru] add extractors for pools, posts, and tag searches (#514)
- [instagram] implement a
videos
option (#521) - [vsco] implement a
videos
option - [postprocessor:metadata] implement a
bypost
option for downloading the metadata of an entire post (#511)
- [reddit] change the default value for
comments
to0
- [vsco] improve image resolutions
- make filesystem-related errors during file downloads non-fatal (#512)
- [foolslide] add fallback for chapter data extraction
- [instagram] ignore errors during post-page extraction
- [patreon] avoid errors when fetching user info (#508)
- [patreon] improve URL pattern for single posts
- [reddit] fix errors with
t1
submissions - [vsco] fix user profile extraction … again
- [weibo] handle unavailable/deleted statuses
- [downloader:http] improve rate limit handling
- retain trailing zeroes in Cloudflare challenge answers
- [flickr] support 3k, 4k, 5k, and 6k photo sizes (#472)
- [imgur] add extractor for subreddit links (#500)
- [newgrounds] add extractors for
audio
listings and generalmedia
files (#394) - [newgrounds] implement login support (#394)
- [postprocessor:metadata] implement a
extension-format
option (#477) --exec-after
- [deviantart] ensure consistent username capitalization (#455)
- [directlink] split
{path}
into{path}/{filename}.{extension}
- [twitter] update metadata fields with user/author information
- [postprocessor:metadata] filter private entries & rename
format
tocontent-format
- Enable
cookies-update
by default
- [2chan] fix metadata extraction
- [behance] get images from 'media_collection' modules
- [bobx] fix image downloads by randomly generating session cookies (#482)
- [deviantart] revert to getting download URLs from OAuth API calls (#488)
- [deviantart] fix URL generation from '/extended_fetch' results (#505)
- [flickr] adjust OAuth redirect URI (#503)
- [hentaifox] fix extraction
- [imagefap] adapt to new image URL format
- [imgbb] fix error in galleries without user info (#471)
- [instagram] prevent errors with missing 'video_url' fields (#479)
- [nijie] fix
date
parsing - [pixiv] match new search URLs (#507)
- [plurk] fix comment pagination
- [sexcom] send specific Referer headers when downloading videos
- [twitter] fix infinite loops (#499)
- [vsco] fix user profile and collection extraction (#480)
- Fix Cloudflare DDoS protection bypass
--abort-on-skip
- Fix inclusion of bash completion and man pages in source distributions
- Support for
blogger
- https://www.blogger.com/ (#364)nozomi
- https://nozomi.la/ (#388)issuu
- https://issuu.com/ (#413)naver
- https://blog.naver.com/ (#447)
- Extractor for
twitter
search results (#448) - Extractor for
deviantart
user profiles with configurable targets (#377, #419) --ugoira-conv-lossless
(#432)cookies-update
option to allow updating cookies.txt files (#445)- Optional
cloudflare
andvideo
installation targets (#460) - Allow executing commands with the
exec
post-processor after all files are downloaded (#413, #421)
- Rewrite
imgur
using its public API (#446) - Rewrite
luscious
using GraphQL queries (#457) - Adjust default
nijie
filenames to matchpixiv
- Change enumeration index for gallery extractors from
page
tonum
- Return non-zero exit status when errors occurred
- Forward proxy settings to youtube-dl downloader
- Install bash completion script into
share/bash-completion/completions
- Adapt to new
instagram
page layout when logged in (#391) - Support protected
twitter
videos (#452) - Extend
hitomi
URL pattern and fix gallery extraction - Restore OAuth2 authentication error messages
- Miscellaneous fixes for
patreon
(#444),deviantart
(#455),sexcom
(#464),imgur
(#467),simplyhentai
--exec
command-line option to specify a command to run after each file download (#421)
- Include titles in
gfycat
default filenames (#434)
- Fetch working download URLs for
deviantart
(#436) - Various fixes and improvements for
yaplog
blogs (#443) - Fix image URL generation for
hitomi
galleries - Miscellaneous fixes for
behance
andxvideos
instagram.highlights
option to include highlighted stories when downloading user profiles (#329)- Support for
/user/
URLs onreddit
(#350) - Support for
imgur
user profiles and favorites (#420) - Additional metadata fields on
nijie
(#423)
- Improve handling of private
deviantart
artworks (#414) and 429 status codes (#424) - Prevent fatal errors when trying to open download-archive files (#417)
- Detect and ignore unavailable videos on
weibo
(#427) - Update the
scope
of newreddit
refresh-tokens (#428) - Fix inconsistencies with the
reddit.comments
option (#429) - Extend URL patterns for
hentaicafe
manga andpixiv
artworks - Improve detection of unavailable albums on
luscious
andimgbb
- Miscellaneous fixes for
tsumino
- Support for
lineblog
- https://www.lineblog.me/ (#404)fuskator
- https://fuskator.com/ (#407)
ugoira
option fordanbooru
to download pre-rendered ugoira animations (#406)
- Download the correct files from
twitter
replies (#403) - Prevent crash when trying to use unavailable downloader modules (#405)
- Fix
pixiv
authentication (#411) - Improve
exhentai
image limit checks - Miscellaneous fixes for
hentaicafe
,simplyhentai
,tumblr
- Provide
filename
metadata for alldeviantart
files (#392, #400) - Implement a
ytdl.outtmpl
option to let youtube-dl handle filenames by itself (#395) - Support
seiga
mobile URLs (#401)
- Extract more than the first 32 posts from
piczel
galleries (#396) - Fix filenames of archives created with
--zip
(#397) - Skip unavailable images and videos on
flickr
(#398) - Fix filesystem paths on Windows with Python 3.6 and lower (#402)
- Support for
instagram
stories and IGTV (#371, #373) - Support for individual
imgbb
images (#363) deviantart.quality
option to set the JPEG compression quality for newer images (#369)enumerate
option forextractor.skip
(#306)adjust-extensions
option to control filename extension adjustmentspath-remove
option to remove control characters etc. from filesystem paths
- Rename
restrict-filenames
topath-restrict
- Adjust
pixiv
metadata and default filename format (#366)- Set
filename
to"{category}_{user[id]}_{id}{suffix}.{extension}"
to restore the old default
- Set
- Improve and optimize directory and filename generation
- Allow the
classify
post-processor to handle files with unknown filename extension (#138) - Fix rate limit handling for OAuth APIs (#368)
- Fix artwork and scraps extraction on
deviantart
(#376, #392) - Distinguish between
imgur
album and gallery URLs (#380) - Prevent crash when using
--ugoira-conv
(#382) - Handle multi-image posts on
patreon
(#383) - Miscellaneous fixes for
*reactor
,simplyhentai
- Use the correct domain for exhentai.org input URLs
- Prior to version 1.10.0 all cache files were created world readable (mode
644
) leading to possible sensitive information disclosure on multi-user systems - It is recommended to restrict access permissions of already existing files
(
/tmp/.gallery-dl.cache
) withchmod 600
- Windows users should not be affected
- Support for
vsco
- https://vsco.co/ (#331)imgbb
- https://imgbb.com/ (#361)adultempire
- https://www.adultempire.com/ (#340)
restrict-filenames
option to create Windows-compatible filenames on any platform (#348)forward-cookies
option to control cookie forwarding to youtube-dl (#352)
- The default cache file location on non-Windows systems is now
$XDG_CACHE_HOME/gallery-dl/cache.sqlite3
or~/.cache/gallery-dl/cache.sqlite3
- New cache files are created with mode
600
exhentai
extractors will always usee-hentai.org
as domain
- Better handling of
exhentai
image limits and errors (#356, #360) - Try to prevent ZIP file corruption (#355)
- Miscellaneous fixes for
behance
,ngomik
- Support for
erolord
- http://erolord.com/ (#326)
- Add login support for
instagram
(#195) - Add
--no-download
andextractor.*.download
disable file downloads (#220) - Add
-A/--abort
to specify the number of consecutive download skips before aborting - Interpret
-1
as infinite retries (#300) - Implement custom log message formats per log-level (#304)
- Implement an
mtime
post-processor that sets file modification times according to metadata fields (#332) - Implement a
twitter.content
option to enable tweet text extraction (#333, #338) - Enable
date-min/-max/-format
options fortumblr
(#337)
- Set file modification times according to their
Last-Modified
header when downloading (#236, #277)- Use
--no-mtime
ordownloader.*.mtime
to disable this behavior
- Use
- Duplicate download URLs are no longer silently ignored (controllable with
extractor.*.image-unique
) - Deprecate
--abort-on-skip
- Retry downloads on OpenSSL exceptions (#324)
- Ignore unavailable pins on
sexcom
instead of raising an exception (#325) - Use Firefox's SSL/TLS ciphers to prevent Cloudflare CAPTCHAs (#342)
- Improve folder name matching on
deviantart
(#343) - Forward cookies to
youtube-dl
to allow downloading private videos - Miscellaneous fixes for
35photo
,500px
,newgrounds
,simplyhentai
- Support for
vanillarock
- https://vanilla-rock.com/ (#254)nsfwalbum
- https://nsfwalbum.com/ (#287)
artist
andtags
metadata forhentaicafe
(#238)description
metadata forinstagram
(#310)- Format string option to replace a substring with another -
R<old>/<new>/
(#318)
- Delete empty archives created by the
zip
post-processor (#316)
- Handle
hitomi
Game CG galleries correctly (#321) - Miscellaneous fixes for
deviantart
,hitomi
,pururin
,kissmanga
,keenspot
,mangoxo
,imagefap
- Support for
slickpic
- https://www.slickpic.com/ (#249)xhamster
- https://xhamster.com/ (#281)pornhub
- https://www.pornhub.com/ (#282)8muses
- https://www.8muses.com/ (#305)
extra
option fordeviantart
to download Sta.sh content linked in description texts (#302)
- Detect
directlink
URLs with upper case filename extensions (#296)
- Improved error handling for
tumblr
API calls (#297) - Fixed extraction of
livedoor
blogs (#301) - Fixed extraction of special
deviantart
Sta.sh items (#307) - Fixed pagination for specific
keenspot
comics
- Support for
keenspot
- http://keenspot.com/ (#223)sankakucomplex
- https://www.sankakucomplex.com (#258)
folders
option fordeviantart
to add a list of containing folders to each file (#276)captcha
option forkissmanga
andreadcomiconline
to control CAPTCHA handling (#279)filename
metadata for files downloaded with youtube-dl (#291)
- Adjust
wallhaven
extractors to new page layout:- use API and add
api-key
option - removed traditional login support
- use API and add
- Provide original filenames for
patreon
downloads (#268) - Use e-hentai.org or exhentai.org depending on input URL (#278)
- Fix pagination over
sankaku
popular listings (#265) - Fix folder and collection extraction on
deviantart
(#271) - Detect "AreYouHuman" redirects on
readcomiconline
(#279) - Miscellaneous fixes for
hentainexus
,livedoor
,ngomik
- Support for
patreon
- https://www.patreon.com/ (#226)hentainexus
- https://hentainexus.com/ (#256)
date
metadata fields forpixiv
(#248),instagram
(#250),exhentai
, andnewgrounds
- Improved
flickr
metadata and video extraction (#246)
- Download original GIF animations from
deviantart
(#242) - Ignore missing
edge_media_to_comment
fields oninstagram
(#250) - Fix serialization of
datetime
objects for--write-metadata
(#251, #252) - Allow multiple post-processor command-line options at once (#253)
- Prevent crash on
booru
sites when no tags are available (#259) - Fix extraction on
instagram
afterrhx_gis
field removal (#266) - Avoid Cloudflare CAPTCHAs for Python interpreters built against OpenSSL < 1.1.1
- Miscellaneous fixes for
luscious
- Support for
plurk
- https://www.plurk.com/ (#212)sexcom
- https://www.sex.com/ (#147)
--clear-cache
date
metadata fields fordeviantart
,twitter
, andtumblr
(#224, #232)
- Standalone executables are now built using PyInstaller:
- uses the latest CPython interpreter (Python 3.7.3)
- available on several platforms (Windows, Linux, macOS)
- includes the
certifi
CA bundle,youtube-dl
, andpyOpenSSL
on Windows
- Patch
urllib3
's default list of SSL/TLS ciphers to prevent Cloudflare CAPTCHAs (#227) (Windows users need to installpyOpenSSL
for this to take effect) - Provide fallback URLs for
twitter
images (#237) - Send
Referer
headers when downloading fromhitomi
(#239) - Updated login procedure on
mangoxo
- Support for
pixnet
- https://www.pixnet.net/ (#177)wikiart
- https://www.wikiart.org/ (#179)mangoxo
- https://www.mangoxo.com/ (#184)yaplog
- https://yaplog.jp/ (#190)livedoor
- http://blog.livedoor.jp/ (#190)
- Login support for
mangoxo
(#184) andtwitter
(#214)
- Increased required
Requests
version to 2.11.0
- Improved image quality on
reactor
sites (#210) - Support
imagebam
galleries with more than 100 images (#219) - Updated Cloudflare bypass code
- Support for:
35photo
- https://35photo.pro/ (#162)500px
- https://500px.com/ (#185)
instagram
extractor for hashtags (#202)- Option to get more metadata on
deviantart
(#189) - Man pages and bash completion (#150)
- Snap improvements (#197, #199, #207)
- Better FFmpeg arguments for
--ugoira-conv
- Adjusted metadata for
luscious
albums
- Proper handling of
instagram
multi-image posts (#178, #201) - Fixed
tumblr
avatar URLs when not using OAuth1.0 (#193) - Miscellaneous fixes for
exhentai
,komikcast
- Support for:
weibo
- https://www.weibo.com/pururin
- https://pururin.io/ (#174)fashionnova
- https://www.fashionnova.com/ (#175)shopify
sites in general (#175)
- Snap packaging (#169, #170, #187, #188)
- Automatic Cloudflare DDoS protection bypass
- Extractor and Job information for logging format strings
dynastyscans
image and search extractors (#163)deviantart
scraps extractor (#168)artstation
extractor for artwork listings (#172)smugmug
video support and improved image format selection (#183)
- More metadata for
nhentai
galleries - Combined
myportfolio
extractors into one - Renamed
name
metadata field tofilename
and removed the originalfilename
field - Simplified and improved internal data structures
- Optimized creation of child extractors
- Filter empty
tumblr
URLs (#165) - Filter ads and improve connection speed on
hentaifoundry
- Show proper error messages if
luscious
galleries are unavailable - Miscellaneous fixes for
mangahere
,ngomik
,simplyhentai
,imgspice
seaotterscans
- Added support for:
photobucket
- http://photobucket.com/ (#117)hentaifox
- https://hentaifox.com/ (#160)tsumino
- https://www.tsumino.com/ (#161)
- Added the ability to dynamically generate extractors based on a user's config file for
- Added an extractor for
behance
collections (#157) - Added login support for
luscious
(#159) andtsumino
(#161) - Added an option to stop downloading if the
exhentai
image limit is exceeded (#141) - Fixed extraction issues for
behance
andmangapark
- Added
metadata
post-processor to write image metadata to an external file (#135) - Added option to reverse chapter order of manga extractors (#149)
- Added authentication support for
danbooru
(#151) - Added tag metadata for
exhentai
andhbrowse
galleries - Improved
*reactor
extractors (#148) - Fixed extraction issues for
nhentai
(#156),pinterest
,mangapark
- Added support for:
instagram
- https://www.instagram.com/ (#134)
- Added support for multiple items on sta.sh pages (#113)
- Added option to download
tumblr
avatars (#137) - Changed defaults for visited post types and inline media on
tumblr
- Improved inline extraction of
tumblr
posts (#133, #137) - Improved error handling and retry behavior of all API calls
- Improved handling of missing fields in format strings (#136)
- Fixed hash extraction for unusual
tumblr
URLs (#129) - Fixed image subdomains for
hitomi
galleries (#142) - Fixed and improved miscellaneous issues for
kissmanga
(#20),luscious
,mangapark
,readcomiconline
- Added support for:
joyreactor
- http://joyreactor.cc/ (#114)pornreactor
- http://pornreactor.cc/ (#114)newgrounds
- https://www.newgrounds.com/ (#119)
- Added extractor for search results on
luscious
(#127) - Fixed filenames of ZIP archives (#126)
- Fixed extraction issues for
gfycat
,hentaifoundry
(#125),mangafox
- Added support for:
wallhaven
- https://alpha.wallhaven.cc/yuki
- https://yuki.la/
- Added youtube-dl integration and video downloads for
twitter
(#99),behance
,artstation
- Added per-extractor options for network connections (
retries
,timeout
,verify
) - Added a
--no-check-certificate
command-line option - Added ability to specify the number of skipped downloads before aborting/exiting (#115)
- Added extractors for scraps, favorites, popular and recent images on
hentaifoundry
(#110) - Improved login procedure for
pixiv
to avoid unwanted emails on each new login - Improved album metadata and error handling for
flickr
(#109) - Updated default User-Agent string to Firefox 62 (#122)
- Fixed
twitter
API response handling when logged in (#123) - Fixed issue when converting Ugoira using H.264
- Fixed miscellaneous issues for
2chan
,deviantart
,fallenangels
,flickr
,imagefap
,pinterest
,turboimagehost
,warosu
,yuki
(#112)
- Added support for:
hentaicafe
- https://hentai.cafe/ (#101)bobx
- http://www.bobx.com/dark/
- Added black-/whitelist options for post-processor modules
- Added support for
tumblr
inline videos (#102) - Fixed extraction of
smugmug
albums without owner (#100) - Fixed issues when using default config values with
reddit
extractors (#104) - Fixed pagination for user favorites on
sankaku
(#106) - Fixed a crash when processing
deviantart
journals (#108)
- Added support for
twitter
timelines (#96) - Added option to suppress FFmpeg output during ugoira conversions
- Improved filename formatter performance
- Improved inline image quality on
tumblr
(#98) - Fixed image URLs for newly released
mangadex
chapters - Fixed a smaller issue with
deviantart
journals - Replaced
subapics
withngomik
- Added support for:
piczel
- https://piczel.tv/
- Added support for related pins on
pinterest
- Fixed accessing "offensive" galleries on
exhentai
(#97) - Fixed extraction issues for
mangadex
,komikcast
andbehance
- Removed original-image functionality from
tumblr
, since "raw" images are no longer accessible
- Added support for:
behance
- https://www.behance.net/myportfolio
- https://www.myportfolio.com/ (#95)
- Added custom format string options to handle long strings (#92, #94)
- Slicing:
"{field[10:40]}"
- Replacement:
"{field:L40/too long/}"
- Slicing:
- Improved frame rate handling for ugoira conversions
- Improved private access token usage on
deviantart
- Fixed metadata extraction for some images on
nijie
- Fixed chapter extraction on
mangahere
- Removed
whatisthisimnotgoodwithcomputers
- Removed support for Python 3.3
- Added image-pool extractors for
safebooru
andrule34
- Added option for extended tag information on
booru
sites (#92) - Added support for DeviantArt's new URL format
- Added support for
mangapark
mirrors - Changed
imagefap
extractors to use HTTPS - Fixed crash when skipping downloads for files without known extension
- Added an
ugoira
post-processor to convertpixiv
animations to WebM - Added
--zip
and--ugoira-conv
command-line options - Changed how ugoira frame information is handled
- instead of being written to a separate file, it is now made available as metadata field of the ZIP archive
- Fixed manga and chapter titles for
mangadex
- Fixed file deletion by post-processors
- Added support for:
simplyhentai
- https://www.simply-hentai.com/ (#89)
- Added extractors for
pixiv
search results and followed usersdeviantart
search results and popular listings
- Added post-processors to perform actions on downloaded files
- Added options to configure logging behavior
- Added OAuth support for
smugmug
- Changed
pixiv
extractors to use the AppAPI- this breaks
favorite
archive IDs and changes some metadata fields
- this breaks
- Changed the default filename format for
tumblr
and renamedoffset
tonum
- Fixed a possible UnicodeDecodeError during installation (#86)
- Fixed extraction of
mangadex
manga with more than 100 chapters (#84) - Fixed miscellaneous issues for
imgur
,reddit
,komikcast
,mangafox
andimagebam
- Added support for:
smugmug
- https://www.smugmug.com/
- Added title information for
mangadex
chapters - Improved the
pinterest
API implementation (#83) - Improved error handling for
deviantart
andtumblr
- Removed
gomanga
andpuremashiro
- Added support for custom OAuth2 credentials for
pinterest
- Improved rate limit handling for
tumblr
extractors - Improved
hentaifoundry
extractors - Improved
imgur
URL patterns - Fixed miscellaneous extraction issues for
luscious
andkomikcast
- Removed
loveisover
andspectrumnexus
- Added extractors for
nhentai
search resultsexhentai
search results and favoritesnijie
doujins and favorites
- Improved metadata extraction for
exhentai
andnijie
- Improved
tumblr
extractors by avoiding unnecessary API calls - Fixed Cloudflare DDoS protection bypass
- Fixed errors when trying to print unencodable characters
- Added extractors for
artstation
albums, challenges and search results - Improved URL and metadata extraction for
hitomi
andnhentai
- Fixed page transitions for
danbooru
API results (#82)
- Added support for:
mangadex
- https://mangadex.org/artstation
- https://www.artstation.com/
- Added Cloudflare DDoS protection bypass to
komikcast
extractors - Changed archive ID formats for
deviantart
folders and collections - Improved error handling for
deviantart
API calls - Removed
imgchili
and various smaller image hosts
- Added
--proxy
to explicitly specify a proxy server (#76) - Added options to customize archive ID formats and undefined replacement fields
- Changed various archive ID formats to improve their behavior for favorites / bookmarks / etc.
- Affected modules are
deviantart
,flickr
,tumblr
,pixiv
and all …boorus
- Affected modules are
- Improved
sankaku
andidolcomplex
support by- respecting
page
andnext
URL parameters (#79) - bypassing the page-limit for unauthenticated users
- respecting
- Improved
directlink
metadata by properly unquoting it - Fixed
pixiv
ugoira extraction (#78) - Fixed miscellaneous extraction issues for
mangastream
andtumblr
- Removed
yeet
,chronos
,coreimg
,hosturimage
,imageontime
,img4ever
,imgmaid
,imgupload
- Added support for:
paheal
- https://rule34.paheal.net/ (#69)komikcast
- https://komikcast.com/ (#70)subapics
- http://subapics.com/ (#70)
- Added
--download-archive
to record downloaded files in an archive file - Added
--write-log
to write logging output to a file - Added a filetype check on download completion to fix incorrectly assigned filename extensions (#63)
- Added the
tumblr:...
pseudo URI scheme to support custom domains for Tumblr blogs (#71) - Added fallback URLs for
tumblr
images (#64) - Added support for
reddit
-hosted images (#68) - Improved the input file format by allowing comments and per-URL options
- Fixed OAuth 1.0 signature generation for Python 3.3 and 3.4 (#75)
- Fixed smaller issues for
luscious
,hentai2read
,hentaihere
andimgur
- Removed the
batoto
module
- Added support for:
puremashiro
- http://reader.puremashiro.moe/ (#66)idolcomplex
- https://idol.sankakucomplex.com/
- Added an option to filter reblogs on
tumblr
(#61) - Added OAuth user authentication for
tumblr
(#65) - Added support for
slideshare
mobile URLs (#67) - Improved pagination for various …booru sites to work around page limits
- Fixed chapter information parsing for certain manga on
kissmanga
(#58) andbatoto
(#60)
- Added support for:
slideshare
- https://www.slideshare.net/ (#54)
- Added pool- and post-extractors for
sankaku
- Added OAuth user authentication for
deviantart
- Updated
luscious
to supportmembers.luscious.net
URLs (#55) - Updated
mangahere
to use their new domain name (mangahere.cc) and support mobile URLs - Updated
gelbooru
to not be restricted to the first 20,000 images (#56) - Fixed extraction issues for
nhentai
andkhinsider
- Added the
-r/--limit-rate
command-line option to set a maximum download rate - Added the
--sleep
command-line option to specify the number of seconds to sleep before each download - Updated
gelbooru
to no longer use their now disabled API - Fixed SWF extraction for
sankaku
(#52) - Fixed extraction issues for
hentai2read
andkhinsider
- Removed the deprecated
--images
and--chapters
options - Removed the
mangazuki
module
- Added an option to set a custom user-agent string
- Improved retry behavior for failed HTTP requests
- Improved
seiga
by providing better metadata and getting more than the latest 200 images - Improved
tumblr
by adding support for all post types, scanning for inline images and following external links (#48) - Fixed extraction issues for
hbrowse
,khinsider
andsenmanga
- Added support for:
xvideos
- https://www.xvideos.com/ (#45)
- Fixed exception handling during file downloads which could lead to a premature exit
- Fixed an issue with
tumblr
where not all images would be downloaded when using tags (#48) - Fixed extraction issues for
imgbox
(#47),mangastream
(#49) andmangahere
- Added support for:
warosu
- https://warosu.org/b4k
- https://arch.b4k.co/
- Added support for
pixiv
ranking lists - Added support for
booru
popular lists (danbooru
,e621
,konachan
,yandere
,3dbooru
) - Added the
--cookies
command-line andcookies
config option to load additional cookies - Added the
--filter
and--chapter-filter
command-line options to select individual images or manga-chapters by their metadata using simple Python expressions (#43) - Added the
verify
config option to control certificate verification during file downloads - Added config options to overwrite internally used API credentials (API Tokens & IDs)
- Added
-K
as a shortcut for--list-keywords
- Changed the
--images
and--chapters
command-line options to--range
and--chapter-range
- Changed keyword names for various modules to make them accessible by
--filter
. In general minus signs have been replaced with underscores (e.g.gallery-id
->gallery_id
). - Changed default filename formats for manga extractors to optionally use volume and title information
- Improved the downloader modules to use
.part
files and support resuming incomplete downloads (#29) - Improved
deviantart
by distinguishing between users and groups (#26), always using HTTPS, and always downloading full-sized original images - Improved
sankaku
by adding authentication support and fixing various other issues (#44) - Improved URL pattern for direct image links (#30)
- Fixed an issue with
luscious
not getting original image URLs (#33) - Fixed various smaller issues for
batoto
,hentai2read
(#38),jaiminisbox
,khinsider
,kissmanga
(#28, #46),mangahere
,pawoo
,twitter
- Removed
kisscomic
andyonkouprod
modules
- Added support for:
2chan
- https://www.2chan.net/4plebs
- https://archive.4plebs.org/archivedmoe
- https://archived.moe/archiveofsins
- https://archiveofsins.com/desuarchive
- https://desuarchive.org/fireden
- https://boards.fireden.net/loveisover
- https://archive.loveisover.me/nyafuu
- https://archive.nyafuu.org/rbt
- https://rbt.asia/thebarchive
- https://thebarchive.com/mangazuki
- https://mangazuki.co/
- Improved
reddit
to allow submission filtering by ID and human-readable dates - Improved
deviantart
to support group galleries and gallery folders (#26) - Changed
deviantart
to use better default path formats - Fixed extraction of larger
imgur
albums - Fixed some smaller issues for
pixiv
,batoto
andfallenangels
- Added support for:
reddit
- https://www.reddit.com/ (#15)flickr
- https://www.flickr.com/ (#16)gfycat
- https://gfycat.com/
- Added support for direct image links
- Added user authentication via OAuth for
reddit
andflickr
- Added support for user authentication data from
.netrc
files (#22) - Added a simple progress indicator for multiple URLs (#19)
- Added the
--write-unsupported
command-line option to write unsupported URLs to a file - Added documentation for all available config options (configuration.rst)
- Improved
pixiv
to support tags for user downloads (#17) - Improved
pixiv
to support shortened and http://pixiv.me/... URLs (#23) - Improved
imgur
to properly handle.gifv
images and provide better metadata - Fixed an issue with
kissmanga
where metadata parsing for some series failed (#20) - Fixed an issue with getting filename extensions from
Content-Type
response headers
- Added the
--abort-on-skip
option to stop extraction if a download would be skipped - Improved the output format of the
--list-keywords
option - Updated
deviantart
to support all media types and journals - Updated
fallenangels
to support their Vietnamese version - Fixed an issue with multiple tags on ...booru sites
- Removed the
yomanga
module
- Added support for https://pawoo.net/
- Added manga extractors for all FoOlSlide-based modules
- Added the
-q/--quiet
and-v/--verbose
options to control output verbosity - Added the
-j/--dump-json
option to dump extractor results in JSON format - Added the
--ignore-config
option - Updated the
exhentai
extractor to fall back to using the e-hentai version if no username is given - Updated
deviantart
to support sta.sh URLs - Fixed an issue with
kissmanga
which prevented image URLs from being decrypted properly (again) - Fixed an issue with
pixhost
where for an image inside an album it would always download the first image of that album (#13) - Removed the
mangashare
andreadcomics
modules
- Fixed an issue in
kissmanga
which prevented image URLs from being decrypted properly
- Added new extractors:
kireicake
- https://reader.kireicake.com/seaotterscans
- https://reader.seaotterscans.com/
- Added a favourites extractor for
deviantart
- Re-enabled the
kissmanga
module - Updated
nijie
to support multi-page image listings - Updated
mangastream
to support readms.net URLs - Updated
exhentai
to support e-hentai.org URLs - Updated
fallenangels
to support their new domain and site layout
- Added logging support
- Added the
-R/--retries
option to specify how often a download should be retried before giving up - Added the
--http-timeout
option to set a timeout for HTTP connections - Improved error handling/tolerance during HTTP file downloads (#10)
- Improved option parsing and the help message from
-h/--help
- Changed the way configuration values are used by prioritizing top-level values
- This allows for cmdline options like
-u/--username
to overwrite values set in configuration files
- This allows for cmdline options like
- Fixed an issue with
imagefap.com
where incorrectly reported gallery sizes would cause the extractor to fail (#9) - Fixed an issue with
seiga.nicovideo.jp
where invalid characters in an API response caused the XML parser to fail - Fixed an issue with
seiga.nicovideo.jp
where the filename extension for the first image would be used for all others - Removed support for old configuration paths on Windows
- Removed several modules:
mangamint
: site is downwhentai
: now requires account with VIP status for original imageskissmanga
: encrypted image URLs (will be re-added later)
- Added
--images
and--chapters
options- Specifies which images (or chapters) to download through a comma-separated list of indices or index-ranges
- Example:
--images -2,4,6-8,10-
will select images with index 1, 2, 4, 6, 7, 8 and 10 up to the last one
- Changed the
-g
/--get-urls
option- The amount of how often the -g option is given now determines up until which level URLs are resolved.
- See 3bca86618505c21628cd9c7179ce933a78d00ca2
- Changed several option keys:
directory_fmt
->directory
filename_fmt
->filename
download-original
->original
- Improved FoOlSlide-based extractors
- Fixed URL extraction for hentai2read
- Fixed an issue with deviantart, where the API access token wouldn't get refreshed
- Added new extractors:
- fallenangels (famatg.com)
- Fixed url- and data-extraction for:
- nhentai
- mangamint
- imagetwist
- Disabled InsecureConnectionWarning when no certificates are available
- Added new extractors:
- gomanga
- yomanga
- mangafox
- Fixed deviantart extractor failing - switched to using their API
- Fixed an issue with SQLite on Python 3.6
- Automated test builds via Travis CI
- Standalone executables for Windows
- Added new extractors:
- kisscomic
- readcomics
- yonkouprod
- jaiminisbox
- Added manga extractor to batoto-module
- Added user extractor to seiga-module
- Added
-i
/--input-file
argument to allow local files and stdin as input (like wget) - Added basic support for
file://
URLs- this allows for the recursive extractor to be applied to local files:
$ gallery-dl r:file://[path to file]
- Added a utility extractor to run unit test URLs
- Updated luscious to deal with API changes
- Fixed twitter to provide the original image URL
- Minor fixes to hentaifoundry
- Removed imgclick extractor
- Added new extractors:
- whentai
- readcomiconline
- sensescans, worldthree
- imgmaid, imagevenue, img4ever, imgspot, imgtrial, pixhost
- Added base class for extractors of FoOlSlide-based sites
- Changed default paths for configuration files on Windows
- old paths are still supported, but that will change in future versions
- Fixed aborting downloads if a single one failed (#5)
- Fixed cloudflare-bypass cache containing outdated cookies
- Fixed image URLs for hitomi and 8chan
- Updated deviantart to always provide the highest quality image
- Updated README.rst
- Removed doujinmode extractor
- Added new extractors:
- hentaihere
- dokireader
- rapidimg, picmaniac
- Added support to find filename extensions by Content-Type response header
- Fixed filename/path issues on Windows (#4):
- Enable path names with more than 260 characters
- Remove trailing spaces in path segments
- Updated Job class to automatically set category/subcategory keywords
- Added new extractors:
- rule34
- dynastyscans
- imagebam, coreimg, imgcandy, imgtrex
- Added login capabilities for batoto
- Added
--version
cmdline argument to print the current program version and exit - Added
--list-extractors
cmdline argument to print names of all extractor classes together with descriptions and example URLs - Added proper error messages if an image/user does not exist
- Added unittests for every extractor
- Added new extractors:
- luscious
- doujinmode
- hentaibox
- seiga
- imagefap
- Changed error output to use stderr instead of stdout
- Fixed broken pipes causing an exception-dump by catching BrokenPipeErrors
- New modules (imagetwist, turboimagehost)
- Manga-extractors: Download entire manga and not just single chapters
- Generic extractor (provisional)
- Better and configurable console output
- Windows support