Category Archives: Uncategorized

Version 2024.9.19.0

This release is focused on improving the metadata files generated by HDoujin Downloader.

A lot of the new settings are currently tucked away under Tools > General settings > Advanced, but I’ll start moving some of them into the main interface in future updates.


New defaults for metadata files

Tag namespaces are now preserved by default. If you’ve enabled the “Strip tag namespaces” setting, it will stay enabled.

Empty fields are now skipped when generating the metadata file, so they should appear less cluttered as a result. You can re-enable empty fields by going to Tools > General settings > Advanced, and disabling the Metadata.General.OmitEmptyFields setting.

The ComicInfo serializer now implements ComicInfo Version 2.1. This means that tags will be placed inside of the new “Tags” field instead of the “Genres” field. If you still want them there, go to Tools > General settings > Advanced, and enable the Metadata.ComicInfo.PutTagsInGenre setting.

If you want to use a different version of the ComicInfo spec, you can change the Metadata.ComicInfo.Version setting.

Additionally, “Pages” metadata is now omitted from ComicInfo files by default, because reading the metadata for each image slows down the process considerably. If you want them to be included, go to Tools > General settings > Advanced, and enable the Metadata.ComicInfo.IncludePages setting.

Tag remapping

You can now specify rules used to map tags to other tags. You can use this feature to rename tags, change or remove namespaces, or consolidate multiple synonymous tags into one. These rules can be configured under Tools > General settings > Advanced, Metadata.General.TagRules.

Tag rules are defined the same way they are in LANraragi.

Metadata field configuration

You can now configure which metadata fields you want to include. They are all included by default, but you can disable the ones you don’t want under Tools > General settings > AdvancedMetadata.General.IncludedFields.

Metadata for individual chapters

This is something that’s been requested for a long time: It’s now possible to generate metadata files for each chapter in addition to the manga itself. This can be enabled under Tools > General settings > Advanced, Metadata.General.WriteChapterMetadataToFile.

Configurable scraping depth

Some sites allow you to add search results/favorites/tags/gallery listing URLs, and HDoujin Downloader will extract the individual galleries and add them to the download queue. Normally, only the galleries on the specific page you add will be added to the queue. If you want to add multiple, you have to use the Manga > Add manga from list feature to generate them.

This release adds a global scraping depth setting than can be used to configure how many pages are scraped. It will default to 1, but can be changed under Tools > General settings > Advanced, Downloads.MaxScrapingDepth.

It’s not respected by the majority of modules that support this behavior just yet, so feel free to make requests and I’ll update the relevant modules accordingly.


I ended up rewriting all of the metadata serializers, so everything should be more consistent. Let me know if you have any issues!

Version 2024.8.21.0

It’s been about 4 years since I posted a new update announcement, so maybe it’s time for that. By the way, it’s HDoujin Downloader’s 10-year anniversary tomorrow– Thank you to everyone who’s stuck around for the past decade!

You can see the list of changes for this release on the GitHub Releases page, but there are two new things in particular I’d like to talk about.


DPI awareness is now enabled by default

HDoujin Downloader will no longer look blurry on high-DPI displays. I’ve updated most of the UI for consistency and to make it look better when scaled up, but there are almost definitely some visual issues lingering here and there. If you’re using a high-DPI display and notice any overt ugliness, let me know.

DPI awareness can also be disabled under Tools > General settings > Advanced settings by toggling the “Interface.DpiAware” setting. This setting was disabled by default in previous versions, so you may need to enable it manually to see any difference.

Built-in web browser

I’ve started working on a built-in web browser, which can be opened by going to Tools > Web Browser. It’s very basic right now, but the key point is that it shares cookies with HDoujin Downloader.

If you download from websites with Cloudflare enabled, you probably noticed that the FlareSolverr plugin hasn’t been working right lately. The FlareSolverr team is experimenting with a couple of different fixes, and you can download them for yourself and try them out if you’d like.

Alternatively, you can use the built-in web browser to open the website, wait for Cloudflare to do its thing, and then continue downloading. This eliminates a lot of the hassle with copying cookies manually from your own web browser, and later on I plan to automate this process entirely.

The browser also makes it possible to log in to websites with captchas on their login forms, or log in to websites that don’t have automated login support yet. This won’t work for everything, so let me know if you have any issues.


That’s all for now! Please let me know in the comments what you’d like me to prioritize for the next update.

Thanks for reading!

Version 2020.8.1.1

This update contains some significant changes, and I recommend creating a backup of your HDoujin Downloader folder before updating, just in case. If you have any problems, let me know, and you can always downgrade to an earlier release here.

