windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v301/Hydrus.Network.301.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v301/Hydrus.Network.301.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v301/Hydrus.Network.301.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v301/Hydrus.Network.301.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v301/Hydrus.Network.301.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v301.tar.gz
I had a difficult week due to a bunch of IRL stress, but I got some good hydrus work done. The page of images downloader is now on the new parsing system, and I have prototyped a new way to 'gather' certain pages together.
simple downloader
The 'page of images downloader' is now the 'simple downloader'. It uses the new parsing system–which for very advanced users means that it uses parsing formulae–and so can find files from pages in much more flexible ways. At the moment, this means a dropdown with different parsers–you select the parser you want, paste some URLs in, and it should queue them up and fetch files all ok.
To get us started, I have written some basic parsers for it that can handle 4chan threads, 8chan threads (including 3-year-old threads that have some broken links on the new thread watcher), gfycat mp4s and webms, imgur still images and mp4s, and twitter images. I expect to write more parsers here myself, and I expect some other users will write some as well. It supports JSON and well as HTML parsing. I also want to write some more ui to make it easier to import and export new parsers.
Note: The new simple downloader cannot yet do the old 'get the destination of image links' parse rule the old downloader could. If this is important to you, please hold off updating for a week–I hope to have it in for v302.
Please give this a go and let me know how it works for you and if any of my new presets fail in any situations. I am really pleased with how simple yet powerful this can be, and I look forward to deploying more of this new parsing stuff as I move on to overhauling galleries.
gathering pages
Right-clicking on a page of pages now gives you a new 'gather' option. This is intended to 'gather' all the pages of a certain state across your whole session and then line them up inside that page of pages. To begin with, this only allows gathering of dead/404 thread watchers, but it seems to work well.
There is obviously more that I can do here, so again please give it a go and let me know what you think. Gathering 'finished' downloader pages sounds like a sensible next step.
sankaku complex bandwidth
Sankaku Complex contacted me this week to report that they have recently been running into bandwidth problems, particularly with scrapers and other downloaders like hydrus. They were respectful in reaching out to me and I am sympathetic to their problem. After some discussion, rather than removing hydrus support for Sankaku entirely, I am in this version adding a new restrictive default bandwidth rule for the sankakucomplex.com domain of 64MB/day.
If you are a heavy Sankaku user, please bear with this limit until we can figure out some better solutions. If there is an easy way to move a subscription to another source or slow down some larger queues you have piled up, I am sure they would appreciate it a lot. I am told they plan to update their API to allow more intelligent program access in future, and while they have no way to donate right now to help with bandwidth costs, they also hope to roll out a subscription service in the coming months.
On the hydrus end, I have decided to fold some kind of donation-link ui into the ongoing downloader overhaul, something like a "Here is how to support this source: (LINK)" to highlight donation pages or "Hey, please keep it to <XMB a day, thank you" wiki pages for those users who wish to help the sites (and are also able to!). I also hope to get some better 'veto' options working in the new gallery downloaders so we can avoid downloading large gifs and other garbage that fits tag censorship lists and so on in the first place. Also, as Known URLs are handled in more intelligent ways in the client, it will soon make sense to create a Public URL Repo, at which point we'll be able to cut out a huge number of duplicate downloads and spread the bandwidth burden about just by sharing hash-URL mappings with each other. Not to mention the eventual nirvana when we can just have clients peer-to-peering each other directly.
What we are doing with hydrus is all new stuff, and I am often ignorant myself until I hear new perspectives on workflow or whatever, so please let me know what you think about this stuff. I am keen to find ways that we can continue accessing sites for files and tags and other metadata without falling into it being a niusance for others. And to figure out what actually are practical and reasonable ongoing bandwidth rules for different situations.
misc
I fixed tag parents! I apologise for the inconvenience–when I optimised their load speed last week, I fucked it up and ended up loading them in the wrong way so they wouldn't display right.
The new system:known_url should load much faster in almost all situations.
There is a new 'subscription report mode' under help->debug->report modes. If you have subs that inexplicably aren't running, please give this a go and send me a clip from all the stuff it will print to your log.
full list
- after discussions with Sankaku Complex about their recent bandwidth problems, added a new 64MB/day default bandwidth rule for sankakucomplex.com–please check the release post for more information
- the 'page of images downloader' is now called the 'simple downloader' that uses the new parsing system (particularly, a single formula to parse urls)
- the simple downloader supports multiple named parsers–currently defaulting to: html 4chan and 8chan threads, all images, gfycat mp4, gfycat webm, imgur image, imgur video, and twitter images (which fetches the :orig and also works on galleries!)
- there is some basic editing of these parsing formulae, but it isn't pretty or easy to import/export yet
- the new parsing test panel now has a 'link' button that lets you fetch test data straight from a URL
- added a 'gather to this page of pages->dead thread watchers' menu to the page of pages right-click menu–it searches for all 404/DEAD thread watchers in the current page structure and puts them in the clicked page of pages!
- cleaned up some page tab right-click menu layout and order
- fixed tag parents, which I previously broke while optimising their load time fugg
- the new favourites list now presents parents in 'write' tag contexts, like manage tags–see if you like it (maybe this is better if hidden?)
- sped up known_url searches for most situations
- fixed an unusual error when drag-and-dropping a focused collection thumbnail to a new page
- fixed a problem that was marking collected thumbnails' media as not eligible for the archive/delete filter
- wrote a 'subscription report mode' that will say some things about subscriptions and their internal test states as they try (and potentially fail) to run
- if a subscription query fails to find any files on its first sync, it will give a better text popup notification
- if a subscription query finds files in its initial sync but does not have bandwidth to download them, a FYI text popup notification will explain what happened and how to review estimated wait time
- delete key now deletes from file import status lists
- default downloader tag import options will now inherit the fetch_tags_even_if_url_known_and_file_already_in_db value more reliably from 'parent' default options objects (like 'general boorus'->'specific booru')
- the db maintenance routine 'clear file orphans' will now move files to a chosen location as it finds them (previously, it waited until the end of the search to do the move). if the user chooses to delete, this will still be put off until the end of the search (so a mid-search cancel event in this case remains harmless)
- the migrate database panel should now launch ok even if a location does not exist (it will also notify you about this)
- brushed up some help (and updated a screenshot) about tag import options
- fixed a problem that stopped some old manage parsing scripts ui (to content links) from opening correctly
- improved some parsing test code so it can't hang the client on certain network problems
- misc ui code updates
- misc refactoring
next week
I am spinning a lot of plates right now, but I also have a bit of spare time next week. I hope to catch up on my ongoing misc todo and also polish some of the new stuff that has come out recently. I also want to put some time into the gallery overhaul–maybe prepping for the ability to drag and drop arbitrary URLs onto the client.