From: Roland Rosenfeld
Privoxy main page:
+Privoxy main page:
@@ -211,7 +211,7 @@ "APPLICATION">Privoxy)
View and toggle client tags:
+View and toggle client tags:
@@ -219,21 +219,21 @@
Show information about the current configuration, including viewing and editing of actions - files:
+ files:Show the browser's request headers:
+Show the browser's request headers:
Show which actions apply to a URL and why:
+Show which actions apply to a URL and why:
http://config.privoxy.org/show-url-info
@@ -242,15 +242,15 @@Toggle Privoxy on or off. This feature can be turned off/on in the main config file. When toggled "off", "Privoxy" continues to run, - but only as a pass-through proxy, with no actions taking place:
+ but only as a pass-through proxy, with no actions taking place:-Short cuts. Turn off, then on:
+Short cuts. Turn off, then on:
-+
http://config.privoxy.org/toggle?set=enable
diff --git a/doc/webserver/user-manual/copyright.html b/doc/webserver/user-manual/copyright.html index d40237c4..b65d793f 100644 --- a/doc/webserver/user-manual/copyright.html +++ b/doc/webserver/user-manual/copyright.html @@ -1084,7 +1084,8 @@ Public License instead of this License. But first, please readWhen compiled with FEATURE_HTTPS_INSPECTION (optional), Privoxy depends on a TLS library. The supported libraries are LibreSSL, mbed TLS 2.28.x and OpenSSL.
+ "https://www.openssl.org/" target="_top">OpenSSL and wolfSSL.When compiled with FEATURE_ZLIB (optional), Privoxy depends on zlib.
@@ -1163,6 +1164,7 @@ Public License instead of this License. But first, please read Devin Bayer
Havard Berland
David Binderman
+ Ingo Blechschmidt
David Bo
Gergely Bor
Francois Botha
@@ -1172,6 +1174,7 @@ Public License instead of this License. But first, please read Andrew J. Caines
Clifford Caoile
Edward Carrel
+ Laurent Caumont
Celejar
Chakib Benziane
Pak Chan
@@ -1194,6 +1197,7 @@ Public License instead of this License. But first, please read Markus Elfring
Ryan Farmer
Matthew Fischer
+ Fabrice Fontaine
T Ford
Dean Gaudet
Stephen Gildea
@@ -1234,6 +1238,7 @@ Public License instead of this License. But first, please read Zeno Kugy
David Laight
Bert van Leeuwen
+ Aaron Li
Don Libes
Paul Lieverse
Adele Lime
@@ -1286,8 +1291,10 @@ Public License instead of this License. But first, please read Mark Seward
Franz Schwartau
Chung-chieh Shan
+ Gagan Sidhu
Johan Sintorn
Benjamin C. Wiley Sittler
+ Juliusz Sosinowicz
DRS David Soft
Simon South
Dan Stahlke
@@ -1314,6 +1321,7 @@ Public License instead of this License. But first, please read David Wagner
Glenn Washburn
Song Weijia
+ Florian Weimer
Jörg Weinmann
Darren Wiebe
Anduin Withers
diff --git a/doc/webserver/user-manual/howto.html b/doc/webserver/user-manual/howto.html index f33daeee..2c7e75d3 100644 --- a/doc/webserver/user-manual/howto.html +++ b/doc/webserver/user-manual/howto.html @@ -40,9 +40,9 @@ private TLS key actually belongs to the website name and/or organization that owns the domain.This TLS certificate is then added to the web server configuration, and when a browser accesses the website, it verifies that the TLS certificate presented to the browser is valid for that domain.
-To do this, each browser has the certificates of multiple CAs in its trust store. Only if the certificate of - the CA, that signed the web server is in the trust store, the browser will accept the certificate, otherwise - the browser will complain about a broken certificate.
+To do this, each browser has the certificates of multiple CAs in its trust store. The browser will only + accept the certificate if the CA that signed it is in its trust store, otherwise it will warn that the + certificate is not valid.
If this check passes, the browser sends a random number encrypted with the server's public key to the server, and both compute a shared secret using the Diffie-Hellman key exchange algorithm. Now server and browser can communicate, but no one else can break that communication because it's encrypted between them.
@@ -50,11 +50,11 @@11.1.2. How HTTPS inspection works
When we try to inspect HTTPS traffic, we have to break the TLS encryption between browser and web server - without being the browser or the web server. This is exactly what TLS tries to avoid, as it's a - man-in-the-middle-attack.
-To do this, Privoxy uses it's own (private) CA (let's call it "Privoxy CA"), which has to be added to the - trust store of every single browser that should be used with Privoxy and HTTPS inspection.
-Now Privoxy breaks the connection between browser and webserver by acting as a browser/client when talking + without being the browser or the web server. This is exactly what TLS is designed to prevent, because it's a + man-in-the-middle attack.
+To do this, Privoxy uses its own (private) CA (let's call it "Privoxy CA"), which needs to be added to the + trust store of every single browser that you want to use with Privoxy and HTTPS inspection.
+Privoxy then breaks the connection between browser and webserver by acting as a browser/client when talking to the webserver (including checking the webserver's TLS certificate against it's own trust store). Now Privoxy can read and modify the traffic from the webserver.
On the other hand, Privoxy itself encrypts the traffic it sends to the browser using an on the fly @@ -63,10 +63,10 @@
11.1.3. What happens, if the original certificate is invalid?
-If Privoxy detects, that a TLS certificate is not valid, because the certificate is expired, doesn't match - the hostname, is self signed or similar, Privoxy blocks the requests and returns an error message explaining - the problem to avoid that the user/browser communicates over an insecure communication channel.
-To check this behavior, simply go to https://badssl.com/
+If Privoxy detects that a TLS certificate is invalid, because it's expired, doesn't match the hostname, is + self-signed, or similar, Privoxy will block the requests and return an error message explaining the problem to + prevent the user/browser from communicating over an insecure channel.
+To test this behavior, just go to https://badssl.com/
11.1.4. HTTPS inspection @@ -75,9 +75,10 @@ check if this feature is enabled at http://config.privoxy.org/show-status in the "Conditional #defines" section.
If the feature is not enabled, you may need to build Privoxy - from source to enable it. You can use either MbedTLS or OpenSSL. It's up to you, - which one to use, they both behave the same for HTTPS inspection.
+ from source to enable it. You can choose to use either MbedTLS or OpenSSL. You can choose either one, as they both behave the same + for HTTPS inspection.After installing the development libraries for either OpenSSL or MbedTLS, you can run ./configure with either the --with-openssl or --with-mbedtls option.
@@ -110,21 +111,21 @@ -Here we have defined a CA validity of 10 years (3650 days). You should decide for yourself what is a good - validity. A shorter validity makes your system more secure (it doesn't hurt that long if the key gets lost to - an attacker), but if the certificate expires before you have replaced it with a new one in Privoxy and in all - browsers, the communication will fail.
-During the key generation you will be asked for a "pass phrase". This pass phrase will appear in the Privoxy - config CGI, so don't reuse it elsewhere!
+In this example, a CA validity of 10 years (3650 days) is defined. You should set the appropriate validity + period based on your needs. A shorter validity makes your system more secure (it doesn't hurt that long if the + key gets lost to an attacker), but if the certificate expires before you have replaced it with a new one in + Privoxy and in all browsers, the communication will fail.
+During key generation you will be asked to provide a "PEM pass phrase". This passphrase will appear in the + Privoxy config CGI, so don't reuse it elsewhere!
Then you will be asked for Country Name, State/Province, Locality, Orginzation Name, Common Name, and Email - Address. You should add some useful data here, because these entries are shown by the browser as "Issuer Name" - when you inspect a certificate from an https-inspection site. Especially the "Common Name" will be shown as the - name of your CA, so it's good if you (and other users of your Privoxy instance) are able to identify this - CA.
+ Address. You should fill in some useful data here, because these entries will be shown by the browser as + "Issuer Name" when you inspect a certificate from an https-inspection site. Especially the "Common Name" will + be shown as the name of your CA, so it's good if you (and other users of your Privoxy instance) are able to + identify this CA.Copy the private key (privoxy.pem) and the CA certificate (privoxy.crt) into the ca-directory (defined in config).
-Make sure that the private key (privoxy.pem in the above example) is only +
Make sure that the private key (privoxy.pem in the example above) is only accessible to the user running Privoxy (usually named "privoxy"):
-
@@ -134,7 +135,7 @@ Now adjust your Privoxy configuration:
+Now customize your Privoxy configuration:
@@ -167,8 +168,8 @@
@@ -153,7 +154,7 @@ chown privoxy /var/lib/privoxy/certs - chmod 700 /var/lib/privoxy/certs.+ chmod 700 /var/lib/privoxy/certs11.1.6. Browser configuration
-As written above, each browser you use must now trust the newly created Privoxy CA certificate (privoxy.crt).
+As mentioned earlier, each browser you use must now trust the newly created Privoxy CA certificate + (privoxy.crt).
In Firefox you can do this by opening the preferences "Edit" -> "Settings" -> "Privacy & Security" or by typing about:preferences#privacy in the URL. Then go down to the "Certificates" section and click on "View Certificates". Click on the "Authorities" @@ -177,7 +178,7 @@
In Chrome based browsers, go to the settings and select "Privacy and security" (chrome://settings/privacy). Click on "Security" and on the opened sub-page on "Manage certificates". Now go to the "Authorities" tab and import privoxy.crt and configure that you trust the certificate for website identification.
+ "FILENAME">privoxy.crt and configure it to trust the certificate for website identification.11.1.7. Enabeling HTTPS inspection
@@ -203,7 +204,8 @@11.2. Client Tags HOWTO
-Client-Tags are a mechanism to dynamically/temporarily enable/disable features in Privoxy per browser.
+Client Tags are a mechanism to dynamically or temporarily enable and disable features in Privoxy for each + browser instance.
In our example, we use this for the following two use cases:
- @@ -226,13 +228,12 @@
Now you can open http://config.privoxy.org/client-tags or http://p.p/client-tags and can enable/disable the tag there (you may want to add a bookmark for this - in your browser for quick access, but it's also available as a link at http://p.p).
-It's also possible to temporarily enable a tag, which by default means 3 minutes (=180 seconds) (and can be - changed via the client-tag-lifetime option in http://p.p/client-tags and enable or disable the tag there (you may want to bookmark this page for + quick access, though it is also available via a link at http://p.p).
+You can also temporarily enable a tag, which by default means 3 minutes (180 seconds) (and can be changed + using the client-tag-lifetime option in config).
-But before this has any effect, you have to use the client tag in your Before this takes effect, you must reference the client tag in your user.action like this:
-
@@ -243,8 +244,8 @@ This means, that if the "tor" client tag is enabled, all traffic is forwarded by Privoxy through socks5t to a - locally installed tor proxy listening on port 9050.
+This means that if the "tor" client tag is enabled, all traffic will be forwarded by Privoxy through SOCKS5T + to a locally installed tor proxy listening on port 9050.
Similarly, you can specify to use the https-inspection client tag to enable https-inspection:
@@ -255,7 +256,7 @@ The tag will be set for all requests coming from clients that have requested it to be set. Note that "clients" - are distinguished by IP address, if the IP address changes, the tag must be requested again.
+ are distinguished by their IP address. If the IP address changes, the tag must be requested again.