From this release onward, I’m switching to a CalVer versioning scheme (YYYY.MM.DD.Build). Given the nature of HDoujin Downloader as software that requires frequent updates, I think the release date is more valuable information than an arbitrary version number.

This update addresses various site issues, as well as problems related to Cloudflare’s “I’m Under Attack” mode. I’ll be releasing more module updates throughout the day, but I wanted to make this update available first, since it also fixes problems with module synchronization.

Site updates

Some of the more popular sites have been fixed with this release, and more will be fixed throughout the day. The Cloudflare challenge bypass procedure has been updated, and now uses either Firefox or Google Chrome to solve the challenge (depending on what you have installed). The “cf-tool.exe” binary has already been updated (now called “cloudscraper.exe” for clarity) and can optionally be enabled instead under “Tools > Preferences”, but it will fail for some users.

If you’re finding the challenge isn’t being solved, review your Cloudflare settings and try unchecking the “Headless” setting. This will allow you to solve a captcha to bypass the challenge if necessary. I aiming am to make this scenario less likely to occur with future updates.

Reorganized options

“Options” has been moved from “File > Options” to “Tools > Preferences”. Likewise, “Site Options” has been moved to “Tools > Site Preferences”.

Preferences are now organized into nested sections and are fully searchable.

Formatting string improvements

This release contains more formatting string improvements based on feedback I received from the last update. There are four new tokens: %GID%, which corresponds to the gallery ID in any context, as well as %PUBLISHER%, %CONVENTION%, and %MAGAZINE%. These are not yet implemented for all sites, so let me know if you come across an instance where they are not working as expected.

Previously, numeric values could be padded with 0s using specific tokens such as %PAGE1%, %PAGE10%, %PAGE100%, %PAGE1000%, etc. This has now been generalized so that you can apply an arbitrary amount of padding to any numeric value. This is achieved by adding an argument to the token. For example, %PAGE100% is equivalent to %PAGE(000)%. The number of 0s corresponds to the total length of the padded string.

You can find a new, detailed formatting string guide here.

Themes

I wanted to add support for themes with this release, and basic theme support is there. You can now style most parts of the interface using CSS. I have not included any themes by default at the moment, because this feature is currently in its infancy and there are some visual bugs here and there. However, you’re welcome to experiment with it and I can provide an example style sheet upon request.

You can view the full changelog here. The next goal is to upload some more module updates, and then start working on improving metadata-related features as well as working on more feature requests.

If you have any problems with this release, let me know, and you can always downgrade by downloading an older version from the releases page.

 

Version 1.19.9.32 (Release 9)

This update contains some significant changes, and I recommend creating a backup of your HDoujin Downloader folder before updating, just in case. If you have any problems, let me know, and you can always downgrade to an earlier release here.

Site updates

The bulk of this update is site fixes and support for some new sites, which I’m going to continue working on expanding over the coming days. There are a lot of requests to get through, and I tried to get through as many as possible before releasing this update, but I know that some of you are still waiting.

This release updates cf-tool to version 1.1.0.0, which should hopefully address a lot of the problems that have recently started cropping up in regard to Cloudflare’s browser verification page. This should get a lot of affected sites working again, but if you continue to have problems with any of them, let me know.

Formatting string improvements

I spent a lot of time working on a new parser for formatting strings, allowing you to do some more interesting things with your naming. For example:

  • The %IF% token can now be nested, if you feel like dealing with that mess.
  • The idea behind the %ARTIST||AUTHOR% token and its counterpart has been expanded upon, and this syntax can now be used with all and with an arbitrary number of tokens (e.g. %ARTIST||AUTHOR||TRANSLATOR||SCANLATOR%).
  • Any token that evaluates to a comma-delimited set of values can be limited by providing a limiting argument. For example, %ARTIST(3)% evaluates to at most three artists. This can be combined with the above syntax (e.g. %ARTIST(3)||AUTHOR(3)%).
  • An %ID% token has finally been added, which can be used for manga, chapters, and pages, corresponding to the numeric ID that represents the entity (for example, gallery IDs, or image IDs from sites like Pixiv).
  • Chapter formatting strings now allow subfolders, so you’re free to use things like %VOLUME#%\%CHAPTER#% to organize chapters by volume.
  • The %SUBTITLE% token for chapters has been made more useful, and can do a good job of extracting the subtitle in the majority of cases. This gives you more control over chapter names.
  • Tokens are now officially case-insensitive.

There are a couple of other little things I’ll go over when I get to work on the much-needed thorough documentation for this feature. In the meantime, if you have questions, you’re welcome to ask.

