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 dc39fa9452 moving assets out of src 10 years ago
assets moving assets out of src 10 years ago
doc first commit 10 years ago
meta/chromium first commit 10 years ago
src moving assets out of src 10 years ago
tools literal "1st-party" row removes the need for auto-whitelist, strict blocking 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 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.