1
0
Fork 0
mirror of https://github.com/gorhill/uMatrix.git synced 2024-06-02 18:34:52 +12:00

Updated Changes from HTTP Switchboard (markdown)

gorhill 2014-10-25 08:52:49 -07:00
parent 48954eba35
commit b8107de7ab

@ -19,7 +19,9 @@ There is now only one flat data structure to hold all the matrix rules, and all
When a request needs to be evaluated, µMatrix will find out from which web page the request originate. The hostname of the URL address of the web page will be extracted and used as the `source-hostname` component. The hostname of the URL address of the request will be extracted and used as the `destination-hostname` component.
µMatrix will then try to find an explicit rule which match exactly `source-hostname destination-hostname, request-type`. If no explicit rule is found, µMatrix will derive a broader scope from `source-hostname` and try again to find an explicit rule in that broader scope. Eventually, the broadest scope possible is reached, which is `source-hostname` being `*`: the global scope. This z-axis evaluation mechanism did not exist in HTTPSB.
µMatrix will then try to find an explicit rule which match exactly `source-hostname destination-hostname, request-type`. If no explicit rule is found, µMatrix will derive a broader scope from `source-hostname` and try again to find an explicit rule in that broader scope. Eventually, the broadest scope possible is reached, which is `source-hostname` being `*`: the global scope.
This z-axis evaluation mechanism did not exist in HTTPSB, aside the not very flexible ubiquitous rules. Given that now all rules in global scope are ubiquitous to all scopes, HTTPSB's _"ubiquitous block rules"_ and _"ubiquitous allow rules"_ are gone, there is no more need for these.
A matrix cell can have one of three _colors_: red (blacklisted), green (whitelisted), or transparent (graylisted). Just like before. The difference is that now with µMatrix all the possible scope are evaluated from narrowest to broadest to find out the _color_ of a cell.