When editing your formatting strings, you can now see a little preview about the text box giving you an idea of how it will be evaluated, which should make putting complex strings together a lot easier.

Antivirus false-positives

If you’ve been around for a while, you know this is an ongoing problem that occurs sometimes after releasing major updates (antivirus software really doesn’t like cf-tool). If your antivirus starts harassing you after this update, let me know, so I can submit the corresponding false-positive reports.

Version 1.18.9.32 (Release 1)

This update contains some significant changes, and I recommend creating a backup of your HDoujin Downloader folder before updating, just in case. If you have any problems, let me know, and you can always downgrade to an earlier release here.

New external module system

What makes it significant is that I have (finally) laid the groundwork for an external module system. While the old DIY scripting system was an attempt at this, it was, frankly, a user-unfriendly mess. The new system uses lua, and offers what I believe is a far more comfortable API. You can see an example module here. It shows most of what’s available right now (in addition to a “Log” function for writing things to debug log during testing). In the spirit of getting this update out sooner rather than later, it’s the only example available right now, but I plan to do the majority of work through this system rather than program updates. I am wide-open to suggestions for this feature to help it meet the needs of those wishing to create their own modules.

New repository system

Accompanying this change is a new repository system. Repositories are comprised of a local folder where modules are stored and optionally an online source used for downloading new updates.  The “official” repository is here, and this update comes with it already configured for use. Any updates made here will be transparently synced to HDoujin Downloader, allowing fixes and new modules to be provided in the background without having to update manually. Full program updates are still required to be done through the updater, but having modules separate will make this situation less frequent.

You can access the repositories list under “Tools > Modules”. From here you can disable specific modules and change the priorities of your repositories to prefer certain ones over others (in the case that they both provide modules for a given site). You can also add new ones. Right now, only GitHub folders can by synced, but I’m open to adding more options if anyone has interest in hosting their own repositories elsewhere.

The “Scripts” tab is now obsolete and has been removed. If you’re one of the few people that was actually using that feature, it will be automatically replaced by a repository named “Scripts” that you can access under “Tools > Modules”. Old scripts will continue to work, but it’s not the recommended choice for new development.

Lastly, basic sideways-compatibility for lua modules from other programs has been implemented. Many will not work yet, but some do. This will be improved in future releases. If you use another downloading program that provides modules you’d like to import into HDoujin Downloader, let me know, and I’ll see what I can do.

Site updates

Site updates included in this release are summarized in the changelog. Most notably, sites protected by Cloudflare show now be working again. The fix is provided by “cf-tool” in the “bin” folder, which wraps a Python script for bypassing the verification page. It’s not the ideal solution, but it works, especially in the absence of suitable alternatives for .NET. Let me know if you have any problems with Cloudflare going forward.

Antivirus false-positives

This has been an ongoing issue for the past couple of releases, especially with Windows Defender. Whitelisting sometimes takes a while, making things really inconvenient for early adopters. I’ve done my best to try to avoid this problem with this release as much as possible. If you run into problems in this area, let me know so I can submit the program for whitelisting to the respective AV vendor.

What’s next?

Integrating the repository and external module system was no small feat, and I have done extensive testing to make sure that everything works. I did not expect it to take as long as it did, but now that that hurdle is gone, I can hopefully resume the regular weekly update schedule. There will likely be more updates to address limitations with the current module system’s API as I start moving more sites into it and the requirements become clearer. That’s the plan for now.

Version 1.17.9.32 (Release 3)

As promised, here’s this week’s update. It is primarily a maintenance release, with updates for a bunch of sites, and support for some new ones that have been recently requested.

You might see an error message from the updater after it downloads this update. I noticed a bug in the new updater that slipped through during Release 1 that will cause the message to be shown at the end of the update process, even if nothing actually goes wrong. It can be ignored without a problem, and the updater has been fixed so that it won’t show up next time.

Version 1.17.9.32 (Release 1)

It’s been a while since the last update. For the people still hanging on to Windows XP, you might need to update manually for this one. Update files are now hosted on GitHub, which enforces the use of TLS protocols that .NET Framework 4.0 doesn’t support. You won’t have to worry about this going forward, though, as the improved updater is able to deal with this for future updates.

On the surface, there’s not a whole lot going on with this release. There are a few site fixes (particularly for some higher-profile sites), and support added for sites that quite a few people have asked me about. Little bugs have been fixed here and there (such as being able to save WebP images into PDFs).

