Log a message right before exiting gracefully
[privoxy.git] / README
1 /*********************************************************************
2  *
3  * File        :  README
4  *
5  * Purpose     :  Give a short intro about Privoxy.
6  *
7  * Copyright   :  Written by and Copyright (C) 2001-2020 the
8  *                Privoxy team. https://www.privoxy.org/
9  *
10  *                Based on the Internet Junkbuster originally written
11  *                by and Copyright (C) 1997 Anonymous Coders and
12  *                Junkbusters Corporation.  http://www.junkbusters.com
13  *
14  *                This program is free software; you can redistribute it
15  *                and/or modify it under the terms of the GNU General
16  *                Public License as published by the Free Software
17  *                Foundation; either version 2 of the License, or (at
18  *                your option) any later version.
19  *
20  *                This program is distributed in the hope that it will
21  *                be useful, but WITHOUT ANY WARRANTY; without even the
22  *                implied warranty of MERCHANTABILITY or FITNESS FOR A
23  *                PARTICULAR PURPOSE.  See the GNU General Public
24  *                License for more details.
25  *
26  *                The GNU General Public License should be included with
27  *                this file.  If not, you can view it at
28  *                http://www.gnu.org/copyleft/gpl.html
29  *                or write to the Free Software Foundation, Inc.,
30  *                51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
31  *                USA
32  *
33  *********************************************************************/
34
35 This README is included with the development version of Privoxy 3.0.30. See
36 https://www.privoxy.org/ for more information. The current code maturity level
37 is "UNRELEASED", but seems stable to us :).
38
39 -------------------------------------------------------------------------------
40
41 Privoxy is a non-caching web proxy with advanced filtering capabilities for
42 enhancing privacy, modifying web page data and HTTP headers, controlling
43 access, and removing ads and other obnoxious Internet junk. Privoxy has a
44 flexible configuration and can be customized to suit individual needs and
45 tastes. It has application for both stand-alone systems and multi-user
46 networks.
47
48 Privoxy is Free Software and licensed under the GNU GPLv2 or later.
49
50 Privoxy is an associated project of Software in the Public Interest (SPI).
51
52 Helping hands and donations are welcome:
53
54   * https://www.privoxy.org/participate
55
56   * https://www.privoxy.org/donate
57
58 -------------------------------------------------------------------------------
59
60 1. CHANGES
61
62 For a list of changes in this release, please have a look at the "ChangeLog",
63 the "What's New" section or the "Upgrader's Notes" in the User Manual.
64
65 -------------------------------------------------------------------------------
66
67 2. INSTALL
68
69 See the INSTALL file in this directory, for installing from raw source, and the
70 User Manual, for all other installation types.
71
72 -------------------------------------------------------------------------------
73
74 3. RUN
75
76 privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER
77 [.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file]
78
79 See the man page or User Manual for an explanation of each option, and other
80 configuration and usage issues.
81
82 If no config_file is specified on the command line, Privoxy will look for a
83 file named 'config' in the current directory (except Win32 which will look for
84 'config.txt'). If no config_file is found, Privoxy will fail to start.
85
86 -------------------------------------------------------------------------------
87
88 4. CONFIGURATION
89
90 See: 'config', 'default.action', 'user.action', 'default.filter', and
91 'user.filter'. 'user.action' and 'user.filter' are for personal and local
92 configuration preferences. These are all well commented. Most of the magic is
93 in '*.action' files. 'user.action' should be used for any actions
94 customizations. On Unix-like systems, these files are typically installed in /
95 etc/privoxy. On Windows, then wherever the executable itself is installed.
96 There are many significant changes and advances from earlier versions. The User
97 Manual has an explanation of all configuration options, and examples: https://
98 www.privoxy.org/user-manual/.
99
100 Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
101 you specify in the config file under 'listen-address'. DEFAULT is
102 127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
103 try it with FTP or other protocols for the simple reason it does not work.
104
105 The actions list can be configured via the web interface accessed via http://
106 p.p/, as well other options.
107
108 All configuration files are subject to unannounced changes during the
109 development process.
110
111 -------------------------------------------------------------------------------
112
113 5. DOCUMENTATION
114
115 There should be documentation in the 'doc' subdirectory, but it may not be
116 completed at this point. In particular, see the User Manual there, the FAQ, and
117 those interested in Privoxy development, should look at developer-manual.
118
119 The most up to date source of information on the current development version,
120 may still be either comments in the source code, or the included configuration
121 files. The source and configuration files are all well commented. The main
122 configuration files are: 'config', 'default.action', and 'default.filter' in
123 the top-level source directory.
124
125 Included documentation may vary according to platform and packager. All
126 documentation is posted on https://www.privoxy.org, in case you don't have it,
127 or can't find it.
128
129 -------------------------------------------------------------------------------
130
131 6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS
132
133 We value your feedback. In fact, we rely on it to improve Privoxy and its
134 configuration. However, please note the following hints, so we can provide you
135 with the best support.
136
137 -------------------------------------------------------------------------------
138
139 6.1. Please provide sufficient information
140
141 A lot of support requests don't contain enough information and can't be solved
142 without a lot of back and forth which causes unnecessary delays. Reading this
143 section should help to prevent that.
144
145 Before contacting us to report a problem, please try to verify that it is a 
146 Privoxy problem, and not a browser or site problem or documented behaviour that
147 just happens to be different than what you expected. If unsure, try toggling
148 off Privoxy, and see if the problem persists.
149
150 If you are using your own custom configuration, please try the default
151 configuration to see if the problem is configuration related. If you're having
152 problems with a feature that is disabled by default, please ask around on the
153 mailing list if others can reproduce the problem.
154
155 If you aren't using the latest Privoxy version, the problem may have been found
156 and fixed in the meantime. We would appreciate if you could take the time to
157 upgrade to the latest version and verify that the problem still exists.
158
159 Please be sure to provide the following information when reporting problems or
160 requesting support:
161
162   * The exact Privoxy version you are using.
163
164   * The operating system and versions you run Privoxy on, e.g. Windows XP SP2.
165
166   * The name, platform, and version of the browser you were using (e.g. 
167     Internet Explorer v5.5 for Mac).
168
169   * The URL where the problem occurred, or some way for us to duplicate the
170     problem (e.g. http://somesite.example.com/?somethingelse=123).
171
172   * Whether your version of Privoxy is one supplied by the Privoxy developers,
173     or if you got your copy somewhere else.
174
175   * Whether you are using Privoxy together with another proxy such as Tor. If
176     so, please temporary disable the other proxy to see if the symptoms change.
177
178   * Whether you are using a personal firewall product. If so, does Privoxy work
179     without it?
180
181   * Any other pertinent information to help identify the problem such as config
182     or log file excerpts (yes, you should have log file entries for each action
183     taken). To get a meaningful logfile, please make sure that the logfile
184     directive is being used and the following debug options are enabled (all of
185     them):
186
187     debug     1 # Log the destination for each request Privoxy let through.
188                 #   See also debug 1024.
189     debug     2 # show each connection status
190     debug     4 # show tagging-related messages
191     debug     8 # show header parsing
192     debug   128 # debug redirects
193     debug   256 # debug GIF de-animation
194     debug   512 # Common Log Format
195     debug  1024 # Log the destination for requests Privoxy didn't let through,
196                 #   and the reason why.
197     debug  4096 # Startup banner and warnings.
198     debug  8192 # Non-fatal errors
199     debug 65536 # Log applying actions
200
201     If you are having trouble with a filter, please additionally enable
202
203     debug    64 # debug regular expression filters
204
205     If you suspect that Privoxy interprets the request or the response
206     incorrectly, please enable
207
208     debug 32768 # log all data read from the network
209
210     It's easy for us to ignore log messages that aren't relevant but missing
211     log messages may make it impossible to investigate a problem. If you aren't
212     sure which of the debug directives are relevant, please just enable all of
213     them and let us worry about it.
214
215     Note that Privoxy log files may contain sensitive information so please
216     don't submit any logfiles you didn't read first. You can mask sensitive
217     information as long as it's clear that you removed something.
218
219 You don't have to tell us your actual name when filing a problem report, but if
220 you don't, please use a nickname so we can differentiate between your messages
221 and the ones entered by other "anonymous" users that may respond to your
222 request if they have the same problem or already found a solution. Note that
223 due to spam the trackers may not always allow to post without being logged into
224 SourceForge. If that's the case, you are still free to create a login that
225 isn't directly linked to your name, though.
226
227 Please also check the status of your request a few days after submitting it, as
228 we may request additional information. If you use a SF id, you should
229 automatically get a mail when someone responds to your request. Please don't
230 bother to add an email address when using the tracker. If you prefer to
231 communicate through email, just use one of the mailing lists directly.
232
233 The appendix of the Privoxy User Manual also has helpful information on
234 understanding actions, and action debugging.
235
236 -------------------------------------------------------------------------------
237
238 6.2. Get Support
239
240 All users are welcome to discuss their issues on the users mailing list, where
241 the developers also hang around.
242
243 Please don't send private support requests to individual Privoxy developers,
244 either use the mailing lists or the support trackers.
245
246 If you have to contact a Privoxy developer directly for other reasons, please
247 send a real mail and do not bother with SourceForge's messaging system. Answers
248 to SourceForge messages are usually bounced by SourceForge's mail server in
249 which case the developer wasted time writing a response you don't get. From
250 your point of view it will look like your message has been completely ignored,
251 so this is frustrating for all parties involved.
252
253 Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
254 addresses have to be accepted manually by a moderator. This may cause a delay
255 of several days and if you use a subject that doesn't clearly mention Privoxy
256 or one of its features, your message may be accidentally discarded as spam.
257
258 If you aren't subscribed, you should therefore spend a few seconds to come up
259 with a proper subject. Additionally you should make it clear that you want to
260 get CC'd. Otherwise some responses will be directed to the mailing list only,
261 and you won't see them.
262
263 -------------------------------------------------------------------------------
264
265 6.3. Reporting Problems
266
267 "Problems" for our purposes, come in two forms:
268
269   * Configuration issues, such as ads that slip through, or sites that don't
270     function properly due to one Privoxy "action" or another being turned "on".
271
272   * "Bugs" in the programming code that makes up Privoxy, such as that might
273     cause a crash. Documentation issues, for example spelling errors and
274     unclear descriptions, are bugs, too.
275
276 -------------------------------------------------------------------------------
277
278 6.3.1. Reporting Ads or Other Configuration Problems
279
280 Please send feedback on ads that slipped through, innocent images that were
281 blocked, sites that don't work properly, and other configuration related
282 problem of default.action file, to https://sourceforge.net/p/ijbswa/
283 actionsfile-feedback/, the Actions File Tracker.
284
285 -------------------------------------------------------------------------------
286
287 6.3.2. Reporting Bugs
288
289 Before reporting bugs, please make sure that the bug has not already been
290 submitted and observe the additional hints at the top of the submit form. If
291 already submitted, please feel free to add any info to the original report that
292 might help to solve the issue.
293
294 -------------------------------------------------------------------------------
295
296 6.4. Reporting security problems
297
298 If you discovered a security problem or merely suspect that a bug might be a
299 security issue, please mail Fabian Keil <fk@fabiankeil.de> (OpenPGP
300 fingerprint: 4F36 C17F 3816 9136 54A1 E850 6918 2291 8BA2 371C).
301
302 Usually you should get a response within a day, otherwise it's likely that
303 either your mail or the response didn't make it. If that happens, please mail
304 to the developer list to request a status update.
305
306 -------------------------------------------------------------------------------
307
308 6.5. Mailing Lists
309
310 If you prefer to communicate through email, instead of using a web interface,
311 feel free to use one of the mailing lists. To discuss issues that haven't been
312 completely diagnosed yet, please use the Privoxy users list. Technically
313 interested users and people who wish to contribute to the project are always
314 welcome on the developers list. You can find an overview of all Privoxy-related
315 mailing lists, including list archives, at: https://lists.privoxy.org/mailman/
316 listinfo. The lists hosted on privoxy.org have been created in 2016, the
317 previously-used lists hosted at SourceForge are deprecated but the archives may
318 still be useful: https://sourceforge.net/p/ijbswa/mailman/.
319
320 -------------------------------------------------------------------------------
321
322 6.6. SourceForge support trackers
323
324 The SourceForge support trackers may be used as well, but have various
325 technical problems that are unlikely to be fixed anytime soon. If you don't get
326 a timely response, please try the mailing list as well.
327