gorhill / uMatrix

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

[Request] separate "Default scope level" [Site/Domain/Global] for allow & block #874

Closed kobold-blue closed 6 years ago

kobold-blue commented 6 years ago

hi, I have an idea that shouldn't need much time to implement but it is useful for some users.

In uMatrix (1.1.18) we already have in "Settings>>Matrix" the "Default scope level:" [Site/Domain/Global]. But it would be great to have two. One for "Allow-Rules" [Site/Domain/Global], the other for "Block-Rules" [Site/Domain/Global].

The default "Domain" makes sense, because you usually allow objects to make a website work (that you don't need on other sites). Block objects are in most cases wanted "Global", so you have to edit all these rules manually later. Separated options offers increased comfort for users like me ;)

Default [Global] for "block" is maybe for most users reasonable, but to make some "old" users not angry because of the changed block-behavior after update, check if uMatrix already have settings stored and in that case the old-Allow-Standard is copied to the new-Block-Option.

gorhill commented 6 years ago

Block objects are in most cases wanted "Global"

True.

so you have to edit all these rules manually later.

Why "manually later"? It is just a matter of selecting the global scope and creating the block rules from there.

I understand the gist of the suggestion and can see the convenience. However it departs from what-you-see-is-what-you-get. That one mantra needs to be respected as much as possible, to keep interacting with the matrix completely predictable: the scope selected when you set the rule is where the rule will apply.

Having to select the global scope is a minor inconvenience after all, given that in the long run, it becomes less and less likely that block rules are going to be created (default-deny is natural way of using Matrix) -- so no need to make things more complicated than they are.