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.
gorhill
207ee2773b
|
10 years ago | |
---|---|---|
assets | 10 years ago | |
doc | 10 years ago | |
meta/chromium | 10 years ago | |
src | 10 years ago | |
tools | 10 years ago | |
.gitignore | 10 years ago | |
LICENSE | 10 years ago | |
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 the1st-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