You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
gorhill 0d459545a2 this fixes #2 10 years ago
assets update of third-party assets 10 years ago
doc first commit 10 years ago
meta/chromium first commit 10 years ago
src this fixes #2 10 years ago
tools ui details 10 years ago
.gitignore that works better 10 years ago
LICENSE Initial commit 10 years ago
README.md Update README.md 10 years ago

README.md

µMatrix for Chromium

[Under development: usable, but not stable, many things broken because in the midst of general refactoring]

Forked from HTTP Switchboard.

Differences with HTTP Switchboard:

  • No pattern-based filtering -- use µ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, *)
    • 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.
    • 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.