You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 15, 2017. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+71-64Lines changed: 71 additions & 64 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,70 +19,77 @@ or you can [install manually](https://github.com/gorhill/httpswitchboard/tree/ma
19
19
20
20

21
21
22
-
HTTP Switchboard let you easily whitelist/blacklist net requests which originate from
23
-
within a web page according to:
24
-
25
-
- domain names
26
-
* in full or part
27
-
- type of requests
28
-
* cookie
29
-
* image
30
-
* object
31
-
* script
32
-
* XHR (abbreviation for XMLHttpRequest)
33
-
* frame
34
-
* other
35
-
36
-
The goal of this extension is to make allowing or blocking of web sites,
37
-
wholly or partly, as straightforward as possible, so as to not discourage
38
-
those users who give up easily on good security and privacy habits.
39
-
40
-
The extension is also useful to see what the web page in your browser
41
-
is doing (or trying to do) behind the scene.
42
-
43
-
The number which appear in the extension icon correspond to the total number
44
-
of **distinct** requests attempted (successfully or not depending on whether a
45
-
request was allowed/blocked) behind the scene.
46
-
47
-
Simply click on the appropriate entry in the matrix in order to whitelist,
48
-
blacklist or graylist a component. *Graylisting* means the blocked or allowed
49
-
status will be inherited from another entry in the matrix.
50
-
51
-
- Redish square = effectively blacklisted, i.e. requests are prevented from
52
-
reaching their destination:
53
-
* Dark red square: the specific domain name and/or type of request is
54
-
specifically blacklisted.
55
-
* Pale red square: the blacklist status is inherited because the entry is
56
-
graylisted.
57
-
- Greenish square = effectively whitelisted, i.e. requests are allowed to reach
58
-
their intended destination:
59
-
* Bright green square = the specific domain name and/or type of request is
60
-
specifically whitelisted.
61
-
* Pale green square = the whitelist status is inherited because the entry is
62
-
graylisted.
63
-
64
-
The top-left cell in the matrix represents the default global setting (the
65
-
'master switch'), which allows you to choose whether allowing or blocking
66
-
everything is the default behavior.
67
-
68
-
Whether a graylisted cell in the matrix is effectively whitelisted/blacklisted
69
-
depends on whether a cell with lower precedence is expressly
70
-
whitelisted/blacklisted. The precedence order works this way, from higher to
71
-
lower:
72
-
73
-
- Specific domain and specific type of request (i.e. 'cookie' @ 'edition.cnn.com')
74
-
- Domain names, which are subject to a another rule of precedence order within themselves:
75
-
- ...
76
-
- Subdomain names (i.e. 'ichef.bbc.co.uk')
77
-
- Domain names (i.e. 'bbc.co.uk')
78
-
- Types of request (cells in the the top row)
79
-
- Master switch (the *all* cell in the top-left corner)
80
-
81
-
This extension is also useful if you wish to speed up your browsing, by
82
-
blocking all requests for images as an example.
83
-
84
-
This is a very early draft, but it does the job. I intend to keep working on
85
-
it until I am satisfied that it can be tagged as version 1.0.
22
+
HTTP 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.
23
+
24
+
* See ALL the remote connections, failed or attempted, depending on whether they were blocked or allowed (you decide).
25
+
26
+
* A single-click to whitelist/blacklist one or multiple classes of requests according to the destination and type of data (a blocked request will NEVER leave your browser).
27
+
28
+
* Efficient blacklisting: cookies won't leave your browser, javascript won't execute, plugins won't play, tracking pixels won't download, etc.
29
+
30
+
* 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.
31
+
32
+
* 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:
33
+
34
+
- domain names (left column)
35
+
* from very specific
36
+
* to very generic
37
+
38
+
- type of requests (top row)
39
+
* cookies
40
+
* images
41
+
* objects
42
+
* scripts
43
+
* XHR (requests made by scripts)
44
+
* frames
45
+
* others
46
+
47
+
You can blacklist/whitelist a single cell, an entire row, a group of rows, an entire column, or the whole matrix with just one click.
48
+
49
+
HTTP Switchboard matrix uses precedence logic to evaluate what is blocked/allowed according to which cells are blacklisted/whitelisted. For example, this allows the user to whitelist a whole page with one click, without having to repeatedly whitelist whatever new data appear on the page.
50
+
51
+
You can also create scopes for your whitelist/blacklist rules. For example, this allow you to whitelist `facebook.com` ONLY when visiting Facebook web site.
52
+
53
+
The 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.
54
+
55
+
As of December 2013, the extension comes with preset blacklists totaling over 45,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.)
56
+
57
+
Ultimately, you can choose however you browse the net:
58
+
59
+
- Blacklist all by default, and whitelist as needed (default mode).
60
+
- Whitelist all by default, and blacklist as needed.
61
+
62
+
Either 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.
63
+
64
+
Your choice.
65
+
66
+
HTTP 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.)
67
+
68
+
his is pre-version 1.0, more work is intended. Bugs/issues/suggestions are addressed as quickly as possible. See: <https://github.com/gorhill/httpswitchboard/issues?state=open>
69
+
70
+
You 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.
71
+
72
+
Ease 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.
73
+
74
+
This 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.
75
+
76
+
The 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.
77
+
78
+
Simply 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.
79
+
80
+
Red square = effectively blacklisted, i.e. requests are prevented from reaching their intended destination:
81
+
82
+
- Dark red square: the domain name and/or type of request is specifically blacklisted.
83
+
- Faded red square: the blacklist status is inherited because the entry is graylisted.
84
+
85
+
Green square = effectively whitelisted, i.e. requests are allowed to reach their intended destination:
86
+
87
+
- Dark green square: the domain name and/or type of request is specifically whitelisted.
88
+
- Faded green square: the whitelist status is inherited because the entry is graylisted.
89
+
90
+
The 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.
91
+
92
+
This extension is also useful if you wish to speed up your browsing, by blocking all requests for images as an example.
0 commit comments