gorhill / uMatrix

uMatrix: Point and click matrix to filter net requests according to source, destination and type
GNU General Public License v3.0
4.56k stars 472 forks source link

[Feature Request] Remote rule lists in addition to local rules for uBO-style convenience #657

Open ghost opened 8 years ago

ghost commented 8 years ago

I was aware I was violating the guidelines for contributing, but I did not want to make a Mozilla Persona account at the time and thought this FR/proposal could still have some added value here; more on this here. I've tried to do as much groundwork as possible, but if I missed something please tell me in a comment or email.

I think remote rulesets would be a very useful addition to uMatrix. These rulesets could be 3rd party or they could be your own (to group your own rules, for cross-browser sync and/or to share them with friends). I would propose the "export rules" format is used for rulesets, and rulesets to be merged by means of appending them to each others.

I whitelist using uMatrix which can be quite a pain, and being able to pull in pre-made lists of whitelist rules would make my life a lot easier. It could also be used to implement more restrictive blocking and better security by default, by means of adding and enabling a few default rulesets in the official distribution.

Upsides to this would be:

Downsides would be:

The steps to implementation I see are:

ghost commented 8 years ago

I went through all open issues and found these related feature requests:

Issues solved by this FR:

Issues solved by this FR + an initial list of rule sets like in uBO:

Atavic commented 8 years ago

That will make ublock and umatrix very close to each other. I see many users using both, leaving ublock mostly untouched while refining blocks on umatrix for specific issues.

ghost commented 8 years ago

@Atavic, do you think that would actually be detrimental to uMatrix? I know of the possibility of using both, but a) that clutters up your toolbar b) it takes more processing power and c) it splits your logs into two parts which you now need to check both.

@gorhill This is somewhat off-topic, but I volunteer to help moderate issues on the uMatrix issue tracker. I think I could help reduce the noise from feature requests (by merging if they're similar or deleting them if they're shoddy) and also help with some of the more mundane issues.

Edit: I could also help by moving feature requests to the right place for feature requests (copying the content, adding links back and forth, closing the Github issue), but as I don't quite understand the reason for this segregation I'd very much appreciate it if you could comment on this for a sentence or two if you would like me to do that.

sibte commented 7 years ago

+1 (sort of) I explicitly came here to check if there was some chatter about some way to centralise the ruleset. Mostly the ability to have a custom location for the ruleset and some simple logic for auto import / export. The user can always choose to serve it over some cloud service, http(s) or similar quite easily. That would solve the cross browser / machine headache with disabling / enabling and/or export/importing so often.

When it comes to third party rulesets I kinda think it defeats the whole purpose of an extension such as this.

ghost commented 7 years ago

@sibte I think it'd be very useful, but how do 3rd party rulesets defeat the purpose of uMatrix? I could then i.e. have a working version of Gmail by default by using a 3rd party whitelist for popular sites, I think that'd be quite nice. I could also use a bunch of blacklists, which can't do anything malicious unless they all let the same crap through at the same time.

I don't see why uMatrix can't have more high-level features; it's not necessarily bad to have the same useful features included in both uMatrix and uBlock Origin. I don't maintain uMatrix, so if @gorhill could shine some light on how this feature works and/or clashes with his design philosophy that would be a great help.

sibte commented 7 years ago

@WillemMali mostly due to the fact that I don't think the rulesets will efficiently apply for the various users. As an initial starting point I can see the benefit for some users, but I believe your own ruleset will be just as fast to setup in practice.

For instance, our behavioural patterns, geography, preferences (security, network load etc) results in quite different rulesets and profiles (like I have different rulesets I import for different profiles). My assumption is that most rules would probably just be idle from a 3rd party rulesets. There will be conflicts with "following" rulesets (global changes vs local changes) so you might end up with our own ruleset anyways making 3rd party rulesets mostly about "getting started" or "I dont want to thinker with this in practice". And the latter is what I meant with the defeats the purpose comment. Besides, you can always import 3rd party rulesets already.

So instead of having shared features amongst e.g. uMatrix and uBlock origin, I would rather vote that they complement each other as they do now. Therefore I would rather focus on custom location for the rulesets with auto-import / export feature for sync across various devices/browsers as that is a huge timesaver.

edit: typos

Rimmer7 commented 7 years ago

@Atavic, currently the real reasons to use uBlock Origin together with uMatrix is uBO's ability to block specific individual scripts/images/etc as opposed to all scripts/images/whatnot from an entire domain (also element hiding, but I digress). Adding the ability to use external rulesets would in no way diminish this, as external rulesets would not add any such functionality to uMatrix.

Genda1ph commented 7 years ago

uBlock and uMatrix have slightly different purposes.

As for manual importing: I have at least three instances of uMatrix to support and, frankly,. it's a pain to manually update every device. I'd very much appreciate if it could be predictably automated: i.e. automatically downloaded rulesets are merged and overridden by your custom rulesets.

This would make uMatrix so much nicer to use.

Atavic commented 7 years ago

@WillemMali Not detrimental at all, but there will be an big overlapping with uBlock.

Rimmer7 commented 7 years ago

@Atavic No. No there won't. At all.

ghost commented 7 years ago

@Atavic There will be a slight overlap (both will have external/remote/3rd party rulesets, but the kinds of rules differ a lot), but without that overlap you will have to use both uBlock and uMatrix to get similar functionality, which isn't really supported and requires you to dig into the logs of both.

@gorhill Could you please comment with your thoughts on this FR? I tried to do as much of the legwork for this as possible without making a PR, which I will still do if you think this idea can work within your vision for uBO.

My offer to assist you in the moderation and cleanup of the Github issue tracker stands, and I apologize if I offended you. I don't intend to waste your time, and I get that "Here's some noise on your issue tracker, can I help moderate noise on your issue tracker?" could be seen as pretty crass.

927589452 commented 7 years ago

That would also be very useful for secured enterprise settings, eg whitlisting enterprise/institution wide domains, to have enterprise apps working and still provide users the privacy and security of uMatrix.

I would suggest a field in the import export view to autoimport a config from an URL at each start

Riajyuu commented 7 years ago

If you guys have any interest: https://github.com/Rictusempra/uMatrix-Rules But I am not sure what author's opinion will be

elypter commented 7 years ago

@Atavic

That will make ublock and umatrix very close to each other. I see many users using both, leaving ublock mostly untouched while refining blocks on umatrix for specific issues.

tbh. i never really understood why both projects were split in the first place. the original name was a bit lame but i dont see why umatrix cannot be the "advanced" option of ublock