Add a configure check for strtok() and add locks around its use
[privoxy.git] / README
1 /*********************************************************************
2  *
3  * File        :  $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
4  *
5  * Purpose     :  README file to give a short intro.
6  *
7  * Copyright   :  Written by and Copyright (C) 2001-2011 the
8  *                Privoxy team. http://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.18. See
36 http://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.
49
50 Privoxy is an associated project of Software in the Public Interest (SPI).
51
52 Helping hands and donations are welcome:
53
54   * http://www.privoxy.org/faq/general.html#PARTICIPATE
55
56   * http://www.privoxy.org/faq/general.html#DONATE
57
58 -------------------------------------------------------------------------------
59
60 1. IMPORTANT CHANGES
61
62 November 2010, Privoxy 3.0.17 stable is released.
63
64 This is mainly a bug-fix release for the previously released Privoxy 3.0.16.
65
66 It contains fixes for two bugs that could cause connections to hang under
67 certain circumstances when keep-alive support was enabled, until they timed out
68 or where closed by the server.
69
70 As usual, there are also a bunch of minor improvements. For details please see
71 the "ChangeLog", the "What's New" section or the "Upgrader's Notes" in the User
72 Manual.
73
74 -------------------------------------------------------------------------------
75
76 2. INSTALL
77
78 See the INSTALL file in this directory, for installing from raw source, and the
79 User Manual, for all other installation types.
80
81 -------------------------------------------------------------------------------
82
83 3. RUN
84
85 privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER
86 [.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file]
87
88 See the man page or User Manual for an explanation of each option, and other
89 configuration and usage issues.
90
91 If no config_file is specified on the command line, Privoxy will look for a
92 file named 'config' in the current directory (except Win32 which will look for
93 'config.txt'). If no config_file is found, Privoxy will fail to start.
94
95 -------------------------------------------------------------------------------
96
97 4. CONFIGURATION
98
99 See: 'config', 'default.action', 'user.action', 'default.filter', and
100 'user.filter'. 'user.action' and 'user.filter' are for personal and local
101 configuration preferences. These are all well commented. Most of the magic is
102 in '*.action' files. 'user.action' should be used for any actions
103 customizations. On Unix-like systems, these files are typically installed in /
104 etc/privoxy. On Windows, then wherever the executable itself is installed.
105 There are many significant changes and advances from earlier versions. The User
106 Manual has an explanation of all configuration options, and examples: http://
107 www.privoxy.org/user-manual/.
108
109 Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
110 you specify in the config file under 'listen-address'. DEFAULT is
111 127.0.0.1:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
112 try it with FTP or other protocols for the simple reason it does not work.
113
114 The actions list can be configured via the web interface accessed via http://
115 p.p/, as well other options.
116
117 All configuration files are subject to unannounced changes during the
118 development process.
119
120 -------------------------------------------------------------------------------
121
122 5. DOCUMENTATION
123
124 There should be documentation in the 'doc' subdirectory, but it may not be
125 completed at this point. In particular, see the User Manual there, the FAQ, and
126 those interested in Privoxy development, should look at developer-manual.
127
128 The most up to date source of information on the current development version,
129 may still be either comments in the source code, or the included configuration
130 files. The source and configuration files are all well commented. The main
131 configuration files are: 'config', 'default.action', and 'default.filter' in
132 the top-level source directory.
133
134 Included documentation may vary according to platform and packager. All
135 documentation is posted on http://www.privoxy.org, in case you don't have it,
136 or can't find it.
137
138 -------------------------------------------------------------------------------
139
140 6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS
141
142 We value your feedback. In fact, we rely on it to improve Privoxy and its
143 configuration. However, please note the following hints, so we can provide you
144 with the best support:
145
146 -------------------------------------------------------------------------------
147
148 6.1. Get Support
149
150 For casual users, our support forum at SourceForge is probably best suited:
151 http://sourceforge.net/tracker/?group_id=11118&atid=211118
152
153 All users are of course welcome to discuss their issues on the users mailing
154 list, where the developers also hang around.
155
156 Please don't sent private support requests to individual Privoxy developers,
157 either use the mailing lists or the support trackers.
158
159 If you have to contact a Privoxy developer directly for other reasons, please
160 send a real mail and do not bother with SourceForge's messaging system. Answers
161 to SourceForge messages are usually bounced by SourceForge's mail server in
162 which case the developer wasted time writing a response you don't get. From
163 your point of view it will look like your message has been completely ignored,
164 so this is frustrating for all parties involved.
165
166 Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
167 addresses have to be accepted manually by a moderator. This may cause a delay
168 of several days and if you use a subject that doesn't clearly mention Privoxy
169 or one of its features, your message may be accidentally discarded as spam.
170
171 If you aren't subscribed, you should therefore spend a few seconds to come up
172 with a proper subject. Additionally you should make it clear that you want to
173 get CC'd. Otherwise some responses will be directed to the mailing list only,
174 and you won't see them.
175
176 -------------------------------------------------------------------------------
177
178 6.2. Reporting Problems
179
180 "Problems" for our purposes, come in two forms:
181
182   * Configuration issues, such as ads that slip through, or sites that don't
183     function properly due to one Privoxy "action" or another being turned "on".
184
185   * "Bugs" in the programming code that makes up Privoxy, such as that might
186     cause a crash.
187
188 -------------------------------------------------------------------------------
189
190 6.2.1. Reporting Ads or Other Configuration Problems
191
192 Please send feedback on ads that slipped through, innocent images that were
193 blocked, sites that don't work properly, and other configuration related
194 problem of default.action file, to http://sourceforge.net/tracker/?group_id=
195 11118&atid=460288, the Actions File Tracker.
196
197 New, improved default.action files may occasionally be made available based on
198 your feedback. These will be announced on the ijbswa-announce list and
199 available from our the files section of our project page.
200
201 -------------------------------------------------------------------------------
202
203 6.2.2. Reporting Bugs
204
205 Please report all bugs through our bug tracker: http://sourceforge.net/tracker
206 /?group_id=11118&atid=111118.
207
208 Before doing so, please make sure that the bug has not already been submitted
209 and observe the additional hints at the top of the submit form. If already
210 submitted, please feel free to add any info to the original report that might
211 help to solve the issue.
212
213 Please try to verify that it is a Privoxy bug, and not a browser or site bug or
214 documented behaviour that just happens to be different than what you expected.
215 If unsure, try toggling off Privoxy, and see if the problem persists.
216
217 If you are using your own custom configuration, please try the stock configs to
218 see if the problem is configuration related. If you're having problems with a
219 feature that is disabled by default, please ask around on the mailing list if
220 others can reproduce the problem.
221
222 If you aren't using the latest Privoxy version, the bug may have been found and
223 fixed in the meantime. We would appreciate if you could take the time to
224 upgrade to the latest version (or even the latest CVS snapshot) and verify that
225 your bug still exists.
226
227 Please be sure to provide the following information:
228
229   * The exact Privoxy version you are using (if you got the source from CVS,
230     please also provide the source code revisions as shown in http://
231     config.privoxy.org/show-version).
232
233   * The operating system and versions you run Privoxy on, (e.g. Windows XP
234     SP2), if you are using a Unix flavor, sending the output of "uname -a"
235     should do, in case of GNU/Linux, please also name the distribution.
236
237   * The name, platform, and version of the browser you were using (e.g.
238     Internet Explorer v5.5 for Mac).
239
240   * The URL where the problem occurred, or some way for us to duplicate the
241     problem (e.g. http://somesite.example.com/?somethingelse=123).
242
243   * Whether your version of Privoxy is one supplied by the Privoxy developers
244     via SourceForge, or if you got your copy somewhere else.
245
246   * Whether you are using Privoxy in tandem with another proxy such as Tor. If
247     so, please temporary disable the other proxy to see if the symptoms change.
248
249   * Whether you are using a personal firewall product. If so, does Privoxy work
250     without it?
251
252   * Any other pertinent information to help identify the problem such as config
253     or log file excerpts (yes, you should have log file entries for each action
254     taken). To get a meaningful logfile, please make sure that the logfile
255     directive is being used and the following debug options are enabled:
256
257     debug     1 # Log the destination for each request Privoxy let through. See also debug 1024.
258     debug     2 # show each connection status
259     debug     4 # show I/O status
260     debug     8 # show header parsing
261     debug   128 # debug redirects
262     debug   256 # debug GIF de-animation
263     debug   512 # Common Log Format
264     debug  1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
265     debug  4096 # Startup banner and warnings.
266     debug  8192 # Non-fatal errors
267
268     If you are having trouble with a filter, please additionally enable
269
270     debug    64 # debug regular expression filters
271
272     If you are using Privoxy 3.0.17 or later and suspect that it interprets the
273     request or the response incorrectly, please enable
274
275     debug 32768 # log all data read from the network
276
277     Note that Privoxy log files may contain sensitive information so please
278     don't submit any logfiles you didn't read first. You can mask sensitive
279     information as long as it's clear that you removed something.
280
281 You don't have to tell us your actual name when filing a problem report, but if
282 you don't, please use a nickname so we can differentiate between your messages
283 and the ones entered by other "anonymous" users that may respond to your
284 request if they have the same problem or already found a solution. Note that
285 due to spam the trackers may not always allow to post without being logged into
286 SourceForge. If that's the case, you are still free to create a login that
287 isn't directly linked to your name, though.
288
289 Please also check the status of your request a few days after submitting it, as
290 we may request additional information. If you use a SF id, you should
291 automatically get a mail when someone responds to your request. Please don't
292 bother to add an email address when using the tracker. If you prefer to
293 communicate through email, just use one of the mailing lists directly.
294
295 The appendix of the Privoxy User Manual also has helpful information on
296 understanding actions, and action debugging.
297
298 -------------------------------------------------------------------------------
299
300 6.3. Request New Features
301
302 You are welcome to submit ideas on new features or other proposals for
303 improvement through our feature request tracker at http://sourceforge.net/
304 tracker/?atid=361118&group_id=11118.
305
306 -------------------------------------------------------------------------------
307
308 6.4. 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: http://sourceforge.net/mail/?
316 group_id=11118.
317