1
0
Fork 0
mirror of https://github.com/gorhill/uMatrix.git synced 2024-06-02 10:24:59 +12:00
Go to file
2014-10-23 08:13:11 -04:00
doc first commit 2014-10-17 15:01:09 -04:00
meta/chromium first commit 2014-10-17 15:01:09 -04:00
src no good reason to prevent scopable literal "1st-party" 2014-10-23 07:47:53 -04:00
tools literal "1st-party" row removes the need for auto-whitelist, strict blocking 2014-10-22 19:46:30 -04:00
.gitignore that works better 2014-10-17 15:16:16 -04:00
LICENSE Initial commit 2014-10-15 16:25:43 -04:00
README.md Update README.md 2014-10-23 08:13:11 -04:00

µMatrix for Chromium

[Under development: usable, but persistence schema not finalized, will certainly change]

Forked from HTTP Switchboard.

Differences with HTTP Switchboard:

  • No pattern-based filtering -- use more advanced µBlock for this
  • Rules from broader scopes propagate to narrower scopes (HTTP Switchboard issue #227):
    • This means rules in global scope are ubiquitous, i.e. no longer sandboxed
    • See matrix as really 3D: evaluation order: Z, then X and Y, where
      • Z is the source hostname axis (aka "scope"), from narrower scopes to global scope
      • X is the request type axis: *, cookie, css, etc.
      • Y is the destination hostname axis (www.example.com, example.com, com, *)
    • Switching scopes in matrix popup does not create/delete scopes, this just allows a user to modify rules in a specific scope
      • Rules in narrower scope(s) still exist and are enforced even if you have the global scope selected
  • Settings which no longer exist:
    • "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.
    • "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.
    • "Copy all rules from global scope into newly created local scopes": Not needed anymore since all scopes virtually exist at all time.
    • "Auto delete unused temporary scopes": Again, not needed anymore since all scopes virtually exist at all time.
  • Much needed code refactoring toward portability/efficiency
    • Big chunks of tired code have been removed, or replaced by small chunks of better code
    • There is no longer a hierarchical data structures for scopes/rules (major contribution toward code simplification)
    • Thus no need to manage the creation/deletion of scopes (and related settings)
    • All scopes virtually exist at all time.
    • The popup matrix simply activate whatever last scope level was in use

License

GPLv3.