Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working together with other url cleaning extension creators? #63

Open
OhSoGood opened this issue Mar 29, 2019 · 5 comments
Open

Working together with other url cleaning extension creators? #63

OhSoGood opened this issue Mar 29, 2019 · 5 comments

Comments

@OhSoGood
Copy link

The strength of ublock / adblock plus is that they separated the core engine from the list. Thus, different people can work on both, and de facto keeping the lists up to date has proven more time consuming.

For link cleaning, there are several good and actively-maintained extensions (like https://gitlab.com/KevinRoebert/ClearUrls), and that would be super cool if you and other active authors of similar extension could join force in any way, at least on sharing some common definition format to allow reuse between us...

I'm a programmer, I know that means work, but we would all win from it, wouldn't we?
Thanks again for your time and effort on this extension.

@Cimbali
Copy link
Owner

Cimbali commented Mar 29, 2019

There's a bit of different approach with them, at least for the time being, it's that we preventively redirect or drop any request in which we dectect an URL embedded inside the URL. Then with a whitelist, we allow some of them. The whitelist is maintained by each user individually as they find pages that break.

ClearUrls strips parameters from links that should not be there, something that we only do on links already cleaned from redirects and only for hardlisted parameters. ClearUrls' targeted parameters are identified using a centralised ruleset served from gitlab. Technically, both add-ons could work complementarily.

Other addons are compared here.

So what I'm saying is not that we shouldn't work together but that the "core engine" of this add-on has to be rewritten first, most notably so that it can separate parameter cleaning from redirect cleaning (#27). Then we can discuss importing rulesets from other addons or collaborating on rulesets with other addons. This rewrite is something that I've been wanting to do for a while and I'm probably a third of the way through it, but it's harder than it looks and I don't have a ton of free time these days.

@KevinRoebert
Copy link

Related: https://gitlab.com/KevinRoebert/ClearUrls/issues/155

@Cimbali
Copy link
Owner

Cimbali commented Mar 30, 2020

I think a problem here is to find the right format to interchange this tracking information. Other add-ons deal with similar issues:

tumpio/requestcontrol#109
Smile4ever/Neat-URL#208
Cyprias/neat-url

I think our format is easily convertible to other ones as it is just json and only does matching URL paths. The ClearUrls format is regex-based so it’s kind of hard to transform to another format.

I think the the Neat-URL format is probably the best candidate so far. I don’t know how up-to-date this previous post is but it might be worth going over other extensions with similar workings and similar goals to see what format they use and if we can cooperate with them.

@Cimbali
Copy link
Owner

Cimbali commented Aug 12, 2020

After having a closer look, the Neat-URL exchange format does not support a lot of the features we use:

  • matching URLs on path (and not just domain),
  • rewriting parts of the URL,
  • javascript and URL-path whitelisting.

On the other hand, Neat-URL supports modifying hashes, which we don’t (though suggested in #77). Maybe their format could be extended and still used for exchanging. The main thing to exchange are the query parameters though, so it might not be that much of a problem.

@Cimbali
Copy link
Owner

Cimbali commented Aug 14, 2020

Here’s a first attempt at making the CleanLinks default rules easily available to other similar extensions:

https://cimbali.github.io/CleanLinks/export.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants