You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
2.7 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. # µMatrix for Chromium
  2. [Under development: usable, but not stable, many things broken because in the midst of general refactoring]
  3. Forked from [HTTP Switchboard](https://github.com/gorhill/httpswitchboard).
  4. Differences with HTTP Switchboard:
  5. - No pattern-based filtering -- use [µBlock](https://github.com/gorhill/uBlock) for this.
  6. - Rules from broader scopes propagate to narrower scopes ([HTTP Switchboard issue #227](https://github.com/gorhill/httpswitchboard/issues/227)):
  7. - This means rules in global scope are ubiquitous, i.e. no longer sandboxed
  8. - See matrix as really 3D: evaluation order: Z, then X and Y, where
  9. - Z is the source hostname axis (aka "scope"), from narrower scopes to global scope
  10. - X is the request type axis: `*`, `cookie`, `css`, etc.
  11. - Y is the destination hostname axis (`www.example.com`, `example.com`, `com`, `*`)
  12. - Thus, **every** request is evaluated starting from the scope as per request's hostname, down to global scope if no explicit rule is found on the way down.
  13. - Switching scopes in matrix popup does not create/delete scopes, this just allows a user to modify rules in a specific scope
  14. - Rules in narrower scope(s) still exist and are enforced even if you have the global scope selected
  15. - Settings which no longer exist:
  16. - _"Enable strict blocking"_: This is the only available mode. Strict-blocking was added at some point during HTTPSB development, and at the time I kept "loose blocking" just to not upset the users who already got used to this way of working.
  17. - _"Auto create temporary [domain | site]-level scope"_: Not needed anymore with the new literal `1st-party` row. Set rules on the `1st-party` row in the global scope: these rules will be inherited by whatever row is deemed first-party to the URL in the address bar.
  18. - _"Copy all rules from global scope into newly created local scopes"_: Not needed anymore since all scopes virtually exist at all time.
  19. - _"Auto delete unused temporary scopes"_: Again, not needed anymore since all scopes virtually exist at all time.
  20. - Much needed [code refactoring](http://en.wikipedia.org/wiki/Code_refactoring) toward portability/efficiency
  21. - Big chunks of tired code have been removed, or replaced by small chunks of better code
  22. - There is no longer a hierarchical data structures for scopes/rules (**major** contribution toward code simplification)
  23. - Thus no need to manage the creation/deletion of scopes (and related settings)
  24. - All scopes virtually exist at all time.
  25. - The popup matrix simply activate whatever last scope level was in use
  26. ## License
  27. <a href="https://github.com/gorhill/umatrix/blob/master/LICENSE.txt">GPLv3</a>.