The majority of my time with this update was spent on internal rewrites, cleaning things up to make the software easier to maintain going forward. It’s been over 5 years since HDoujin Downloader was first released, and the layers upon layers of patches and updates has started taking its toll on the software’s maintainability. Fortunately, my work on this release has started putting a dent into it. This will allow me to add some new features I’ve been sitting on for a long time that this problem has been holding me back from.

Aside from that, I’ve rewritten the updater, particularly in response to the issues that occurred a while ago. It’s hard to find a reliable file host, and with the way the updater was built, if certain files became inaccessible it would stop working properly and require updates to be carried out manually. It’s now a lot more robust in that regard, capable of pulling updates from a variety of sources in the event one of them stops working.

If you’re one of the many people waiting on a particular request or bug fix, the goal is to get back into regular weekly releases, which will most likely be available every Sunday (this update was scheduled for Sunday as well, but ended up taking a little bit longer). More updates will be available soon as I work through the backlog of requests.

The next big goal is moving site support modules outside of the application, into external scripts where they can be updated and modified more easily. This will allow for faster module updates, especially since it won’t require the entire application to be recompiled just to get a few sites working again. The old scripting system was a step in the right direction, but its execution was too flawed to be truly useful. The next iteration of this feature will be far more usable.

If you have any problems with this release, please report them. If you need to downgrade to the previous release, it will remain available here.

What a headache (update issues)

As anticipated in the previous release post, the update to the updater (“updater.exe”) caused the new version to get incorrectly flagged by several antivirus vendors. It’s since been white-listed by all major antivirus vendors, as can be verified by the VirusTotal report. Unfortunately it’s still flagged by several heuristic engines, but there’s little I can do about that.

Of course, the updater is clean– Its behavior just tends to upset heuristic engines (“hey, this can download files!”). As a small-time software developer, this is unfortunately something I have to deal with on the regular, and I thank all of you users of HDoujin Downloader for your understanding!

Unfortunately, Google Drive and Dropbox have temporarily disabled the download links (I’m still waiting for a response from support to get them enabled again). As a result, the updater won’t work properly for the time being, but I expect it to be working normally again within the next couple of days (this is not the first time this has happened).

In the meantime, those that still need to update will need to do so manually (detailed instructions are here). Until this issue is sorted out, the latest release can be downloaded from Mega:

Release 310 and the future ahead

  • The updater has been updated

Firstly, this update contains an update to the updater (that’s a mouthful). The update is meant to address an issue some users reported where the update would “finish” partway through and then leave them with a corrupt executable.

The bad news is the updater (“updater.exe”) frequently gets flagged by antivirus software every time I make changes to it, and this time is likely not going to be any exception. If your antivirus software is complaining about the updater, let me know so I can submit a false-positive report.

If you end up having problems and need to downgrade for the time being, Release 309 continues to be accessible here.

  • Other things have been updated

As usual, you can check out the changelog to see what’s been done. One of the biggest fixes is related to Cloudflare, which rendered quite a few sites not-working when they updated their browser verification challenge. This release includes a fix for that, and some other Cloudflare-related bugs I came across in the process. It should hopefully be working great for everyone, but if you have any problems, you know the drill: Let me know!

Other than that, there are some fixes for a few sites a lot of users contacted me about, and some other changes that aren’t user-facing (a good deal of refactoring, which this code base has desperately needed).

  • Hey! What about my request?

I hear you! Some people have been waiting quite some time to have their requests added to the program, and I get more every day. As many users have probably noticed, I’ve fallen behind with managing to reply to everyone in a timely manner due to some personal circumstances. Rest assured that if you’ve left me a comment, or sent an email I’ve seen it, and I’m wading through them. That said, if you feel like you’ve been waiting for too long, don’t hesitate to check in or send a reminder. I welcome it.

All things considered, this is a relatively minor update. The plan is to kick it into overdrive, get through all the requests, and pump these out on a weekly basis, starting today. Look forward to it!

Release 274 false positives (“Win32/Fuerboos.A!cl”)

As is tradition, Release 274 is being flagged by Windows Defender as “Win32/Fuerboos.A!cl”. This is a generic heuristic detection, which means it’s being flagged because it “looks like” something that could potentially be malicious. This is of course a false-positive, and it will hopefully be cleared soon in one of the next definition updates. I’ve already submitted a report to Microsoft, so all we can do now is play the waiting game.

In the meantime, if you’re having trouble running the program, you can add HDoujin Downloader’s folder to your exclusions list. You can find instructions explaining how to do this here. If you had better luck with Release 273 and want to downgrade until Release 274 is whitelisted, you can also download the previous release here.

Since this happens every couple of releases and I’m always flooded with messages asking about it, I’ve made a FAQ page you can also check out with more information about why this happens and how to fix it.