hydrusnetwork / hydrusnetwork/hydrus

[fr] global url ignore feature

Open
#437 1 comment 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request system:downloading
Dominant language
Python
Stars
3.2k
Forks
207
PR merge metrics
No merged PRs in 30d

Description

i would love to see an (easily) manageable url blacklist/ignore feature.

this feature would simply allow hydrus to ignore processing (during url import/gallery downloading - etc) any urls caught by this filter and simply continue processing the remaining urls. without this feature, url processing can often stop with long timeouts before hydrus gives up and then continues down the url queue.

preferably this filter will be a strict one where the url entered needs to match 100 % (to avoid accidental ignoring of stuff you dont want to ignore on the same site) with support for regex components for specificity.

for example adding this blacklist:
https://www.google.com/
will not block these urls:
https://google.com/

https://video.google.com/
https://cache.google.com/

but adding this to blacklist:
https://*.google.com/
will block these urls:
https://google.com/
https://www.google.com/
https://video.google.com/
https://cache.google.com/

(ignoring the trailing slash is optional. i know hydrus does this already for a few other features, but if it complicates creating such a blacklist filter i dont think it matters if the users need to be spcific with also including the trailing slash or not. im also not opposed to forcing proper regex; the second example above does not use proper regex - mainly just for simplicity since if you required proper regex various parts of the urls would have to be escaped all over the place instead of being implied)

i know hydrus developer does not particularly like the idea of content parsers grabbing additional unfiltered urls from pages, but this is a very useful feature for getting ahold of additional files even from unknown sites (if they are directly linked). the obvious downside is that its unfiltered and very often mixed in with these urls you will get social media urls or patreon urls: things hydrus cannot parse. so processing stops for really long periods of time while hydrus attempts to connect and reconnect and times out a few times. it will give up only after quite a few minutes which is a great feature for sites where a server might be slow, but not so great for urls you want to simply skip because they can never be parsed in the first place/parsing them doesnt make sense.

a work around for such a filter is to add exceptions to the parsers themselves but this process is a complex and tedious regex ballet after certain amount of urls since there are so many different url structures

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the URL import and gallery-downloading flows, then inspect how parser exceptions and timeouts affect the remaining URL queue. The issue names no files or tests, so first identify the relevant entry points and existing filtering behavior. Done means a manageable blacklist supports the requested matching rules and skipped URLs no longer stall processing.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.