gitmyhub

uMatrix

JavaScript ★ 4.7k updated 5y ago ▣ archived

uMatrix: Point and click matrix to filter net requests according to source, destination and type

uMatrix is a browser extension for Firefox and Chrome that lets you block or allow any network request a website makes by source and content type using a point-and-click grid interface.

JavaScriptWebExtensions APIsetup: moderatecomplexity 2/5

uMatrix is a browser extension for Firefox, Chrome, and Opera that gives you fine-grained control over what network requests your browser is allowed to make while visiting a website. Most websites pull in content from many different sources, including scripts, images, cookies, and data from third-party services. uMatrix lets you decide, for each source and each type of content, whether to allow or block it.

The extension uses a grid-based interface. Rows represent the sources that a page is trying to contact, and columns represent the types of content being requested, such as scripts, cookies, or media. You click cells in this grid to allow or block combinations. By default it operates in block-all mode, which means almost everything is blocked until you explicitly allow it. This approach stops most tracking, ads, and unwanted scripts automatically, but it also means many websites will not work correctly until you configure them.

The README is direct about this: uMatrix is intended for advanced users who are comfortable figuring out why a site broke and unblocking the specific pieces it needs. There is a built-in logger that shows every request the browser made and what uMatrix did with it, which is the main tool for diagnosing broken pages. You can also switch it to allow-all mode if you prefer a less disruptive experience, though that reduces the privacy and security benefits significantly.

The project is forked from an earlier extension called HTTP Switchboard and shares most of its documentation with that predecessor. Translation contributions are managed through Crowdin. The license is GPLv3. The README notes that the project is no longer actively receiving new feature development and that user support happens on a Reddit community.

Where it fits