{"id":13583494,"url":"https://github.com/gorhill/httpswitchboard","last_synced_at":"2025-12-16T20:38:38.880Z","repository":{"id":10664131,"uuid":"12897630","full_name":"gorhill/httpswitchboard","owner":"gorhill","description":"Point \u0026 click to forbid/allow any class of requests made by your browser. Use it to block scripts, iframes, ads, facebook, etc.","archived":true,"fork":false,"pushed_at":"2015-05-12T21:16:47.000Z","size":119976,"stargazers_count":1327,"open_issues_count":71,"forks_count":84,"subscribers_count":56,"default_branch":"master","last_synced_at":"2024-11-06T00:39:15.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gorhill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-17T14:33:31.000Z","updated_at":"2024-10-08T08:52:09.000Z","dependencies_parsed_at":"2022-09-09T04:00:49.155Z","dependency_job_id":null,"html_url":"https://github.com/gorhill/httpswitchboard","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorhill%2Fhttpswitchboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorhill%2Fhttpswitchboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorhill%2Fhttpswitchboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gorhill%2Fhttpswitchboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gorhill","download_url":"https://codeload.github.com/gorhill/httpswitchboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247555778,"owners_count":20957837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T15:03:31.258Z","updated_at":"2025-12-16T20:38:38.783Z","avatar_url":"https://github.com/gorhill.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# HTTP Switchboard for Chromium\n\n**Important:** No longer developed. Project has been split into two distinct, more advanced extensions: [uBlock Origin](https://github.com/gorhill/uBlock) and [uMatrix](https://github.com/gorhill/uMatrix).\n\n***\n\nSee [releases](https://github.com/gorhill/httpswitchboard/releases) for latest changes.\n\nA Chromium browser extension which let you whitelist or blacklist requests\noriginating from within a web page according to their type and/or destination\nas per domain name. As of May 2014, the extension comes with preset blacklists\ntotaling over 60,000 distinct hostnames out of the box (these lists can be\ndisabled, or more can be enabled).\n\nA overview made by a fan: \u003chttps://www.youtube.com/watch?v=S5kIO4hbkzE\u003e (Thanks!)\n\n## Installation\n\nAvailable from [Chrome web store](https://chrome.google.com/webstore/detail/httpswitchboard/mghdpehejfekicfjcdbfofhcmnjhgaag), \n[Opera add-ons collection](https://addons.opera.com/en-gb/extensions/details/http-switchboard/), \nor you can [install manually](https://github.com/gorhill/httpswitchboard/tree/master/dist). \n**I strongly advise against installing from any other sources.**\n\nI expect the extension to work on a stable release of any Chromium-based browser.\n\n[**IMPORTANT:** Compatibility with various Chromium based browsers and other extensions](https://github.com/gorhill/httpswitchboard/wiki/Compatibility-with-various-Chromium-based-browsers-and-other-extensions)\n\n## The matrix: front end to the matrix filtering engine\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/gorhill/httpswitchboard/master/doc/img/screenshot1.png\" /\u003e\n \u003c/a\u003e\u003cbr\u003e\n \u003ca href=\"https://github.com/gorhill/httpswitchboard/wiki/How-to-use-HTTP-Switchboard:-Two-opposing-views\"\u003eClick for more details\u003c/a\u003e\n\u003c/p\u003e\n\n## The filtering engine\n\n\u003cp align=\"center\"\u003e\n \u003ca href=\"https://github.com/gorhill/httpswitchboard/wiki/Net-request-filtering:-overview\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/gorhill/httpswitchboard/master/doc/img/httpsb-overview.png\" /\u003e\n \u003c/a\u003e\u003cbr\u003e\n \u003ca href=\"https://github.com/gorhill/httpswitchboard/wiki/Net-request-filtering:-overview\"\u003eClick for more details\u003c/a\u003e\n\u003c/p\u003e\n\nMuch effort has been spent on creating **highly efficient filtering engines**: \nHTTPSB can hold tens of thousands more filtering rules in memory while having a \nsignificantly smaller memory and CPU footprint than other comparable popular \nblockers.\n\nIn the picture below, HTTPSB was running with over 115K filters, **tens \nof thousands more** than other blockers. After running this \n[reference benchmark](https://github.com/gorhill/httpswitchboard/wiki/Comparative-benchmarks-against-widely-used-blockers:-Top-15-Most-Popular-News-Websites), \nthe memory footprints:\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/gorhill/httpswitchboard/master/doc/img/httpsb-mem-vs-others-mem.png\" /\u003e\u003c/p\u003e\n\n\u003csup\u003e**Adblock Plus:** EasyList, EasyPrivacy. **Adblock:** EasyList, EasyPrivacy, Malware protection. **Adguard:** English filter, Spyware \u0026 tracking filter, Phishing \u0026 malware protection. **HTTPSB:** 65,935 malware, ads, trackers, etc hostname-based filters, 25,206 ABP-compatible net filters, 24,184 ABP-compatible cosmetic filters. Garbage collection was forced for all blockers using Chromium dev tools.\u003c/sup\u003e\n\n## Documentation\n\n[More at the wiki](https://github.com/gorhill/httpswitchboard/wiki)\n\nHTTP Switchboard (FOSS) put you in FULL control of where your browser is allowed to connect, what type of data it is allowed to download, and what it is allowed to execute. Nobody else decides for you: You choose. You are in full control of your privacy.\n\n- See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).\n\n- A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type \nof data (a blocked request will NEVER leave your browser).\n\n- Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, \ntracking pixels won't download, etc.\n\n- You do not have to solely rely on just one particular curated blacklist (arguably with many missing entries) outside which nothing else can be blocked.\n\n- Ease of use: HTTP Switchboard lets you easily whitelist/blacklist net requests which originate from within a web page according to a point-and-click matrix:\n\n* domain names (left column)\n    - from very specific\n    - to very generic\n\n* type of requests (top row)\n    - cookies\n    - css (stylesheets and web fonts)\n    - images\n    - objects\n    - scripts\n    - XHR (requests made by scripts)\n    - frames\n    - others (`\u003cvideo\u003e`, `\u003caudio\u003e`, etc.)\n\nYou can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.\n\nHTTP Switchboard matrix uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows you to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.\n\nYou can also create scopes for your whitelist/blacklist rules. For example, this allows you to whitelist `facebook.com` ONLY when visiting Facebook web site.\n\nThe goal of this extension is to make the allowing or blocking of web sites, wholly or partly, as straightforward as possible, so as to not discourage those users who give up easily on good security and privacy habits.\n\nAs of April 2014, the extension comes with preset blacklists totaling nearly 60,000 distinct hostnames (each list can be disabled/enabled according to your choice, and there are more preset blacklists which you can activate if you wish so).\n\nUltimately, you can choose however you browse the net:\n\n- Blacklist all by default, and whitelist as needed (default mode).\n- Whitelist all by default, and blacklist as needed.\n\nEither way, you still benefit from the preset blacklists so that at least you get basic protection from trackers, malware sites, etc. Or you can disable all of these preset blacklists.\n\nYour choice.\n\nThis is pre-version 1.0, more work is intended.\n\nYou are very welcomed to contribute your views on open issues and suggestions, various arguments for/against help me in deciding what is needed to improve the extension.\n\nEase of use is the primary goal. I've seen users give up on Firefox's NoScript because it gets too much in the way according to them, so rather than blame these users for poor security habits, I prefer to blame developers and this project is a tentative to address the issues which cause some users to give up on basic security.\n\nThis extension is also useful to understand what the web page in your browser is doing behind the scene. You have full ability to see and decide with whom a web page communicates, and to restrict these communications to specific classes of objects within the web page.\n\nThe number which appear in the extension icon correspond to the total number of distinct requests attempted (successfully or not depending on whether these were allowed or blocked) behind the scene.\n\nSimply click on the appropriate entry in the matrix in order to white-, black- or graylist a component. Graylisting means the blocked or allowed status will be inherited from another entry with higher precedence in the matrix.\n\nRed square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:\n\n- Dark red square: the domain name and/or type of request is specifically blacklisted.\n- Faded red square: the blacklist status is inherited because the entry is graylisted.\n\nGreen square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:\n\n- Dark green square: the domain name and/or type of request is specifically whitelisted.\n- Faded green square: the whitelist status is inherited because the entry is graylisted.\n\nThe top-left cell in the matrix represents the default global setting, which allows you to choose whether allowing or blocking everything is the default behavior. Some prefer to allow everything while blocking exceptionally. My personal preference is of course the reverse, blocking everything and allowing exceptionally.\n\nThis extension is also useful if you wish to speed up your browsing, by blocking all requests for images as an example.\n\n## About\n\nHTTP Switchboard is the fruit of a personal project, there no company of any kind involved, therefore no agenda other than giving users the tools to be in complete control of their browser. I appreciate the thought, but I do not want donation, now or in the future.\n\n## License\n\n\u003ca href=\"https://github.com/gorhill/httpswitchboard/blob/master/LICENSE.txt\"\u003eGPLv3\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorhill%2Fhttpswitchboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgorhill%2Fhttpswitchboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgorhill%2Fhttpswitchboard/lists"}