removed privoxy source
|
@ -1,116 +0,0 @@
|
||||||
Authors of Privoxy v2.9.x and 3.x
|
|
||||||
===========================================================================
|
|
||||||
|
|
||||||
Current Privoxy Team:
|
|
||||||
|
|
||||||
Fabian Keil, lead developer
|
|
||||||
David Schmidt, developer
|
|
||||||
|
|
||||||
Hal Burgiss
|
|
||||||
Mark Miller
|
|
||||||
Gerry Murphy
|
|
||||||
Lee Rian
|
|
||||||
Roland Rosenfeld
|
|
||||||
Jörg Strohmayer
|
|
||||||
|
|
||||||
Former Privoxy Team Members:
|
|
||||||
|
|
||||||
Johny Agotnes
|
|
||||||
Rodrigo Barbosa
|
|
||||||
Moritz Barsnick
|
|
||||||
Ian Cummings
|
|
||||||
Brian Dessent
|
|
||||||
Jon Foster
|
|
||||||
Karsten Hopp
|
|
||||||
Alexander Lazic
|
|
||||||
Daniel Leite
|
|
||||||
Gábor Lipták
|
|
||||||
Adam Lock
|
|
||||||
Guy Laroche
|
|
||||||
Justin McMurtry
|
|
||||||
Andreas Oesterhelt
|
|
||||||
Haroon Rafique
|
|
||||||
Georg Sauthoff
|
|
||||||
Thomas Steudten
|
|
||||||
Rodney Stromlund
|
|
||||||
Sviatoslav Sviridov
|
|
||||||
Sarantis Paskalis
|
|
||||||
Stefan Waldherr
|
|
||||||
|
|
||||||
Thanks to the many people who have tested Privoxy, reported bugs, provided
|
|
||||||
patches, made suggestions or contributed in some way. These include (in
|
|
||||||
alphabetical order):
|
|
||||||
|
|
||||||
Ken Arromdee
|
|
||||||
Devin Bayer
|
|
||||||
Gergely Bor
|
|
||||||
Reiner Buehl
|
|
||||||
Andrew J. Caines
|
|
||||||
Clifford Caoile
|
|
||||||
Frédéric Crozat
|
|
||||||
Michael T. Davis
|
|
||||||
Mattes Dolak
|
|
||||||
Matthias Drochner
|
|
||||||
Peter E.
|
|
||||||
Florian Effenberger
|
|
||||||
Markus Elfring
|
|
||||||
Dean Gaudet
|
|
||||||
Stephen Gildea
|
|
||||||
Daniel Griscom
|
|
||||||
Felix Gröbert
|
|
||||||
Aaron Hamid
|
|
||||||
Darel Henman
|
|
||||||
Magnus Holmgren
|
|
||||||
Eric M. Hopper
|
|
||||||
Ralf Horstmann
|
|
||||||
Stefan Huehner
|
|
||||||
Peter Hyman
|
|
||||||
Derek Jennings
|
|
||||||
Petr Kadlec
|
|
||||||
David Laight
|
|
||||||
Bert van Leeuwen
|
|
||||||
Don Libes
|
|
||||||
Paul Lieverse
|
|
||||||
Toby Lyward
|
|
||||||
Wil Mahan
|
|
||||||
Jindrich Makovicka
|
|
||||||
David Mediavilla
|
|
||||||
Raphael Moll
|
|
||||||
Amuro Namie
|
|
||||||
Adam Piggott
|
|
||||||
Dan Price
|
|
||||||
Roberto Ragusa
|
|
||||||
Félix Rauch
|
|
||||||
Maynard Riley
|
|
||||||
Chung-chieh Shan
|
|
||||||
Spinor S.
|
|
||||||
Bart Schelstraete
|
|
||||||
Oliver Stoeneberg
|
|
||||||
Peter Thoenen
|
|
||||||
Martin Thomas
|
|
||||||
Bobby G. Vinyard
|
|
||||||
Jochen Voss
|
|
||||||
Glenn Washburn
|
|
||||||
Song Weijia
|
|
||||||
Jörg Weinmann
|
|
||||||
Darren Wiebe
|
|
||||||
Anduin Withers
|
|
||||||
Oliver Yeoh
|
|
||||||
Jamie Zawinski
|
|
||||||
|
|
||||||
Privoxy is based in part on code originally developed by Junkbusters Corp. and
|
|
||||||
Anonymous Coders.
|
|
||||||
|
|
||||||
Privoxy heavily relies on Philip Hazel's PCRE.
|
|
||||||
|
|
||||||
The code to filter compressed content makes use of zlib which is written by
|
|
||||||
Jean-loup Gailly and Mark Adler.
|
|
||||||
|
|
||||||
On systems that lack snprintf(), Privoxy is using a version written by Mark
|
|
||||||
Martinec. On systems that lack strptime(), Privoxy is using the one from the
|
|
||||||
GNU C Library written by Ulrich Drepper.
|
|
||||||
|
|
||||||
If we've missed you off this list, please let us know!
|
|
||||||
|
|
||||||
Privoxy team. http://www.privoxy.org/
|
|
||||||
<ijbswa-developers@lists.sourceforge.net>
|
|
|
@ -1,717 +0,0 @@
|
||||||
--------------------------------------------------------------------
|
|
||||||
ChangeLog for Privoxy
|
|
||||||
--------------------------------------------------------------------
|
|
||||||
*** Version 3.0.12 (UNRELEASED) ***
|
|
||||||
|
|
||||||
- The socket-timeout option now also works on platforms whose
|
|
||||||
select() implementation modifies the timeout structure.
|
|
||||||
Previously the timeout was triggered even if the connection
|
|
||||||
didn't stall. Reported by cyberpatrol.
|
|
||||||
- The Connection: keep-alive code properly deals with files
|
|
||||||
larger than 2GB. Previously the connection was closed too
|
|
||||||
early.
|
|
||||||
- The content length for files above 2GB is logged correctly.
|
|
||||||
- The user-manual directive on the show-status page links to
|
|
||||||
the documentation location specified with the directive,
|
|
||||||
not to the Privoxy website.
|
|
||||||
- When running in daemon mode, Privoxy doesn't log anything
|
|
||||||
to the console unless there are errors before the logfile
|
|
||||||
has been opened.
|
|
||||||
- The show-status page prints warnings about invalid directives
|
|
||||||
on the same line as the directives themselves.
|
|
||||||
- Fixed several justified (but harmless) compiler warnings,
|
|
||||||
mostly on 64 bit platforms.
|
|
||||||
- The mingw32 version explicitly requests the default charset
|
|
||||||
to prevent display problems with some fonts available on more
|
|
||||||
recent Windows versions. Patch by Burberry.
|
|
||||||
- The mingw32 version uses the Privoxy icon in the alt-tab
|
|
||||||
windows. Patch by Burberry.
|
|
||||||
- The timestamp and the thread id is omitted in the "Fatal error"
|
|
||||||
message box on mingw32.
|
|
||||||
- Fixed two related mingw32-only buffer overflows. Triggering
|
|
||||||
them required control over the configuration file, therefore
|
|
||||||
this isn't seen as a security issue.
|
|
||||||
- In verbose mode, or if the new option --show-skipped-tests
|
|
||||||
is used, Privoxy-Regression-Test logs skipped tests and the
|
|
||||||
skip reason.
|
|
||||||
|
|
||||||
*** Version 3.0.11 ***
|
|
||||||
|
|
||||||
- On most platforms, outgoing connections can be kept alive and
|
|
||||||
reused if the server supports it. Whether or not this improves
|
|
||||||
things depends on the connection.
|
|
||||||
- When dropping privileges, membership in supplementary groups
|
|
||||||
is given up as well. Not doing that can lead to Privoxy running
|
|
||||||
with more rights than necessary and violates the principle of
|
|
||||||
least privilege. Users of the --user option are advised to update.
|
|
||||||
Thanks to Matthias Drochner for reporting the problem,
|
|
||||||
providing the initial patch and testing the final version.
|
|
||||||
- Passing invalid users or groups with the --user option
|
|
||||||
didn't lead to program exit. Regression introduced in 3.0.7.
|
|
||||||
- The match all section has been moved from default.action
|
|
||||||
to a new file called match-all.action. As a result the
|
|
||||||
default.action no longer needs to be touched by the user
|
|
||||||
and can be safely overwritten by updates.
|
|
||||||
- The standard.action file has been removed. Its content
|
|
||||||
is now part of the default.action file.
|
|
||||||
- In some situations the logged content length was slightly too low.
|
|
||||||
- Crunched requests are logged with their own log level.
|
|
||||||
If you used "debug 1" in the past, you'll probably want
|
|
||||||
to additionally enable "debug 1024", otherwise only passed
|
|
||||||
requests will be logged. If you only care about crunched
|
|
||||||
requests, simply replace "debug 1" with "debug 1024".
|
|
||||||
- The crunch reason has been moved to the beginning of the
|
|
||||||
crunch message. For HTTP URLs, the protocol is logged as well.
|
|
||||||
- Log messages are shortened by printing the thread id on its
|
|
||||||
own (as opposed to putting it inside the string "Privoxy()").
|
|
||||||
- The config option socket-timeout has been added to control
|
|
||||||
the time Privoxy waits for data to arrive on a socket.
|
|
||||||
- Support for remote toggling is controlled by the configure
|
|
||||||
option --disable-toggle only. In previous versions it also
|
|
||||||
depended on the action editor and thus configuring with the
|
|
||||||
--disable-editor option would disable remote toggling support
|
|
||||||
as well.
|
|
||||||
- Requests with invalid HTTP versions are rejected.
|
|
||||||
- The template symbol @date@ can be used to include a date(1)-like
|
|
||||||
time string. Initial patch submitted by Endre Szabo.
|
|
||||||
- Responses from shoutcast servers are accepted again.
|
|
||||||
Problem reported and fix suggested by Stefan.
|
|
||||||
- The hide-forwarded-for-headers action has been replaced with
|
|
||||||
the change-x-forwarded-for{} action which can also be used to
|
|
||||||
add X-Forwarded-For headers. The latter functionality already
|
|
||||||
existed in Privoxy versions prior to 3.0.7 but has been removed
|
|
||||||
as it was often used unintentionally (by not using the
|
|
||||||
hide-forwarded-for-headers action).
|
|
||||||
- A "clear log" view option was added to the mingw32 version
|
|
||||||
to clear out all of the lines in the Privoxy log window.
|
|
||||||
Based on a patch submitted by T Ford.
|
|
||||||
- The mingw32 version uses "critical sections" now, which prevents
|
|
||||||
log message corruption under load. As a side effect, the
|
|
||||||
"no thread-safe PRNG" warning could be removed as well.
|
|
||||||
- The mingw32 version's task bar icon is crossed out and
|
|
||||||
the color changed to gray if Privoxy is toggled off.
|
|
||||||
|
|
||||||
*** Version 3.0.10 ***
|
|
||||||
|
|
||||||
- Ordinary configuration file changes no longer cause program
|
|
||||||
termination on OS/2 if the name of the logfile hasn't been
|
|
||||||
changed as well. This regression probably crept in with the
|
|
||||||
logging improvements in 3.0.7. Reported by Maynard.
|
|
||||||
- The img-reorder filter is less likely to mess up JavaScript code in
|
|
||||||
img tags. Problem and solution reported by Glenn Washburn in #2014552.
|
|
||||||
- The source tar ball now includes Privoxy-Log-Parser,
|
|
||||||
a syntax-highlighter for Privoxy logs. For fancy screenshots see:
|
|
||||||
http://www.fabiankeil.de/sourcecode/privoxy-log-parser/
|
|
||||||
Documentation is available through perldoc(1).
|
|
||||||
|
|
||||||
*** Version 3.0.9 Beta ***
|
|
||||||
|
|
||||||
- Added SOCKS5 support (with address resolution done by
|
|
||||||
the SOCKS5 server). Patch provided by Eric M. Hopper.
|
|
||||||
- The "blocked" CGI pages include a block reason that was
|
|
||||||
provided as argument to the last-applying block action.
|
|
||||||
- If enable-edit-actions is disabled (the default since 3.0.7 beta)
|
|
||||||
the show-status page hides the edit buttons and explains why.
|
|
||||||
Previously the user would get the "this feature has been disabled"
|
|
||||||
message after using the edit button.
|
|
||||||
- Forbidden CONNECT requests are treated like blocks by default.
|
|
||||||
The now-pointless treat-forbidden-connects-like-blocks action
|
|
||||||
has been removed.
|
|
||||||
- Not enabling limit-connect now allows CONNECT requests to all ports.
|
|
||||||
In previous versions it would only allow CONNECT requests to port 443.
|
|
||||||
Use +limit-connect{443} if you think you need the old default behaviour.
|
|
||||||
- The CGI editor gets turned off after three edit requests with invalid
|
|
||||||
file modification timestamps. This makes life harder for attackers
|
|
||||||
who can leverage browser bugs to send fake Referers and intend to
|
|
||||||
brute-force edit URLs.
|
|
||||||
- Action settings for multiple patterns in the same section are
|
|
||||||
shared in memory. As a result these sections take up less space
|
|
||||||
(and are loaded slightly faster). Problem reported by Franz Schwartau.
|
|
||||||
- Linear white space in HTTP headers will be normalized to single
|
|
||||||
spaces before parsing the header's content, headers split across
|
|
||||||
multiple lines get merged first. This should prevent problems like:
|
|
||||||
* letting the session-cookies-only action slip
|
|
||||||
some Cookies through unmodified,
|
|
||||||
* only suppressing the first line of a header,
|
|
||||||
thus creating an invalid one, and
|
|
||||||
* to incorrectly block headers with valid timestamps
|
|
||||||
that weren't properly recognized.
|
|
||||||
Headers that could trigger these problems are unlikely to appear
|
|
||||||
in "normal" web traffic, but could be intentionally generated to
|
|
||||||
fool some of Privoxy's header parsers.
|
|
||||||
- Host information is gathered outside the main thread so it's less
|
|
||||||
likely to delay other incoming connections if the host is misconfigured.
|
|
||||||
- New config option "hostname" to use a hostname other than
|
|
||||||
the one returned by the operating system. Useful to speed-up responses
|
|
||||||
for CGI requests on misconfigured systems. Requested by Max Khon.
|
|
||||||
- The CGI editor supports the "disable all filters of this type"
|
|
||||||
directives "-client-header-filter", "-server-header-filter",
|
|
||||||
"-client-header-tagger" and "-server-header-tagger".
|
|
||||||
- Fixed false-positives with the link-by-url filter and URLs that
|
|
||||||
contain the pattern "/jump/".
|
|
||||||
- The less-download-windows filter no longer messes
|
|
||||||
"Content-Type: application/x-shockwave-flash" headers up.
|
|
||||||
- In the show-url-info page's "Final results" section active and
|
|
||||||
inactive actions are listed separately. Patch provided by Lee.
|
|
||||||
- The GNUmakefile supports the DESTDIR variable. Patch for
|
|
||||||
the install target submitted by Radoslaw Zielinski.
|
|
||||||
- Embedding the content of configuration files in the show-status
|
|
||||||
page is significantly faster now. For a largish action file (1 MB)
|
|
||||||
a speedup of about 2450 times has been measured. This is mostly
|
|
||||||
interesting if you are using large action files or regularly use
|
|
||||||
Privoxy-Regression-Test while running Privoxy through Valgrind,
|
|
||||||
for stock configuration files it doesn't really matter.
|
|
||||||
- If zlib support is unavailable and there are content
|
|
||||||
filters active but the prevent-compression action is disabled,
|
|
||||||
the show-url-info page includes a warning that compression
|
|
||||||
might prevent filtering.
|
|
||||||
- The show-url-info page provides an OpenSearch Description that
|
|
||||||
allows to access the page through browser search plugins.
|
|
||||||
- Custom client-header filters that rewrite the request line
|
|
||||||
incorrectly no longer cause Privoxy to crash. Reported by din_a4.
|
|
||||||
- The obsolete kill-popups action has been removed as the
|
|
||||||
PCRS-based popup filters can do the same and are slightly
|
|
||||||
less unreliable.
|
|
||||||
- The inspect-jpegs action has been removed.
|
|
||||||
- The send-wafer and send-vanilla-wafer actions have been removed.
|
|
||||||
They weren't particular useful and their behaviour could be emulated
|
|
||||||
with add-header anyway.
|
|
||||||
- Privoxy-Regression-Test has been significantly improved.
|
|
||||||
- Most sections in the default.action file contain tests for
|
|
||||||
Privoxy-Regression-Test to verify that they are working as intended.
|
|
||||||
- Parts of Privoxy have been refactored to increase maintainability.
|
|
||||||
- Building with zlib (if available) is done by default.
|
|
||||||
|
|
||||||
*** Version 3.0.8 ***
|
|
||||||
|
|
||||||
- Fixed a small memory leak when listen-address only specifies the port.
|
|
||||||
- The source tar balls now include Privoxy-Regression-Test which
|
|
||||||
(upon other things) can be used to automatically detect some
|
|
||||||
packaging problems. Packagers are welcome to give it a try.
|
|
||||||
- Reverted a change in 3.0.7 that caused path patterns to be checked
|
|
||||||
even if the host pattern match already failed. While this doesn't
|
|
||||||
noticeable affect the performance, it makes it less likely to run
|
|
||||||
out of stack space with overly-complex path patterns the user might
|
|
||||||
have added.
|
|
||||||
- Updated the msn, yahoo and google filters to work as advertised again.
|
|
||||||
- The warning message shown by the show-status CGI page is easier to
|
|
||||||
understand. Previously it wasn't clear that the error message
|
|
||||||
is shown below the invalid directive. (Reported by Lee)
|
|
||||||
- When regenerating Content-Disposition headers the more common
|
|
||||||
spelling is used for the name. Previously it was written without caps.
|
|
||||||
- Less confusing log message if the content type isn't overwritten
|
|
||||||
because force-text-type wasn't used but the old type doesn't look
|
|
||||||
like content that would be filtered normally.
|
|
||||||
- Better log messages if the user tries to execute filters that
|
|
||||||
don't exist.
|
|
||||||
- Treat the non-standard Request-Range headers like standard range
|
|
||||||
headers and suppress them if content filtering is enabled.
|
|
||||||
- Prevent the log messages for CONNECT requests to unacceptable
|
|
||||||
ports from printing the limit-connect argument as [null] if
|
|
||||||
limit-connect hasn't been explicitly enabled.
|
|
||||||
- Don't disable the mingw32 log window if the logfile directive
|
|
||||||
isn't used. While it was an intentional change in 3.0.7 at least
|
|
||||||
one user perceived it as a regression and the same effect can
|
|
||||||
be achieved by disabling all debug directives.
|
|
||||||
- Fixed two minor problems related to the win32 build process: a css
|
|
||||||
file was not being in the installer and the trustfile comment in the
|
|
||||||
config.txt referenced a nonexisting file
|
|
||||||
- Minor documentation fixes.
|
|
||||||
|
|
||||||
*** Version 3.0.7 Beta ***
|
|
||||||
|
|
||||||
- Added zlib support to filter content with gzip and deflate
|
|
||||||
encoding. (Patch provided by Wil Mahan)
|
|
||||||
- Dedicated filters and actions are used for header filtering.
|
|
||||||
"filter-client-headers" and "filter-client-headers" are no longer
|
|
||||||
supported, use server-header-filter{} and client-header-filter{}
|
|
||||||
instead.
|
|
||||||
- Tags can be used to change actions based on HTTP headers.
|
|
||||||
- New server-header filter: less-download-windows.
|
|
||||||
- New client-header taggers: css-requests, image-requests,
|
|
||||||
client-ip-address, http-method, allow-post, complete-url,
|
|
||||||
user-agent and privoxy-control.
|
|
||||||
- New server-header taggers: content-type and privoxy-control.
|
|
||||||
- The forward-override{} action allows to change the forwarding
|
|
||||||
settings through the action files, for example based on client
|
|
||||||
headers like the User-Agent, or the request origin.
|
|
||||||
- Socks errors are no longer handled by the CGI page for
|
|
||||||
DNS resolution failures.
|
|
||||||
- CGI pages use favicons to signal whether they are error
|
|
||||||
or control pages. This is useful if you rely heavily on
|
|
||||||
browser tabs.
|
|
||||||
- The show-url-info CGI page shows the forwarding settings.
|
|
||||||
- "Crunch!" log messages (used when Privoxy answers requests
|
|
||||||
by itself) now also contain the reason.
|
|
||||||
- Allow to rewrite the request destination behind the client's back.
|
|
||||||
- Fix socks requests on big-endian platforms. Patch provided by Song Weijia.
|
|
||||||
- Fixes possible deadlocks and crashes on OpenBSD.
|
|
||||||
Patch provided by Ralf Horstmann.
|
|
||||||
- The CGI action editor allows to edit actionfiles with previously
|
|
||||||
forbidden characters like dots.
|
|
||||||
- New trust entries are saved with a comment that contains the
|
|
||||||
trusted referring URL (Suggested by Daniel Griscom).
|
|
||||||
- Filter descriptions are HTML encoded automatically.
|
|
||||||
- New config option "split-large-forms" to work
|
|
||||||
around a browser bug that caused IE6 and IE7 to ignore
|
|
||||||
the Submit button on the edit-actions-for-url CGI page.
|
|
||||||
- New config option "allow-cgi-request-crunching" to allow
|
|
||||||
requests for Privoxy's CGI pages to be blocked, redirected
|
|
||||||
or (un)trusted like ordinary requests.
|
|
||||||
- Empty filter files no longer interrupt the filtering process
|
|
||||||
prematurely and are correctly listed on the show-status CGI page.
|
|
||||||
- New config option "accept-intercepted-requests" to combine
|
|
||||||
Privoxy with any packet filter to build an intercepting proxy
|
|
||||||
for HTTP/1.1 requests (and for HTTP/1.0 requests with Host header set).
|
|
||||||
- fast-redirects{} catch redirects to https URLs as well.
|
|
||||||
- redirect{s@foo@bar@} can be used to redirect to a rewritten
|
|
||||||
version of the original URL.
|
|
||||||
- Trap unsupported gopher proxy requests.
|
|
||||||
- Fixed a bug in the User Manual delivery on Windows
|
|
||||||
(mingw32 only). Images now show up correctly and HTML
|
|
||||||
pages are no longer padded with garbage data.
|
|
||||||
- Fixed several minor memory leaks, most of them discovered with Valgrind.
|
|
||||||
- Only unlink the pidfile if it's actually used.
|
|
||||||
- Retries after connection problems with forced requests
|
|
||||||
aren't blocked again.
|
|
||||||
- On Unix SIGABRT causes a core dump as expected and is no
|
|
||||||
longer treated as normal shutdown signal.
|
|
||||||
- The "access denied" CGI page is more descriptive and
|
|
||||||
allows retries to circumvent the referrer check.
|
|
||||||
- Updated PCRS to handle unexpected PCRE errors properly.
|
|
||||||
Fixed crashes that could occur if Privoxy was build
|
|
||||||
with external PCRE versions newer than Privoxy's internal
|
|
||||||
one. (Reported by Chung-chieh Shan)
|
|
||||||
- Fixed crashes with null bytes in PCRS replacement strings
|
|
||||||
(Patch provided by Felix Gröbert).
|
|
||||||
- Fixed crashes with header time randomization on mingw32.
|
|
||||||
- The CGI style sheet is no longer delivered if the referring
|
|
||||||
page isn't a Privoxy CGI page. This prevents a JavaScript-based
|
|
||||||
Privoxy detection "attack". Note that detecting Privoxy is
|
|
||||||
still possible through other ways and Privoxy was never intended
|
|
||||||
to be invisible anyway.
|
|
||||||
- Added support for AmigaOS 4, fixed build for AmigaOS 3.x.
|
|
||||||
- The show-url-info CGI page displays a warning if Privoxy
|
|
||||||
is currently toggled off.
|
|
||||||
- The show-status CGI page suppresses the edit button
|
|
||||||
for action files if Privoxy has no write access.
|
|
||||||
- Most CGI error pages react properly to HEAD requests.
|
|
||||||
- Requests with RFC 3253 HTTP methods (used by Subversion)
|
|
||||||
are accepted. (Patch provided by Petr Kadlec)
|
|
||||||
- New config option "templdir" to change the location
|
|
||||||
of the CGI templates to make sure customized templates
|
|
||||||
aren't "updated".
|
|
||||||
- Better handling of "HTTP/1.1 100 Continue" responses.
|
|
||||||
- The background of the PNG pattern is transparent.
|
|
||||||
- Fixed XML syntax errors caused by banners-by-size and banners-by-url.
|
|
||||||
- Fixed crashes and possible action file corruptions
|
|
||||||
when lines containing hashes are written through the CGI editor.
|
|
||||||
- Supports dynamic filters which can contain variables.
|
|
||||||
- Supports tags to change the actions based on client or server headers.
|
|
||||||
- Incorrect actions are logged before program termination.
|
|
||||||
- The "actionsfile" syntax in the configuration file is consistent
|
|
||||||
with the rest of the configuration options and requires the
|
|
||||||
whole file name. This is an incompatible change, if you use
|
|
||||||
an old configuration file you might have to append ".action"
|
|
||||||
to your "actionsfile" directives.
|
|
||||||
- With the configuration file option "enforce-blocks" the
|
|
||||||
"go there anyway" mechanism can be disabled without recompiling
|
|
||||||
Privoxy.
|
|
||||||
- More precise error messages in case of incorrect acl syntax.
|
|
||||||
- Logs a warning if filtering is enabled but impossible due
|
|
||||||
to lack of zlib support or use of the prevent-compression action.
|
|
||||||
- Less noisy handling of Cookie:" and "Connection:" headers.
|
|
||||||
- Improved error messages in case of connection problems.
|
|
||||||
- Fix a command-line-parsing bug that was introduced before 3.0.5
|
|
||||||
beta and caused Privoxy to treat the last argument as configuration
|
|
||||||
file if no configuration file was specified.
|
|
||||||
- Treat unknown command line options as fatal errors instead
|
|
||||||
of silently ignoring them.
|
|
||||||
- Use string functions with length checks more often.
|
|
||||||
- Don't log CONNECT requests twice.
|
|
||||||
- Allow to log the source address for ACL-related connection drops.
|
|
||||||
- Don't ignore applying filters if the server didn't
|
|
||||||
specify a Content-Type. Bug reported by Amuro Namie.
|
|
||||||
- Rejected CONNECT requests are logged with log level info
|
|
||||||
(enabled by default) and the reason for the block.
|
|
||||||
- New command line option "--pre-chroot-nslookup hostname" to
|
|
||||||
intialize the resolver library before chroot'ing. On some systems this
|
|
||||||
reduces the number of files that must be copied into the chroot tree.
|
|
||||||
(Patch provided by Stephen Gildea)
|
|
||||||
- Fix a long-standing memory corruption bug that could cause
|
|
||||||
Privoxy to overwrite a single byte in memory it didn't explicitly
|
|
||||||
allocate (but that probably was allocated anyway due to bucket size).
|
|
||||||
- Send template-based CGI pages as HTTP/1.1 unless the client
|
|
||||||
asked for HTTP/1.0.
|
|
||||||
- Let the first line in connection established responses
|
|
||||||
end in \r\n as required by RFC1945. Reported by Bert van Leeuwen.
|
|
||||||
- If no log file has been specified, disable logging instead of logging
|
|
||||||
to stderr.
|
|
||||||
- Don't block stderr when in daemon mode.
|
|
||||||
- Ignore missing zero-chunks when filtering chunk-encoded content.
|
|
||||||
Earlier Privoxy versions would buffer and then forward the content
|
|
||||||
unmodified which caused some browsers to simply show empty pages.
|
|
||||||
- Fix double free in cgi_edit_actions_list(). Reported by Venustech AD-LAB.
|
|
||||||
- The code to add X-Forwarded-For headers when the hide-forwarded-for-headers
|
|
||||||
action isn't being used has been removed.
|
|
||||||
- Fixed trustfile feature which previously didn't work without FEATURE_TOGGLE.
|
|
||||||
Reported by Lee.
|
|
||||||
- Minor code clean-ups, filter and action file updates.
|
|
||||||
(Some of them reported by Davide Alberani, Markus Elfring,
|
|
||||||
Stefan Huehner and Adam Piggott)
|
|
||||||
|
|
||||||
*** Version 3.0.6 ***
|
|
||||||
|
|
||||||
- New content filters: no-ping, google, msn, yahoo and blogspot.
|
|
||||||
- New header filters: x-httpd-php-to-html, html-to-xml, xml-to-html
|
|
||||||
and hide-tor-exit-notation.
|
|
||||||
- The special header "X-Filter: No" now disables header filtering as well.
|
|
||||||
- Improved the filters img-reorder, js-annoyances, webbugs,
|
|
||||||
banners-by-size, banners-by-link and ie-exploits to make them
|
|
||||||
less likely to break anything.
|
|
||||||
- Removed outdated URL patterns in default.action and added new ones.
|
|
||||||
- Added redirection from http://p.p/user-manual to http://p.p/user-manual/
|
|
||||||
- Changed webinterface default values for hide-user-agent, hide-referrer
|
|
||||||
and set-image-blocker.
|
|
||||||
|
|
||||||
*** Version 3.0.5 Beta ***
|
|
||||||
|
|
||||||
- Windows version can be installed/started as a service.
|
|
||||||
- Windows icon stays blue when Privoxy is idle, green when busy.
|
|
||||||
- Integrated Fabian Keil's extensive patch. See:
|
|
||||||
http://www.fabiankeil.de/sourcecode/privoxy/. Includes the
|
|
||||||
following new or significantly improved actions (among many
|
|
||||||
other improvements):
|
|
||||||
|
|
||||||
content-type-overwrite{}
|
|
||||||
crunch-client-header{string}
|
|
||||||
crunch-if-none-match
|
|
||||||
crunch-server-header{string}
|
|
||||||
fast-redirects{check-decoded-url}
|
|
||||||
filter-client-headers
|
|
||||||
filter-server-headers
|
|
||||||
force-text-mode
|
|
||||||
handle-as-empty-document
|
|
||||||
hide-accept-language{}
|
|
||||||
hide-content-disposition{}
|
|
||||||
hide-if-modified-since
|
|
||||||
hide-referrer{conditional-block}
|
|
||||||
overwrite-last-modified{}
|
|
||||||
redirect{URL}
|
|
||||||
treat-forbidden-connects-like-blocks
|
|
||||||
|
|
||||||
- Standard-compliant clients are prevented from displaying cached
|
|
||||||
copies of Privoxy's error messages after the cause of the problem
|
|
||||||
has gone.
|
|
||||||
- Improved DNS error handling.
|
|
||||||
- Multiple filter files can now be specified in config.
|
|
||||||
- Added jpeg filtering to defend against MS jpeg vulnerability MS04-028
|
|
||||||
with the new inspect-jpegs action.
|
|
||||||
- Removed the "arbitrary" 1000 filter limit - addresses tracker #911950
|
|
||||||
- Thanks to Jindrich Makovicka for a race condition fix for the log
|
|
||||||
file. The race condition remains for non-pthread implementations.
|
|
||||||
Reference patch #1175720. Various other logging enhancements.
|
|
||||||
- A pile of assorted bug fixes, memory leaks, enhancements, etc.
|
|
||||||
- Moved Actions file reporting mechanism to SF tracker.
|
|
||||||
- Two new options for config: enable-remote-http-toggle and
|
|
||||||
forwarded-connect-retries.
|
|
||||||
- Trap unsupported FTP requests.
|
|
||||||
- Let text/xml be filtered.
|
|
||||||
- Numerous updates to default.action
|
|
||||||
- Increase the compiled in limit of trusted referrers from 64 to 512
|
|
||||||
(for trustfile users).
|
|
||||||
|
|
||||||
*** Version 3.0.3 ***
|
|
||||||
|
|
||||||
- Fixed yet another two memory leaks. Process growth seems stopped now.
|
|
||||||
- Further tightened security against malicious toggle-off links.
|
|
||||||
- Excluded text/plain MIME types from filtering. This fixes a
|
|
||||||
couple of client-crashing, download corruption and
|
|
||||||
Privoxy performance issues, whose root cause lies in
|
|
||||||
web servers labelling content of unknown type as text/plain.
|
|
||||||
- Assorted fixes for POSIX compliance, signal handling, graceful
|
|
||||||
termination, compiler warnings, OSX support, Win32 systray,
|
|
||||||
error logging, hostname wildcards, correct detection of NetBSD.
|
|
||||||
- Workarounds for client (iTunes etc) and server (PHP < 4.2.3) bugs
|
|
||||||
including the notorious "blank page" problem.
|
|
||||||
- Various filter improvements; most notably the unsolicited-popups
|
|
||||||
filter became less destructive
|
|
||||||
- Major revamp of the actions file
|
|
||||||
|
|
||||||
*** Version 3.0.2 ***
|
|
||||||
|
|
||||||
- Fixed two memory leaks, one serious
|
|
||||||
- Fixed bug in pcrs which could cause crashes with user-defined filters
|
|
||||||
- Fixed bug in domain name matching
|
|
||||||
- Assorted small fixes (Win32 menu, CGI URL editor, ..)
|
|
||||||
- Added basic support for the OPTIONS and TRACE http methods
|
|
||||||
- Added workaround for Bug in Mac OSX that made Privoxy crash occasionally
|
|
||||||
- Refined the default action file through >400 items of user feedback
|
|
||||||
- Filter changes:
|
|
||||||
- Assorted refinements, optimizations and fixes in the js-annoyances,
|
|
||||||
img-reorder, banners-by-size, banners-by-link, webbugs, refresh-tags,
|
|
||||||
html-annoyances, content-cookies and fun filters
|
|
||||||
- Replaced filter "popups" by choice between two modes:
|
|
||||||
- "unsolicited-popups" tries to catch only the unsolicited ones
|
|
||||||
- "all-popups" tries to kill them all (as before)
|
|
||||||
- New filter "tiny-textforms" Help those tiny or hard-wrap textareas.
|
|
||||||
- New filter "jumping-windows" that prevents windows from resizing
|
|
||||||
and moving themselves
|
|
||||||
- New filter "demoronizer" which fixes MS's abuse of std charsets
|
|
||||||
(common cases anyway).
|
|
||||||
- Replaced "nimda" with more general "ie-exploits" filter in which
|
|
||||||
all filters for exploits shall be collected
|
|
||||||
- Improved cookie logging
|
|
||||||
- Rewrote make install target. Added uninstall and install-strip
|
|
||||||
targets.
|
|
||||||
- Fixed a potential (application-level, NOT OS-level!) security
|
|
||||||
problem involving remote toggling and action file manipulation
|
|
||||||
by mailicious websites.
|
|
||||||
- Added ability to chroot (thanks to Sviatoslav Sviridov)
|
|
||||||
- Added more action aliases for prehistoric action names
|
|
||||||
- Add Slackware support to Makefile.
|
|
||||||
|
|
||||||
*** Version 3.0 ***
|
|
||||||
|
|
||||||
- Fixed Windows startmenu items, log window and tray icon menus.
|
|
||||||
- Added warning for bogus install target
|
|
||||||
- Added quicktime-kioskmode filter and improved frameset-borders
|
|
||||||
- Updated default.action based on latest feedback
|
|
||||||
- New PDF doc build process
|
|
||||||
- Add a user contrib module to cvs:
|
|
||||||
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ijbswa/contrib/
|
|
||||||
|
|
||||||
*** Version 2.9.18 ***
|
|
||||||
|
|
||||||
- Added workaround for IE bug that broke CGI interface
|
|
||||||
- Bugfix: String actions now reliably editable through CGI interface
|
|
||||||
- Three filters fixed (again!)
|
|
||||||
- Assorted small fixes and doc enhancements
|
|
||||||
|
|
||||||
*** Version 2.9.16 ***
|
|
||||||
|
|
||||||
- Major revamp of default.action to get rid of years of cruft.
|
|
||||||
- Same for default.filter
|
|
||||||
- Re-design and major improvements to the CGI editor interface.
|
|
||||||
- Address spurious 'out of memory' error due to incorrect file permissions.
|
|
||||||
- Impose buffer limits while reading client and server headers.
|
|
||||||
- Better memory and CPU optimization.
|
|
||||||
- Add Conectiva Linux package.
|
|
||||||
- user-manual directive added to config for help links from within CGI
|
|
||||||
editor.
|
|
||||||
- Multiple actions files can now be specified in config.
|
|
||||||
- Actions files are changed to: default.action, standard.action, and
|
|
||||||
user.action. user.action is for personal/local configuration.
|
|
||||||
- The usual many small and miscellaneous bug and security fixes.
|
|
||||||
|
|
||||||
*** Version 2.9.14 Beta ***
|
|
||||||
|
|
||||||
- Fix Solaris compile problem (gateway.h and filters.h)
|
|
||||||
- Makefile fixes for Solaris, FreeBSD (?)
|
|
||||||
- Fix build failure where certain features were disabled.
|
|
||||||
- 'blocked-compact' template is removed. Various CGI improvements,
|
|
||||||
including an adaptive 'blocked' template.
|
|
||||||
- Various tweaks for actions file to get ready for stable 3.0
|
|
||||||
- Included a 'Bookmarklet' and PHP scripts for reporting actions file
|
|
||||||
problems via web interface at privoxy.org. Accessed via internal CGIs.
|
|
||||||
- Include cgi-style.css for templates.
|
|
||||||
- #include mechansim for common text in templates
|
|
||||||
- Various other minor fixes.
|
|
||||||
|
|
||||||
*** Version 2.9.13 Beta ***
|
|
||||||
|
|
||||||
- *NEWS*: The project has been renamed to Privoxy! The new name is
|
|
||||||
reflected throughout (file locations, etc).
|
|
||||||
- ijb.action is now default.action. re_filterfile is now
|
|
||||||
default.filter.
|
|
||||||
- http://i.j.b/ is now http://p.p/
|
|
||||||
- The 'logo' option for replacing ad iamges is removed now. 'Pattern'
|
|
||||||
(checkerboard) is now the default.
|
|
||||||
- RPM spec file make over.
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.12 Beta ***
|
|
||||||
|
|
||||||
- **READ**: The default listening PORT is NOW 8118!!! Changed from
|
|
||||||
8000 due to conflict with NAS (Network Audio Server, whatever that
|
|
||||||
is.)
|
|
||||||
- More CGI actions editor fixes and improvements.
|
|
||||||
- Win32 command line fix ups.
|
|
||||||
- re_filterfile now has modular sections that can be activated on a
|
|
||||||
per site basis. Some new goodies there too.
|
|
||||||
- +filter now takes arguments to match FILTER sections in re_filterfile
|
|
||||||
for even more flexibility.
|
|
||||||
- Added a new image blocker option: +image-blocker{pattern}, which
|
|
||||||
displays a checkerboard patthern and scales better than the logo.
|
|
||||||
- PNG images will be used in place of GIF for JB built-in images
|
|
||||||
if configured with --enable-no-gif.
|
|
||||||
- Clean up compiler warnings (mostly).
|
|
||||||
- Improved handling of failed DNS lookups & diagnostics for failed bind
|
|
||||||
to listen socket
|
|
||||||
- Made --no-daemon mode log to tty instead of logfile.
|
|
||||||
- Various spec file and init script cleanups and improvements (Redhat and
|
|
||||||
SuSE).
|
|
||||||
- CGI Editor works on OS/2 now.
|
|
||||||
- Fix restart failure where sockets were in TIME_WAIT.
|
|
||||||
- Fixes for actions cgi editor, make sure we have right file.
|
|
||||||
- A --pidfile command line option now, in addition to --help,
|
|
||||||
--version, --no-daemon, --user and configfile. --no-daemon replaces
|
|
||||||
the former -d option and _DEBUG define. --user will drop privileges
|
|
||||||
to the specified user.
|
|
||||||
- Signal handling cleanups (*nix).
|
|
||||||
- CGI actions editor improvements and fixes.
|
|
||||||
- Error handling improvements, especially out of memory.
|
|
||||||
- Default re_filterfile fix that caused spurious IJB logos
|
|
||||||
(instead of 'blank').
|
|
||||||
- configure.in threading fixes for Solaris.
|
|
||||||
- Various other minor fixes.
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.11 Beta Changes ***
|
|
||||||
|
|
||||||
- Add "session" cookie concept where cookies exist for the life
|
|
||||||
of that browser session only (ie never goes to disk).
|
|
||||||
- Checks for correct header length.
|
|
||||||
- Fix user:pass@host.domain.com auth bug.
|
|
||||||
- Better signal handling on *nix.
|
|
||||||
- Fix CFLAGS hard-coded in configure.in
|
|
||||||
- Fix threading bug re: gethostbyname() that caused random
|
|
||||||
URLs to fail in some cases.
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.11 Alpha Changes ***
|
|
||||||
|
|
||||||
- A web-based editor for the actions file is included (go to http://i.j.b/).
|
|
||||||
- Web-based toggle IJB on/off support.
|
|
||||||
- Cookie handling has changed - the new +no-cookies-keep feature is now the
|
|
||||||
default.
|
|
||||||
- actionsfile is renamed to ijb.action.
|
|
||||||
- junkbstr.txt is now config.txt on Win32.
|
|
||||||
- Support for running IJB as a UNIX daemon process has improved.
|
|
||||||
- Unix daemon now returns error code on failed start.
|
|
||||||
- Timestamps in logfile and jarfile now.
|
|
||||||
- Fix for the Netscape bug reintroduced in 2.9.9.
|
|
||||||
- make should now abort if gmake (GNU make) not present.
|
|
||||||
- Many other minor bugfixes
|
|
||||||
- Start a ChangeLog :)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.3 pre-Alpha Changes ***
|
|
||||||
|
|
||||||
- Amiga support (completely untested by me - I don't have an Amiga)
|
|
||||||
- "tinygif 3" support (redirects blocked images to a specified URL, so
|
|
||||||
the browser doesn't have to load and cache many copies of the same
|
|
||||||
image).
|
|
||||||
- one case where there were both local and global "referrer" variables
|
|
||||||
(yuck!) clarified by renaming the local one to "refer".
|
|
||||||
- Fixed some places where close() was used instead of close_socket().
|
|
||||||
Thanks to Jörg Strohmayer (joergs at users.sourceforge.net) for these.
|
|
||||||
- Temporary hack to get FORCE_LOAD to work with IE. I just lowercased the
|
|
||||||
FORCE_LOAD_PREFIX. Needs fixing properly.
|
|
||||||
- Most URLs hardcoded into Junkbuster were changed to go through a script
|
|
||||||
e.g. http://ijbswa.sourceforge.net/redirect.php?v=2.9.3&to=faq
|
|
||||||
The only other URLs left are the GNU GPL:
|
|
||||||
http://www.fsf.org/copyleft/gpl.html
|
|
||||||
and the home page:
|
|
||||||
http://ijbswa.sourceforge.net/
|
|
||||||
... and various URLs which will be intercepted by Junkbuster anyway.
|
|
||||||
TODO: Still need to do something with the URLs in Junkbuster Corp's
|
|
||||||
copyright/trademark notice on the bottom of the show-proxy-args page.
|
|
||||||
- PCRE or GNU Regex is now a #define option.
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.2 pre-Alpha Changes ***
|
|
||||||
|
|
||||||
- Andreas applied the latest version of the FORCE patch.
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.1 pre-Alpha Changes ***
|
|
||||||
|
|
||||||
- in parsers.c, fixed two #ifdef FORCE to #ifdef FORCE_LOAD
|
|
||||||
(BTW: I think FORCE is precise enough, since loading remote
|
|
||||||
data is the whole purpose of a proxy..)
|
|
||||||
- Set the FORCE_PREFIX (back) to 'IJB-FORCE-LOAD-'. While 'noijb.'
|
|
||||||
is more elegant and looks like a hostname in the URL, it doesn't
|
|
||||||
make clear to the inexperienced user that the proxy is bypassed. It
|
|
||||||
also has a higher name collision risk.
|
|
||||||
- Filled in the function header templates for my functions in
|
|
||||||
parsers.c (again). They obviously got lost in our current
|
|
||||||
patch war ;-)
|
|
||||||
- Cut the credit for the §-referrer-option from the config file,
|
|
||||||
that Stefan had placed there.
|
|
||||||
- Improved the re_filterfile
|
|
||||||
|
|
||||||
|
|
||||||
*** Version 2.9.0 pre-Alpha Changes ***
|
|
||||||
|
|
||||||
- Now use PCRE, not GNU REGEX. I have not yet had chance to check the
|
|
||||||
syntax of the block/image/cookie file to ensure that they match what
|
|
||||||
is expected - however they seem to work.
|
|
||||||
- Replaced "configure" script with one generated by "autoconf". Also
|
|
||||||
use a header "config.h" (was ijbconfig.h in my previous release) for
|
|
||||||
the #defines. "config.h" is now generated with "autoheader" from
|
|
||||||
"acconfig.h" and "configure.in". (Note that to install you do not
|
|
||||||
need autoconf or autoheader - just run "./configure".)
|
|
||||||
To see command-line options, run "./configure --help".
|
|
||||||
This is my first ever autoconf script, so it has some rough edges
|
|
||||||
(how PCRE is handled is the roughest).
|
|
||||||
- Error logging code replaced with new module errlog.c, based on the
|
|
||||||
one from JunkbusterMT (but with the threading code removed).
|
|
||||||
- Most of Rodney's 0.21 and 0.21A patches applied. (Marked *). I did not
|
|
||||||
apply all of these, since I had already independently done conditional
|
|
||||||
popup file, conditional image file, and integration of popup code.
|
|
||||||
- ACL, Jar and trust files conditionally compiled.
|
|
||||||
- New source file headers.
|
|
||||||
- Various cosmetic changes. (But I have not consistently ordered the
|
|
||||||
config files - I think that's worthwhile, but it's 1am and I want to
|
|
||||||
get this released!)
|
|
||||||
- RCS tags on .h files.
|
|
||||||
- RCS tags are const char[] rather than const char *. (Saves 4 bytes
|
|
||||||
per tag ;-)
|
|
||||||
- VC++ project files renamed to vc_junkbuster.*.
|
|
||||||
- show-proxy-args now shows status of all conditionals, not just REGEX
|
|
||||||
- Various functions moved around. Most notably all the system-specific
|
|
||||||
sockets code which was spread between jcc.c, bind.c, and connect.c,
|
|
||||||
has been moved to "jbsockets.c". The non-system-specific code from
|
|
||||||
connect.c and socks4.c has been movet to "gateway.c". Also, the
|
|
||||||
config file loader and the global variables it writes to have been
|
|
||||||
moved to "loadcfg.c". (Maybe this should go into loaders.c?)
|
|
||||||
And candidate for the "worst filename ever" award is "miscutil.c",
|
|
||||||
which contains, well, miscellaneous utility functions like zalloc.
|
|
||||||
(Suggestions for a better name for this file are welcome!)
|
|
||||||
- Loaders now use a common function to read a line and skip comments,
|
|
||||||
and this function also stores the proxy_args.
|
|
||||||
- Added ./junkbuster --help (Not for Win32 GUI)
|
|
||||||
- Added ./junkbuster --version (Not for Win32 GUI)
|
|
||||||
- Win32 resources are now all marked as "U.S. English", rather than
|
|
||||||
being a mix of "U.S. English", "U.K. English" and "Irish English".
|
|
||||||
- Version number changes to 2.9.0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
|
||||||
Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
|
||||||
Privoxy team. http://www.privoxy.org/
|
|
||||||
|
|
||||||
Based on the Internet Junkbuster originally written
|
|
||||||
by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
Junkbusters Corporation. http://www.junkbusters.com/
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it
|
|
||||||
and/or modify it under the terms of the GNU General
|
|
||||||
Public License as published by the Free Software
|
|
||||||
Foundation; either version 2 of the License, or (at
|
|
||||||
your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will
|
|
||||||
be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
License for more details.
|
|
||||||
|
|
||||||
The GNU General Public License should be included with
|
|
||||||
this file. If not, you can view it at
|
|
||||||
http://www.gnu.org/copyleft/gpl.html
|
|
||||||
or write to the Free Software Foundation, Inc., 59
|
|
||||||
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
@ -1,173 +0,0 @@
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/INSTALL,v $
|
|
||||||
*
|
|
||||||
* Purpose : INSTALL file to help with installing from source.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
||||||
* or write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
To build Privoxy from source, autoconf, GNU make (gmake), and, of course, a C
|
|
||||||
compiler like gcc are required.
|
|
||||||
|
|
||||||
When building from a source tarball, first unpack the source:
|
|
||||||
|
|
||||||
tar xzvf privoxy-3.0.12-stable-src.tar.gz
|
|
||||||
cd privoxy-3.0.12-stable
|
|
||||||
|
|
||||||
|
|
||||||
For retrieving the current CVS sources, you'll need a CVS client installed.
|
|
||||||
Note that sources from CVS are typically development quality, and may not be
|
|
||||||
stable, or well tested. To download CVS source, check the Sourceforge
|
|
||||||
documentation, which might give commands like:
|
|
||||||
|
|
||||||
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
|
|
||||||
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
|
||||||
cd current
|
|
||||||
|
|
||||||
|
|
||||||
This will create a directory named current/, which will contain the source
|
|
||||||
tree.
|
|
||||||
|
|
||||||
You can also check out any Privoxy "branch", just exchange the current name
|
|
||||||
with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs tree).
|
|
||||||
|
|
||||||
It is also strongly recommended to not run Privoxy as root. You should
|
|
||||||
configure/install/run Privoxy as an unprivileged user, preferably by creating a
|
|
||||||
"privoxy" user and group just for this purpose. See your local documentation
|
|
||||||
for the correct command line to do add new users and groups (something like
|
|
||||||
adduser, but the command syntax may vary from platform to platform).
|
|
||||||
|
|
||||||
/etc/passwd might then look like:
|
|
||||||
|
|
||||||
privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell
|
|
||||||
|
|
||||||
|
|
||||||
And then /etc/group, like:
|
|
||||||
|
|
||||||
privoxy:*:7777:
|
|
||||||
|
|
||||||
|
|
||||||
Some binary packages may do this for you.
|
|
||||||
|
|
||||||
Then, to build from either unpacked tarball or CVS source:
|
|
||||||
|
|
||||||
autoheader
|
|
||||||
autoconf
|
|
||||||
./configure # (--help to see options)
|
|
||||||
make # (the make from GNU, sometimes called gmake)
|
|
||||||
su # Possibly required
|
|
||||||
make -n install # (to see where all the files will go)
|
|
||||||
make -s install # (to really install, -s to silence output)
|
|
||||||
|
|
||||||
|
|
||||||
Using GNU make, you can have the first four steps automatically done for you by
|
|
||||||
just typing:
|
|
||||||
|
|
||||||
make
|
|
||||||
|
|
||||||
|
|
||||||
in the freshly downloaded or unpacked source directory.
|
|
||||||
|
|
||||||
To build an executable with security enhanced features so that users cannot
|
|
||||||
easily bypass the proxy (e.g. "Go There Anyway"), or alter their own
|
|
||||||
configurations, configure like this:
|
|
||||||
|
|
||||||
./configure --disable-toggle --disable-editor --disable-force
|
|
||||||
|
|
||||||
|
|
||||||
Then build as above. In Privoxy 3.0.7 and later, all of these options can also
|
|
||||||
be disabled through the configuration file.
|
|
||||||
|
|
||||||
WARNING: If installing as root, the install will fail unless a non-root user or
|
|
||||||
group is specified, or a privoxy user and group already exist on the system. If
|
|
||||||
a non-root user is specified, and no group, then the installation will try to
|
|
||||||
also use a group of the same name as "user". If a group is specified (and no
|
|
||||||
user), then the support files will be installed as writable by that group, and
|
|
||||||
owned by the user running the installation.
|
|
||||||
|
|
||||||
configure accepts --with-user and --with-group options for setting user and
|
|
||||||
group ownership of the configuration files (which need to be writable by the
|
|
||||||
daemon). The specified user must already exist. When starting Privoxy, it must
|
|
||||||
be run as this same user to insure write access to configuration and log files!
|
|
||||||
|
|
||||||
Alternately, you can specify user and group on the make command line, but be
|
|
||||||
sure both already exist:
|
|
||||||
|
|
||||||
make -s install USER=privoxy GROUP=privoxy
|
|
||||||
|
|
||||||
|
|
||||||
The default installation path for make install is /usr/local. This may of
|
|
||||||
course be customized with the various ./configure path options. If you are
|
|
||||||
doing an install to anywhere besides /usr/local, be sure to set the appropriate
|
|
||||||
paths with the correct configure options (./configure --help). Non-privileged
|
|
||||||
users must of course have write access permissions to wherever the target
|
|
||||||
installation is going.
|
|
||||||
|
|
||||||
If you do install to /usr/local, the install will use sysconfdir=$prefix/etc/
|
|
||||||
privoxy by default. All other destinations, and the direct usage of
|
|
||||||
--sysconfdir flag behave like normal, i.e. will not add the extra privoxy
|
|
||||||
directory. This is for a safer install, as there may already exist another
|
|
||||||
program that uses a file with the "config" name, and thus makes /usr/local/etc
|
|
||||||
cleaner.
|
|
||||||
|
|
||||||
If installing to /usr/local, the documentation will go by default to $prefix/
|
|
||||||
share/doc. But if this directory doesn't exist, it will then try $prefix/doc
|
|
||||||
and install there before creating a new $prefix/share/doc just for Privoxy.
|
|
||||||
|
|
||||||
Again, if the installs goes to /usr/local, the localstatedir (ie: var/) will
|
|
||||||
default to /var instead of $prefix/var so the logs will go to /var/log/privoxy
|
|
||||||
/, and the pid file will be created in /var/run/privoxy.pid.
|
|
||||||
|
|
||||||
make install will attempt to set the correct values in config (main
|
|
||||||
configuration file). You should check this to make sure all values are correct.
|
|
||||||
If appropriate, an init script will be installed, but it is up to the user to
|
|
||||||
determine how and where to start Privoxy. The init script should be checked for
|
|
||||||
correct paths and values, if anything other than a default install is done.
|
|
||||||
|
|
||||||
If install finds previous versions of local configuration files, most of these
|
|
||||||
will not be overwritten, and the new ones will be installed with a "new"
|
|
||||||
extension. default.action and default.filter will be overwritten. You will then
|
|
||||||
need to manually update the other installed configuration files as needed. The
|
|
||||||
default template files will be overwritten. If you have customized, local
|
|
||||||
templates, these should be stored safely in a separate directory and defined in
|
|
||||||
config by the "templdir" directive. It is of course wise to always back-up any
|
|
||||||
important configuration files "just in case". If a previous version of Privoxy
|
|
||||||
is already running, you will have to restart it manually.
|
|
||||||
|
|
||||||
For more detailed instructions on how to build Redhat RPMs, Windows
|
|
||||||
self-extracting installers, building on platforms with special requirements
|
|
||||||
etc, please consult the developer manual.
|
|
||||||
|
|
||||||
The simplest command line to start Privoxy is $path/privoxy --user=privoxy
|
|
||||||
$path/etc/privoxy/config. See privoxy --usage, or the man page, for other
|
|
||||||
options, and configuration.
|
|
||||||
|
|
|
@ -1,339 +0,0 @@
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Lesser General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License along
|
|
||||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Lesser General
|
|
||||||
Public License instead of this License.
|
|
|
@ -1,108 +0,0 @@
|
||||||
# $Id: Makefile,v 1.11 2006/07/18 14:48:45 david__schmidt Exp $
|
|
||||||
#
|
|
||||||
# Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
# Privoxy team. http://www.privoxy.org/
|
|
||||||
#
|
|
||||||
# Based on the Internet Junkbuster originally written
|
|
||||||
# by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
# Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it
|
|
||||||
# and/or modify it under the terms of the GNU General
|
|
||||||
# Public License as published by the Free Software
|
|
||||||
# Foundation; either version 2 of the License, or (at
|
|
||||||
# your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will
|
|
||||||
# be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
# PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
# License for more details.
|
|
||||||
#
|
|
||||||
# The GNU General Public License should be included with
|
|
||||||
# this file. If not, you can view it at
|
|
||||||
# http://www.gnu.org/copyleft/gpl.html
|
|
||||||
# or write to the Free Software Foundation, Inc., 59
|
|
||||||
# Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# $Log: Makefile,v $
|
|
||||||
# Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
|
||||||
# Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
# with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
#
|
|
||||||
# Revision 1.5.2.2 2002/10/25 02:44:23 hal9
|
|
||||||
# Port of make install, etc from main trunk. Needs testing! Add Slackware
|
|
||||||
# support, and other related changes. Update related docs.
|
|
||||||
#
|
|
||||||
# Revision 1.5.2.1 2002/08/05 17:46:13 oes
|
|
||||||
# Change make to gmake to fix auto-build on Solaris
|
|
||||||
#
|
|
||||||
# Revision 1.5 2002/04/11 12:51:34 oes
|
|
||||||
# Bugfix
|
|
||||||
#
|
|
||||||
# Revision 1.4 2002/04/09 16:38:10 oes
|
|
||||||
# Added option to run the whole build process
|
|
||||||
#
|
|
||||||
# Revision 1.3 2002/03/26 22:29:54 swa
|
|
||||||
# we have a new homepage!
|
|
||||||
#
|
|
||||||
# Revision 1.2 2002/03/24 13:25:42 swa
|
|
||||||
# name change related issues
|
|
||||||
#
|
|
||||||
# Revision 1.1 2001/12/01 11:24:29 jongfoster
|
|
||||||
# Will display a warning if non-GNU make is used
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
GNU_MAKE_CMD = gmake
|
|
||||||
MAKE_CMD = make
|
|
||||||
|
|
||||||
error:
|
|
||||||
@if [ -f GNUmakefile ]; then \
|
|
||||||
echo "***"; \
|
|
||||||
echo "*** You are not using the GNU version of Make - maybe it's called gmake"; \
|
|
||||||
echo "*** or it's in a different PATH? Please read INSTALL." ; \
|
|
||||||
echo "***"; \
|
|
||||||
exit 1; \
|
|
||||||
elif test -n "$(HOST_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
|
|
||||||
echo "***"; \
|
|
||||||
echo "*** You are not using GNU Make on Solaris, please make sure you do" ; \
|
|
||||||
echo "*** and re-run 'make' "; \
|
|
||||||
echo "***"; \
|
|
||||||
exit 1 ; \
|
|
||||||
elif test -n "$(MACHINE_ARCH)" && test -z "$(MAKE_VERSION)" ; then \
|
|
||||||
echo "***"; \
|
|
||||||
echo "*** You are not using GNU Make on FreeBSD, please make sure you do" ; \
|
|
||||||
echo "*** and re-run 'make' "; \
|
|
||||||
echo "***"; \
|
|
||||||
exit 1 ; \
|
|
||||||
else \
|
|
||||||
echo "***"; \
|
|
||||||
echo "*** To build this program, you must run"; \
|
|
||||||
echo "*** autoheader && autoconf && ./configure and then run GNU make."; \
|
|
||||||
echo "***"; \
|
|
||||||
echo -n "*** Shall I do this for you now? (y/n) "; \
|
|
||||||
read answer; \
|
|
||||||
if [ "$$answer" = "y" ]; then \
|
|
||||||
autoheader && autoconf && ./configure || exit 1; \
|
|
||||||
if $(GNU_MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
|
|
||||||
$(GNU_MAKE_CMD) ;\
|
|
||||||
elif $(MAKE_CMD) -v |grep GNU >/dev/null 2>/dev/null; then \
|
|
||||||
$(MAKE_CMD) ;\
|
|
||||||
else \
|
|
||||||
echo "Neither 'make' nor 'gmake' are GNU compatible!" ; \
|
|
||||||
echo "Please read INSTALL." ; \
|
|
||||||
exit 1 ; \
|
|
||||||
fi ;\
|
|
||||||
fi; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
.PHONY: error
|
|
||||||
|
|
||||||
#############################################################################
|
|
||||||
|
|
||||||
## Local Variables:
|
|
||||||
## tab-width: 3
|
|
||||||
## end:
|
|
|
@ -1,280 +0,0 @@
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/README,v $
|
|
||||||
*
|
|
||||||
* Purpose : README file to give a short intro.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
This README is included with Privoxy 3.0.12. See http://www.privoxy.org/ for
|
|
||||||
more information. The current code maturity level is "stable".
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Privoxy is a non-caching web proxy with advanced filtering capabilities for
|
|
||||||
enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and
|
|
||||||
tastes. It has application for both stand-alone systems and multi-user
|
|
||||||
networks.
|
|
||||||
|
|
||||||
Privoxy is Free Software and licensed under the GPL2.
|
|
||||||
|
|
||||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
Donations are welcome.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
1. IMPORTANT CHANGES
|
|
||||||
|
|
||||||
March 2009, Privoxy 3.0.12 is released.
|
|
||||||
|
|
||||||
This is primarily a bug fix release. See the "ChangeLog", and the "What's New"
|
|
||||||
section and the "Upgrader's Notes" in the User Manual for details.
|
|
||||||
|
|
||||||
February 2009, Privoxy 3.0.11 is released.
|
|
||||||
|
|
||||||
As usual there are changes that effect the configuration. See the "ChangeLog",
|
|
||||||
and the "What's New" section and the "Upgrader's Notes" in the User Manual for
|
|
||||||
details and specifics.
|
|
||||||
|
|
||||||
This is a stable release, and marks a departure for Privoxy development.
|
|
||||||
|
|
||||||
Previously, odd numbered releases were considered beta versions and were only
|
|
||||||
released at the end of the development cycle when the code was already believed
|
|
||||||
to be stable. Usually it was, so the stable release contained pretty much the
|
|
||||||
same code, but got a higher version number. In the future we intend to release
|
|
||||||
several snapshots between stable releases. There will probably still be about
|
|
||||||
two stable releases per year, but hopefully about six snapshots instead of the
|
|
||||||
two betas we have now. The intentions is to make testing without CVS access
|
|
||||||
easier.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
2. INSTALL
|
|
||||||
|
|
||||||
See the INSTALL file in this directory, for installing from raw source, and the
|
|
||||||
User Manual, for all other installation types.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
3. RUN
|
|
||||||
|
|
||||||
privoxy [--help] [--version] [--no-daemon] [--pidfile PIDFILE] [--user USER
|
|
||||||
[.GROUP]] [--chroot] [--pre-chroot-nslookup HOSTNAME ][config_file]
|
|
||||||
|
|
||||||
See the man page or User Manual for an explanation of each option, and other
|
|
||||||
configuration and usage issues.
|
|
||||||
|
|
||||||
If no config_file is specified on the command line, Privoxy will look for a
|
|
||||||
file named 'config' in the current directory (except Win32 which will look for
|
|
||||||
'config.txt'). If no config_file is found, Privoxy will fail to start.
|
|
||||||
|
|
||||||
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
|
||||||
|
|
||||||
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
4. CONFIGURATION
|
|
||||||
|
|
||||||
See: 'config', 'default.action', 'user.action', 'default.filter', and
|
|
||||||
'user.filter'. 'user.action' and 'user.filter' are for personal and local
|
|
||||||
configuration preferences. These are all well commented. Most of the magic is
|
|
||||||
in '*.action' files. 'user.action' should be used for any actions
|
|
||||||
customizations. On Unix-like systems, these files are typically installed in /
|
|
||||||
etc/privoxy. On Windows, then wherever the executable itself is installed.
|
|
||||||
There are many significant changes and advances from earlier versions. The User
|
|
||||||
Manual has an explanation of all configuration options, and examples: http://
|
|
||||||
www.privoxy.org/user-manual/.
|
|
||||||
|
|
||||||
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or whatever
|
|
||||||
you specify in the config file under 'listen-address'. DEFAULT is
|
|
||||||
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not
|
|
||||||
try it with FTP or other protocols for the simple reason it does not work.
|
|
||||||
|
|
||||||
The actions list can be configured via the web interface accessed via http://
|
|
||||||
p.p/, as well other options.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
5. DOCUMENTATION
|
|
||||||
|
|
||||||
There should be documentation in the 'doc' subdirectory. In particular, see the
|
|
||||||
User Manual there, the FAQ, and those interested in Privoxy development, should
|
|
||||||
look at developer-manual.
|
|
||||||
|
|
||||||
The source and configuration files are all well commented. The main
|
|
||||||
configuration files are: 'config', 'default.action', and 'default.filter'.
|
|
||||||
|
|
||||||
Included documentation may vary according to platform and packager. All
|
|
||||||
documentation is posted on http://www.privoxy.org, in case you don't have it,
|
|
||||||
or can't find it.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6. CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS
|
|
||||||
|
|
||||||
We value your feedback. In fact, we rely on it to improve Privoxy and its
|
|
||||||
configuration. However, please note the following hints, so we can provide you
|
|
||||||
with the best support:
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.1. Get Support
|
|
||||||
|
|
||||||
For casual users, our support forum at SourceForge is probably best suited:
|
|
||||||
http://sourceforge.net/tracker/?group_id=11118&atid=211118
|
|
||||||
|
|
||||||
All users are of course welcome to discuss their issues on the users mailing
|
|
||||||
list, where the developers also hang around.
|
|
||||||
|
|
||||||
Please don't sent private support requests to individual Privoxy developers,
|
|
||||||
either use the mailing lists or the support trackers.
|
|
||||||
|
|
||||||
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
|
||||||
addresses have to be accepted manually by a moderator. This may cause a delay
|
|
||||||
of several days and if you use a subject that doesn't clearly mention Privoxy
|
|
||||||
or one of its features, your message may be accidentally discarded as spam.
|
|
||||||
|
|
||||||
If you aren't subscribed, you should therefore spend a few seconds to come up
|
|
||||||
with a proper subject. Additionally you should make it clear that you want to
|
|
||||||
get CC'd. Otherwise some responses will be directed to the mailing list only,
|
|
||||||
and you won't see them.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.2. Reporting Problems
|
|
||||||
|
|
||||||
"Problems" for our purposes, come in two forms:
|
|
||||||
|
|
||||||
* Configuration issues, such as ads that slip through, or sites that don't
|
|
||||||
function properly due to one Privoxy "action" or another being turned "on".
|
|
||||||
|
|
||||||
* "Bugs" in the programming code that makes up Privoxy, such as that might
|
|
||||||
cause a crash.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.2.1. Reporting Ads or Other Configuration Problems
|
|
||||||
|
|
||||||
Please send feedback on ads that slipped through, innocent images that were
|
|
||||||
blocked, sites that don't work properly, and other configuration related
|
|
||||||
problem of default.action file, to http://sourceforge.net/tracker/?group_id=
|
|
||||||
11118&atid=460288, the Actions File Tracker.
|
|
||||||
|
|
||||||
New, improved default.action files may occasionally be made available based on
|
|
||||||
your feedback. These will be announced on the ijbswa-announce list and
|
|
||||||
available from our the files section of our project page.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.2.2. Reporting Bugs
|
|
||||||
|
|
||||||
Please report all bugs through our bug tracker: http://sourceforge.net/tracker
|
|
||||||
/?group_id=11118&atid=111118.
|
|
||||||
|
|
||||||
Before doing so, please make sure that the bug has not already been submitted
|
|
||||||
and observe the additional hints at the top of the submit form. If already
|
|
||||||
submitted, please feel free to add any info to the original report that might
|
|
||||||
help to solve the issue.
|
|
||||||
|
|
||||||
Please try to verify that it is a Privoxy bug, and not a browser or site bug or
|
|
||||||
documented behaviour that just happens to be different than what you expected.
|
|
||||||
If unsure, try toggling off Privoxy, and see if the problem persists.
|
|
||||||
|
|
||||||
If you are using your own custom configuration, please try the stock configs to
|
|
||||||
see if the problem is configuration related. If you're having problems with a
|
|
||||||
feature that is disabled by default, please ask around on the mailing list if
|
|
||||||
others can reproduce the problem.
|
|
||||||
|
|
||||||
If you aren't using the latest Privoxy version, the bug may have been found and
|
|
||||||
fixed in the meantime. We would appreciate if you could take the time to
|
|
||||||
upgrade to the latest version (or even the latest CVS snapshot) and verify that
|
|
||||||
your bug still exists.
|
|
||||||
|
|
||||||
Please be sure to provide the following information:
|
|
||||||
|
|
||||||
* The exact Privoxy version you are using (if you got the source from CVS,
|
|
||||||
please also provide the source code revisions as shown in http://
|
|
||||||
config.privoxy.org/show-version).
|
|
||||||
|
|
||||||
* The operating system and versions you run Privoxy on, (e.g. Windows XP
|
|
||||||
SP2), if you are using a Unix flavor, sending the output of "uname -a"
|
|
||||||
should do, in case of GNU/Linux, please also name the distribution.
|
|
||||||
|
|
||||||
* The name, platform, and version of the browser you were using (e.g.
|
|
||||||
Internet Explorer v5.5 for Mac).
|
|
||||||
|
|
||||||
* The URL where the problem occurred, or some way for us to duplicate the
|
|
||||||
problem (e.g. http://somesite.example.com/?somethingelse=123).
|
|
||||||
|
|
||||||
* Whether your version of Privoxy is one supplied by the Privoxy developers
|
|
||||||
via SourceForge, or if you got your copy somewhere else.
|
|
||||||
|
|
||||||
* Whether you are using Privoxy in tandem with another proxy such as Tor. If
|
|
||||||
so, please temporary disable the other proxy to see if the symptoms change.
|
|
||||||
|
|
||||||
* Whether you are using a personal firewall product. If so, does Privoxy work
|
|
||||||
without it?
|
|
||||||
|
|
||||||
* Any other pertinent information to help identify the problem such as config
|
|
||||||
or log file excerpts (yes, you should have log file entries for each action
|
|
||||||
taken).
|
|
||||||
|
|
||||||
You don't have to tell us your actual name when filing a problem report, but
|
|
||||||
please use a nickname so we can differentiate between your messages and the
|
|
||||||
ones entered by other "anonymous" users that may respond to your request if
|
|
||||||
they have the same problem or already found a solution.
|
|
||||||
|
|
||||||
Please also check the status of your request a few days after submitting it, as
|
|
||||||
we may request additional information. If you use a SF id, you should
|
|
||||||
automatically get a mail when someone responds to your request.
|
|
||||||
|
|
||||||
The appendix of the Privoxy User Manual also has helpful information on
|
|
||||||
understanding actions, and action debugging.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.3. Request New Features
|
|
||||||
|
|
||||||
You are welcome to submit ideas on new features or other proposals for
|
|
||||||
improvement through our feature request tracker at http://sourceforge.net/
|
|
||||||
tracker/?atid=361118&group_id=11118.
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
6.4. Other
|
|
||||||
|
|
||||||
For any other issues, feel free to use the mailing lists. Technically
|
|
||||||
interested users and people who wish to contribute to the project are also
|
|
||||||
welcome on the developers list! You can find an overview of all Privoxy-related
|
|
||||||
mailing lists, including list archives, at: http://sourceforge.net/mail/?
|
|
||||||
group_id=11118.
|
|
||||||
|
|
|
@ -1,495 +0,0 @@
|
||||||
#ifndef CONFIG_H_INCLUDED
|
|
||||||
#define CONFIG_H_INCLUDED
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : This file should be the first thing included in every
|
|
||||||
* .c file. (Before even system headers). It contains
|
|
||||||
* #define statements for various features. It was
|
|
||||||
* introduced because the compile command line started
|
|
||||||
* getting ludicrously long with feature defines.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: acconfig.h,v $
|
|
||||||
* Revision 1.36 2008/10/18 11:17:52 fabiankeil
|
|
||||||
* Connection keep-alive support is ready for testing,
|
|
||||||
* allow enabling it through the configure script.
|
|
||||||
*
|
|
||||||
* Revision 1.35 2008/04/06 15:18:33 fabiankeil
|
|
||||||
* Oh well, rename the --enable-pcre-host-patterns option to
|
|
||||||
* --enable-extended-host-patterns as it's not really PCRE syntax.
|
|
||||||
*
|
|
||||||
* Revision 1.34 2008/04/06 14:54:26 fabiankeil
|
|
||||||
* Use PCRE syntax in host patterns when configured
|
|
||||||
* with --enable-pcre-host-patterns.
|
|
||||||
*
|
|
||||||
* Revision 1.33 2006/12/17 19:15:26 fabiankeil
|
|
||||||
* Added ./configure switch for FEATURE_GRACEFUL_TERMINATION.
|
|
||||||
*
|
|
||||||
* Revision 1.32 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.27.2.4 2003/12/17 16:34:40 oes
|
|
||||||
* Cosmetics
|
|
||||||
*
|
|
||||||
* Revision 1.27.2.3 2003/03/27 16:03:19 oes
|
|
||||||
* Another shot at Bug #707467
|
|
||||||
*
|
|
||||||
* Revision 1.27.2.2 2003/03/21 14:39:12 oes
|
|
||||||
* Presumably fixed Bug #707467 by defining unix ifdef __unix__
|
|
||||||
*
|
|
||||||
* Revision 1.27.2.1 2002/08/10 11:22:31 oes
|
|
||||||
* - Add two AC_DEFINEs that indicate if the pcre*.h headers
|
|
||||||
* are located in a pcre/ subdir to the include path.
|
|
||||||
*
|
|
||||||
* Revision 1.27 2002/04/25 19:13:57 morcego
|
|
||||||
* Removed RPM release number declaration on configure.in
|
|
||||||
* Changed makefile to use given value for RPM_PACKAGEV when on uploading
|
|
||||||
* targets (will produce an error, explaining who to do it, if no value
|
|
||||||
* if provided).
|
|
||||||
*
|
|
||||||
* Revision 1.26 2002/04/11 11:00:21 oes
|
|
||||||
* Applied Moritz' fix for socklen_t on Solaris
|
|
||||||
*
|
|
||||||
* Revision 1.25 2002/04/06 20:38:01 jongfoster
|
|
||||||
* Renaming VC++ versions of config.h
|
|
||||||
*
|
|
||||||
* Revision 1.24 2002/04/04 00:36:36 gliptak
|
|
||||||
* always use pcre for matching
|
|
||||||
*
|
|
||||||
* Revision 1.23 2002/04/03 22:28:03 gliptak
|
|
||||||
* Removed references to gnu_regex
|
|
||||||
*
|
|
||||||
* Revision 1.22 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.21 2002/03/24 14:31:08 swa
|
|
||||||
* remove more crappy files. set RPM
|
|
||||||
* release version correctly.
|
|
||||||
*
|
|
||||||
* Revision 1.20 2002/03/24 13:46:44 swa
|
|
||||||
* name change related issue.
|
|
||||||
*
|
|
||||||
* Revision 1.19 2002/03/24 13:25:42 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.18 2002/03/08 16:40:28 oes
|
|
||||||
* Added FEATURE_NO_GIFS
|
|
||||||
*
|
|
||||||
* Revision 1.17 2002/03/04 17:52:44 oes
|
|
||||||
* Deleted PID_FILE_PATH
|
|
||||||
*
|
|
||||||
* Revision 1.16 2002/01/10 12:36:18 oes
|
|
||||||
* Moved HAVE_*_R to acconfig.h, where they belong.
|
|
||||||
*
|
|
||||||
* Revision 1.15 2001/12/30 14:07:31 steudten
|
|
||||||
* - Add signal handling (unix)
|
|
||||||
* - Add SIGHUP handler (unix)
|
|
||||||
* - Add creation of pidfile (unix)
|
|
||||||
* - Add action 'top' in rc file (RH)
|
|
||||||
* - Add entry 'SIGNALS' to manpage
|
|
||||||
* - Add exit message to logfile (unix)
|
|
||||||
*
|
|
||||||
* Revision 1.14 2001/10/23 21:24:09 jongfoster
|
|
||||||
* Support for FEATURE_CGI_EDIT_ACTIONS
|
|
||||||
*
|
|
||||||
* Revision 1.13 2001/10/07 15:30:41 oes
|
|
||||||
* Removed FEATURE_DENY_GZIP
|
|
||||||
*
|
|
||||||
* Revision 1.12 2001/09/13 19:56:37 jongfoster
|
|
||||||
* Reverting to revision 1.10 - previous checking was majorly broken.
|
|
||||||
*
|
|
||||||
* Revision 1.10 2001/07/30 22:08:36 jongfoster
|
|
||||||
* Tidying up #defines:
|
|
||||||
* - All feature #defines are now of the form FEATURE_xxx
|
|
||||||
* - Permanently turned off WIN_GUI_EDIT
|
|
||||||
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
|
||||||
*
|
|
||||||
* Revision 1.9 2001/07/29 19:08:52 jongfoster
|
|
||||||
* Changing _CONFIG_H to CONFIG_H_INCLUDED.
|
|
||||||
* Also added protection against using a MinGW32 or CygWin version of
|
|
||||||
* config.h from within MS Visual C++
|
|
||||||
*
|
|
||||||
* Revision 1.8 2001/07/29 17:09:17 jongfoster
|
|
||||||
* Major changes to build system in order to fix these bugs:
|
|
||||||
* - pthreads under Linux was broken - changed -lpthread to -pthread
|
|
||||||
* - Compiling in MinGW32 mode under CygWin now correctly detects
|
|
||||||
* which shared libraries are available
|
|
||||||
* - Solaris support (?) (Not tested under Solaris yet)
|
|
||||||
*
|
|
||||||
* Revision 1.7 2001/07/25 22:53:59 jongfoster
|
|
||||||
* Will #error if pthreads is enabled under BeOs
|
|
||||||
*
|
|
||||||
* Revision 1.6 2001/07/15 17:54:29 jongfoster
|
|
||||||
* Renaming #define STATIC to STATIC_PCRE
|
|
||||||
* Adding new #define FEATURE_PTHREAD that will be used to enable
|
|
||||||
* POSIX threads support.
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/07/13 13:48:37 oes
|
|
||||||
* - (Fix:) Copied CODE_STATUS #define from config.h.in
|
|
||||||
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
|
|
||||||
* and removed PCRE.
|
|
||||||
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
|
|
||||||
* - Moved STATIC (for pcre) here from Makefile.in
|
|
||||||
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
|
|
||||||
* libpcrs
|
|
||||||
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/05/29 09:50:24 jongfoster
|
|
||||||
* Unified blocklist/imagelist/permissionslist.
|
|
||||||
* File format is still under discussion, but the internal changes
|
|
||||||
* are (mostly) done.
|
|
||||||
*
|
|
||||||
* Also modified interceptor behaviour:
|
|
||||||
* - We now intercept all URLs beginning with one of the following
|
|
||||||
* prefixes (and *only* these prefixes):
|
|
||||||
* * http://i.j.b/
|
|
||||||
* * http://ijbswa.sf.net/config/
|
|
||||||
* * http://ijbswa.sourceforge.net/config/
|
|
||||||
* - New interceptors "home page" - go to http://i.j.b/ to see it.
|
|
||||||
* - Internal changes so that intercepted and fast redirect pages
|
|
||||||
* are not replaced with an image.
|
|
||||||
* - Interceptors now have the option to send a binary page direct
|
|
||||||
* to the client. (i.e. ijb-send-banner uses this)
|
|
||||||
* - Implemented show-url-info interceptor. (Which is why I needed
|
|
||||||
* the above interceptors changes - a typical URL is
|
|
||||||
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
|
|
||||||
* The previous mechanism would not have intercepted that, and
|
|
||||||
* if it had been intercepted then it then it would have replaced
|
|
||||||
* it with an image.)
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/05/26 01:26:34 jongfoster
|
|
||||||
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
|
|
||||||
* This #define cannot be set from ./configure - there's no point, it
|
|
||||||
* doesn't work yet. See feature request # 425722
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/05/22 17:43:35 oes
|
|
||||||
*
|
|
||||||
* - Enabled filtering banners by size rather than URL
|
|
||||||
* by adding patterns that replace all standard banner
|
|
||||||
* sizes with the "Junkbuster" gif to the re_filterfile
|
|
||||||
*
|
|
||||||
* - Enabled filtering WebBugs by providing a pattern
|
|
||||||
* which kills all 1x1 images
|
|
||||||
*
|
|
||||||
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
|
|
||||||
* which is selected by the (nonstandard and therefore
|
|
||||||
* capital) letter 'U' in the option string.
|
|
||||||
* It causes the quantifiers to be ungreedy by default.
|
|
||||||
* Appending a ? turns back to greedy (!).
|
|
||||||
*
|
|
||||||
* - Added a new interceptor ijb-send-banner, which
|
|
||||||
* sends back the "Junkbuster" gif. Without imagelist or
|
|
||||||
* MSIE detection support, or if tinygif = 1, or the
|
|
||||||
* URL isn't recognized as an imageurl, a lame HTML
|
|
||||||
* explanation is sent instead.
|
|
||||||
*
|
|
||||||
* - Added new feature, which permits blocking remote
|
|
||||||
* script redirects and firing back a local redirect
|
|
||||||
* to the browser.
|
|
||||||
* The feature is conditionally compiled, i.e. it
|
|
||||||
* can be disabled with --disable-fast-redirects,
|
|
||||||
* plus it must be activated by a "fast-redirects"
|
|
||||||
* line in the config file, has its own log level
|
|
||||||
* and of course wants to be displayed by show-proxy-args
|
|
||||||
* Note: Boy, all the #ifdefs in 1001 locations and
|
|
||||||
* all the fumbling with configure.in and acconfig.h
|
|
||||||
* were *way* more work than the feature itself :-(
|
|
||||||
*
|
|
||||||
* - Because a generic redirect template was needed for
|
|
||||||
* this, tinygif = 3 now uses the same.
|
|
||||||
*
|
|
||||||
* - Moved GIFs, and other static HTTP response templates
|
|
||||||
* to project.h
|
|
||||||
*
|
|
||||||
* - Many minor fixes
|
|
||||||
*
|
|
||||||
* - Removed some >400 CRs again (Jon, you really worked
|
|
||||||
* a lot! ;-)
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
|
|
||||||
* Initial import of version 2.9.3 source tree
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
@TOP@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Version number - Major (X._._)
|
|
||||||
*/
|
|
||||||
#undef VERSION_MAJOR
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Version number - Minor (_.X._)
|
|
||||||
*/
|
|
||||||
#undef VERSION_MINOR
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Version number - Point (_._.X)
|
|
||||||
*/
|
|
||||||
#undef VERSION_POINT
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Version number, as a string
|
|
||||||
*/
|
|
||||||
#undef VERSION
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Status of the code: "alpha", "beta" or "stable".
|
|
||||||
*/
|
|
||||||
#undef CODE_STATUS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Should pcre be statically built in instead of linkling with libpcre?
|
|
||||||
* (This is determined by configure depending on the availiability of
|
|
||||||
* libpcre and user preferences). The name is ugly, but pcre needs it.
|
|
||||||
* Don't bother to change this here! Use configure instead.
|
|
||||||
*/
|
|
||||||
#undef STATIC_PCRE
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Should pcrs be statically built in instead of linkling with libpcrs?
|
|
||||||
* (This is determined by configure depending on the availiability of
|
|
||||||
* libpcrs and user preferences).
|
|
||||||
* Don't bother to change this here! Use configure instead.
|
|
||||||
*/
|
|
||||||
#undef STATIC_PCRS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allows the use of an ACL to control access to the proxy by IP address.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_ACL
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enables the web-based configuration (actionsfile) editor. If you
|
|
||||||
* have a shared proxy, you might want to turn this off.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_CGI_EDIT_ACTIONS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allows the use of jar files to capture cookies.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_COOKIE_JAR
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Locally redirect remote script-redirect URLs
|
|
||||||
*/
|
|
||||||
#undef FEATURE_FAST_REDIRECTS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Bypass filtering for 1 page only
|
|
||||||
*/
|
|
||||||
#undef FEATURE_FORCE_LOAD
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow blocking using images as well as HTML.
|
|
||||||
* If you do not define this then everything is blocked as HTML.
|
|
||||||
*
|
|
||||||
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_IMAGE_BLOCKING
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Detect image requests automatically for MSIE. Will fall back to
|
|
||||||
* other image-detection methods (i.e. "+image" permission) for other
|
|
||||||
* browsers.
|
|
||||||
*
|
|
||||||
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
|
|
||||||
*
|
|
||||||
* It detects the following header pair as an image request:
|
|
||||||
*
|
|
||||||
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
|
||||||
* Accept: * / *
|
|
||||||
*
|
|
||||||
* And the following as a HTML request:
|
|
||||||
*
|
|
||||||
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
|
|
||||||
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
|
|
||||||
*
|
|
||||||
* And no, I haven't got that backwards - IE is being wierd.
|
|
||||||
*
|
|
||||||
* Known limitations:
|
|
||||||
* 1) If you press shift-reload on a blocked HTML page, you get
|
|
||||||
* the image "blocked" page, not the HTML "blocked" page.
|
|
||||||
* 2) Once an image "blocked" page has been sent, viewing it
|
|
||||||
* in it's own browser window *should* bring up the HTML
|
|
||||||
* "blocked" page, but it doesn't. You need to clear the
|
|
||||||
* browser cache to get the HTML version again.
|
|
||||||
*
|
|
||||||
* These limitations are due to IE making inconsistent choices
|
|
||||||
* about which "Accept:" header to send.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_IMAGE_DETECT_MSIE
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Kills JavaScript popups - window.open, onunload, etc.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_KILL_POPUPS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use PNG instead of GIF for built-in images
|
|
||||||
*/
|
|
||||||
#undef FEATURE_NO_GIFS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow to shutdown Privoxy through the webinterface.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_GRACEFUL_TERMINATION
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow PCRE syntax in host patterns.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_EXTENDED_HOST_PATTERNS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Keep outgoing connections alive if possible.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_CONNECTION_KEEP_ALIVE
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use POSIX threads instead of native threads.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_PTHREAD
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Enables statistics function.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_STATISTICS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allow Privoxy to be "disabled" so it is just a normal non-blocking
|
|
||||||
* non-anonymizing proxy. This is useful if you're trying to access a
|
|
||||||
* blocked or broken site - just change the setting in the config file,
|
|
||||||
* or use the handy "Disable" menu option in the Windows GUI.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_TOGGLE
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Allows the use of trust files.
|
|
||||||
*/
|
|
||||||
#undef FEATURE_TRUST
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Defined on Solaris only. Makes the system libraries thread safe.
|
|
||||||
*/
|
|
||||||
#undef _REENTRANT
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Defined on Solaris only. Without this, many important functions are not
|
|
||||||
* defined in the system headers.
|
|
||||||
*/
|
|
||||||
#undef __EXTENSIONS__
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Defined always.
|
|
||||||
* FIXME: Don't know what it does or why we need it.
|
|
||||||
* (presumably something to do with MultiThreading?)
|
|
||||||
*/
|
|
||||||
#undef __MT__
|
|
||||||
|
|
||||||
/* If the (nonstandard and thread-safe) function gethostbyname_r
|
|
||||||
* is available, select which signature to use
|
|
||||||
*/
|
|
||||||
#undef HAVE_GETHOSTBYNAME_R_6_ARGS
|
|
||||||
#undef HAVE_GETHOSTBYNAME_R_5_ARGS
|
|
||||||
#undef HAVE_GETHOSTBYNAME_R_3_ARGS
|
|
||||||
|
|
||||||
/* If the (nonstandard and thread-safe) function gethostbyaddr_r
|
|
||||||
* is available, select which signature to use
|
|
||||||
*/
|
|
||||||
#undef HAVE_GETHOSTBYADDR_R_8_ARGS
|
|
||||||
#undef HAVE_GETHOSTBYADDR_R_7_ARGS
|
|
||||||
#undef HAVE_GETHOSTBYADDR_R_5_ARGS
|
|
||||||
|
|
||||||
/* Defined if you have gmtime_r and localtime_r with a signature
|
|
||||||
* of (struct time *, struct tm *)
|
|
||||||
*/
|
|
||||||
#undef HAVE_GMTIME_R
|
|
||||||
#undef HAVE_LOCALTIME_R
|
|
||||||
|
|
||||||
/* Define to 'int' if <sys/socket.h> doesn't have it.
|
|
||||||
*/
|
|
||||||
#undef socklen_t
|
|
||||||
|
|
||||||
/* Define if pcre.h must be included as <pcre/pcre.h>
|
|
||||||
*/
|
|
||||||
#undef PCRE_H_IN_SUBDIR
|
|
||||||
|
|
||||||
/* Define if pcreposix.h must be included as <pcre/pcreposix.h>
|
|
||||||
*/
|
|
||||||
#undef PCREPOSIX_H_IN_SUBDIR
|
|
||||||
|
|
||||||
@BOTTOM@
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Defined always.
|
|
||||||
* FIXME: Don't know what it does or why we need it.
|
|
||||||
* (presumably something to do with ANSI Standard C?)
|
|
||||||
*/
|
|
||||||
#ifndef __STDC__
|
|
||||||
#define __STDC__ 1
|
|
||||||
#endif /* ndef __STDC__ */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Need to set up this define only for the Pthreads library for
|
|
||||||
* Win32, available from http://sources.redhat.com/pthreads-win32/
|
|
||||||
*/
|
|
||||||
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
|
|
||||||
#define __CLEANUP_C
|
|
||||||
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* BEOS does not currently support POSIX threads.
|
|
||||||
* This *should* be detected by ./configure, but let's be sure.
|
|
||||||
*/
|
|
||||||
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
|
|
||||||
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
|
|
||||||
|
|
||||||
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp
|
|
||||||
* symbol unix; it defines __unix__ and sometimes not even that:
|
|
||||||
*/
|
|
||||||
#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix)
|
|
||||||
#define unix 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* It's too easy to accidentally use a Cygwin or MinGW32 version of config.h
|
|
||||||
* under VC++, and it usually gives many wierd error messages. Let's make
|
|
||||||
* the error messages understandable, by bailing out now.
|
|
||||||
*/
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option.
|
|
||||||
#endif /* def _MSC_VER */
|
|
||||||
|
|
||||||
#endif /* CONFIG_H_INCLUDED */
|
|
|
@ -1,306 +0,0 @@
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/actionlist.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Master list of supported actions.
|
|
||||||
* Not really a header, since it generates code.
|
|
||||||
* This is included (3 times!) from actions.c
|
|
||||||
* Each time, the following macros are defined to
|
|
||||||
* suitable values beforehand:
|
|
||||||
* DEFINE_ACTION_MULTI()
|
|
||||||
* DEFINE_ACTION_STRING()
|
|
||||||
* DEFINE_ACTION_BOOL()
|
|
||||||
* DEFINE_ACTION_ALIAS
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: actionlist.h,v $
|
|
||||||
* Revision 1.36 2008/09/20 10:04:33 fabiankeil
|
|
||||||
* Remove hide-forwarded-for-headers action which has
|
|
||||||
* been obsoleted by change-x-forwarded-for{block}.
|
|
||||||
*
|
|
||||||
* Revision 1.35 2008/09/19 15:43:54 fabiankeil
|
|
||||||
* Fix sorting.
|
|
||||||
*
|
|
||||||
* Revision 1.34 2008/09/19 15:26:28 fabiankeil
|
|
||||||
* Add change-x-forwarded-for{} action to block or add
|
|
||||||
* X-Forwarded-For headers. Mostly based on code removed
|
|
||||||
* before 3.0.7.
|
|
||||||
*
|
|
||||||
* Revision 1.33 2008/03/29 12:13:45 fabiankeil
|
|
||||||
* Remove send-wafer and send-vanilla-wafer actions.
|
|
||||||
*
|
|
||||||
* Revision 1.32 2008/03/28 15:13:42 fabiankeil
|
|
||||||
* Remove inspect-jpegs action.
|
|
||||||
*
|
|
||||||
* Revision 1.31 2008/03/27 18:27:20 fabiankeil
|
|
||||||
* Remove kill-popups action.
|
|
||||||
*
|
|
||||||
* Revision 1.30 2008/03/04 18:30:34 fabiankeil
|
|
||||||
* Remove the treat-forbidden-connects-like-blocks action. We now
|
|
||||||
* use the "blocked" page for forbidden CONNECT requests by default.
|
|
||||||
*
|
|
||||||
* Revision 1.29 2008/03/01 14:00:43 fabiankeil
|
|
||||||
* Let the block action take the reason for the block
|
|
||||||
* as argument and show it on the "blocked" page.
|
|
||||||
*
|
|
||||||
* Revision 1.28 2007/12/11 21:08:29 fabiankeil
|
|
||||||
* Let the CGI editor suggest a forward-override
|
|
||||||
* parameter whose syntax is actually valid.
|
|
||||||
*
|
|
||||||
* Revision 1.27 2007/11/10 15:04:08 fabiankeil
|
|
||||||
* Tell the CGI editor about +hide-referrer{conditional-forge}.
|
|
||||||
*
|
|
||||||
* Revision 1.26 2007/06/01 16:54:28 fabiankeil
|
|
||||||
* Add forward-override{} to change the forwarding settings through
|
|
||||||
* action sections. This is mainly interesting to forward different
|
|
||||||
* clients differently (for example based on User-Agent or request
|
|
||||||
* origin).
|
|
||||||
*
|
|
||||||
* Revision 1.25 2007/04/15 16:39:20 fabiankeil
|
|
||||||
* Introduce tags as alternative way to specify which
|
|
||||||
* actions apply to a request. At the moment tags can be
|
|
||||||
* created based on client and server headers.
|
|
||||||
*
|
|
||||||
* Revision 1.24 2007/03/20 15:16:34 fabiankeil
|
|
||||||
* Use dedicated header filter actions instead of abusing "filter".
|
|
||||||
* Replace "filter-client-headers" and "filter-client-headers"
|
|
||||||
* with "server-header-filter" and "client-header-filter".
|
|
||||||
*
|
|
||||||
* Revision 1.23 2006/10/09 10:26:18 fabiankeil
|
|
||||||
* Changed the path in set-image-blocker's redirection default to
|
|
||||||
* "send-banner?type=pattern" instead of "show-banner?type=pattern"
|
|
||||||
* which isn't caught by Privoxy. Fixes BR 1573468.
|
|
||||||
*
|
|
||||||
* Changed hide-user-agent's default value to "Privoxy VERSION".
|
|
||||||
*
|
|
||||||
* Changed hide-referrer's default fake value to "http://www.privoxy.org/".
|
|
||||||
* A static referrer is obviously fake anyway, so we might as well
|
|
||||||
* advertise ourselves.
|
|
||||||
*
|
|
||||||
* Revision 1.22 2006/09/01 17:14:18 hal9
|
|
||||||
* Re-ordered the actions list so that they display in the actions editor in
|
|
||||||
* alphabetical order. Some of the new actions were "out of order".
|
|
||||||
*
|
|
||||||
* Revision 1.21 2006/08/14 08:25:19 fabiankeil
|
|
||||||
* Split filter-headers{} into filter-client-headers{}
|
|
||||||
* and filter-server-headers{}.
|
|
||||||
* Added parse_header_time() to share some code.
|
|
||||||
* Replaced timegm() with mktime().
|
|
||||||
*
|
|
||||||
* Revision 1.20 2006/08/03 02:46:41 david__schmidt
|
|
||||||
* Incorporate Fabian Keil's patch work:
http://www.fabiankeil.de/sourcecode/privoxy/
|
|
||||||
*
|
|
||||||
* Revision 1.19 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.17.2.3 2004/10/03 12:53:32 david__schmidt
|
|
||||||
* Add the ability to check jpeg images for invalid
|
|
||||||
* lengths of comment blocks. Defensive strategy
|
|
||||||
* against the exploit:
|
|
||||||
* Microsoft Security Bulletin MS04-028
|
|
||||||
* Buffer Overrun in JPEG Processing (GDI+) Could
|
|
||||||
* Allow Code Execution (833987)
|
|
||||||
* Enabled with +inspect-jpegs in actions files.
|
|
||||||
*
|
|
||||||
* Revision 1.17.2.2 2002/09/25 15:25:25 oes
|
|
||||||
* Added more aliases for prehistoric action names
|
|
||||||
*
|
|
||||||
* Revision 1.17.2.1 2002/08/02 12:50:47 oes
|
|
||||||
* Consistency with docs: Change default name for action from hide-referer to hide-referrer
|
|
||||||
*
|
|
||||||
* Revision 1.17 2002/05/14 21:25:55 oes
|
|
||||||
* Renamed prevent-(setting/reading)-cookies to crunch-(incoming/outgoing)-cookies
|
|
||||||
*
|
|
||||||
* Revision 1.16 2002/04/24 02:15:18 oes
|
|
||||||
* Renamed actions as discussed, Aliased old action names to new ones.
|
|
||||||
*
|
|
||||||
* Revision 1.15 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.14 2002/03/24 16:32:08 jongfoster
|
|
||||||
* Removing logo option
|
|
||||||
*
|
|
||||||
* Revision 1.13 2002/03/24 15:23:33 jongfoster
|
|
||||||
* Name changes
|
|
||||||
*
|
|
||||||
* Revision 1.12 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.11 2002/03/12 01:42:49 oes
|
|
||||||
* Introduced modular filters
|
|
||||||
*
|
|
||||||
* Revision 1.10 2002/03/08 18:19:14 jongfoster
|
|
||||||
* Adding +image-blocker{pattern} option to edit interface
|
|
||||||
*
|
|
||||||
* Revision 1.9 2001/11/22 21:58:41 jongfoster
|
|
||||||
* Adding action +no-cookies-keep
|
|
||||||
*
|
|
||||||
* Revision 1.8 2001/10/10 16:42:52 oes
|
|
||||||
* Fixed a bug, Added +limit-connect string action
|
|
||||||
*
|
|
||||||
* Revision 1.7 2001/10/07 15:33:59 oes
|
|
||||||
* Introduced a +no-compression action
|
|
||||||
* Introduced a +downgrade action
|
|
||||||
*
|
|
||||||
* Revision 1.6 2001/09/16 15:47:37 jongfoster
|
|
||||||
* First version of CGI-based edit interface. This is very much a
|
|
||||||
* work-in-progress, and you can't actually use it to edit anything
|
|
||||||
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
|
||||||
* to have any effect.
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/07/18 12:27:03 oes
|
|
||||||
* Changed deanimate-gifs to string action
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/07/13 13:52:12 oes
|
|
||||||
* - Formatting
|
|
||||||
* - Introduced new action ACTION_DEANIMATE
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/06/07 23:03:56 jongfoster
|
|
||||||
* Added standard comment at top of file.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#if !(defined(DEFINE_ACTION_BOOL) && defined(DEFINE_ACTION_MULTI) && defined(DEFINE_ACTION_STRING))
|
|
||||||
#error Please define lots of macros before including "actionlist.h".
|
|
||||||
#endif /* !defined(all the DEFINE_ACTION_xxx macros) */
|
|
||||||
|
|
||||||
#ifndef DEFINE_CGI_PARAM_RADIO
|
|
||||||
#define DEFINE_CGI_PARAM_RADIO(name, bit, index, value, is_default)
|
|
||||||
#define DEFINE_CGI_PARAM_CUSTOM(name, bit, index, default_val)
|
|
||||||
#define DEFINE_CGI_PARAM_NO_RADIO(name, bit, index, default_val)
|
|
||||||
#endif /* ndef DEFINE_CGI_PARAM_RADIO */
|
|
||||||
|
|
||||||
DEFINE_ACTION_MULTI ("add-header", ACTION_MULTI_ADD_HEADER)
|
|
||||||
DEFINE_ACTION_STRING ("block", ACTION_BLOCK, ACTION_STRING_BLOCK)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("block", ACTION_BLOCK, ACTION_STRING_BLOCK, "No reason specified.")
|
|
||||||
DEFINE_ACTION_STRING ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("change-x-forwarded-for", ACTION_CHANGE_X_FORWARDED_FOR, ACTION_STRING_CHANGE_X_FORWARDED_FOR, "add", 1)
|
|
||||||
DEFINE_ACTION_MULTI ("client-header-filter", ACTION_MULTI_CLIENT_HEADER_FILTER)
|
|
||||||
DEFINE_ACTION_MULTI ("client-header-tagger", ACTION_MULTI_CLIENT_HEADER_TAGGER)
|
|
||||||
DEFINE_ACTION_STRING ("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("content-type-overwrite", ACTION_CONTENT_TYPE_OVERWRITE, ACTION_STRING_CONTENT_TYPE, "text/html")
|
|
||||||
DEFINE_ACTION_STRING ("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("crunch-client-header", ACTION_CRUNCH_CLIENT_HEADER, ACTION_STRING_CLIENT_HEADER, "X-Whatever:")
|
|
||||||
DEFINE_ACTION_BOOL ("crunch-if-none-match", ACTION_CRUNCH_IF_NONE_MATCH)
|
|
||||||
DEFINE_ACTION_BOOL ("crunch-incoming-cookies", ACTION_NO_COOKIE_SET)
|
|
||||||
DEFINE_ACTION_BOOL ("crunch-outgoing-cookies", ACTION_NO_COOKIE_READ)
|
|
||||||
DEFINE_ACTION_STRING ("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("crunch-server-header", ACTION_CRUNCH_SERVER_HEADER, ACTION_STRING_SERVER_HEADER, "X-Whatever:")
|
|
||||||
DEFINE_ACTION_STRING ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "first", 0)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("deanimate-gifs", ACTION_DEANIMATE, ACTION_STRING_DEANIMATE, "last", 1)
|
|
||||||
DEFINE_ACTION_BOOL ("downgrade-http-version", ACTION_DOWNGRADE)
|
|
||||||
DEFINE_ACTION_STRING ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "simple-check", 0)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("fast-redirects", ACTION_FAST_REDIRECTS, ACTION_STRING_FAST_REDIRECTS, "check-decoded-url", 1)
|
|
||||||
DEFINE_ACTION_MULTI ("filter", ACTION_MULTI_FILTER)
|
|
||||||
DEFINE_ACTION_BOOL ("force-text-mode", ACTION_FORCE_TEXT_MODE)
|
|
||||||
DEFINE_ACTION_STRING ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("forward-override", ACTION_FORWARD_OVERRIDE, ACTION_STRING_FORWARD_OVERRIDE, "forward .")
|
|
||||||
DEFINE_ACTION_BOOL ("handle-as-empty-document", ACTION_HANDLE_AS_EMPTY_DOCUMENT)
|
|
||||||
DEFINE_ACTION_BOOL ("handle-as-image", ACTION_IMAGE)
|
|
||||||
DEFINE_ACTION_STRING ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("hide-accept-language", ACTION_HIDE_ACCEPT_LANGUAGE, ACTION_STRING_LANGUAGE, "de-de")
|
|
||||||
DEFINE_ACTION_STRING ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("hide-content-disposition", ACTION_HIDE_CONTENT_DISPOSITION, ACTION_STRING_CONTENT_DISPOSITION, "attachment; filename=WHATEVER.txt")
|
|
||||||
DEFINE_ACTION_STRING ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "block", 1)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("hide-from-header", ACTION_HIDE_FROM, ACTION_STRING_FROM, "spam_me_senseless@sittingduck.xyz")
|
|
||||||
DEFINE_ACTION_STRING ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("hide-if-modified-since", ACTION_HIDE_IF_MODIFIED_SINCE, ACTION_STRING_IF_MODIFIED_SINCE, "-1")
|
|
||||||
DEFINE_ACTION_STRING ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-forge", 3)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "conditional-block", 2)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "forge", 1)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("hide-referrer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER, "http://www.privoxy.org/")
|
|
||||||
DEFINE_ACTION_STRING ("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("hide-user-agent", ACTION_HIDE_USER_AGENT, ACTION_STRING_USER_AGENT, "Privoxy " VERSION)
|
|
||||||
DEFINE_ACTION_STRING ("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("limit-connect", ACTION_LIMIT_CONNECT, ACTION_STRING_LIMIT_CONNECT, "443")
|
|
||||||
DEFINE_ACTION_STRING ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "block", 0)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "reset-to-request-time", 1)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("overwrite-last-modified", ACTION_OVERWRITE_LAST_MODIFIED, ACTION_STRING_LAST_MODIFIED, "randomize", 2)
|
|
||||||
DEFINE_ACTION_BOOL ("prevent-compression", ACTION_NO_COMPRESSION)
|
|
||||||
DEFINE_ACTION_STRING ("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT)
|
|
||||||
DEFINE_CGI_PARAM_NO_RADIO("redirect", ACTION_REDIRECT, ACTION_STRING_REDIRECT, "http://localhost/")
|
|
||||||
DEFINE_ACTION_MULTI ("server-header-filter", ACTION_MULTI_SERVER_HEADER_FILTER)
|
|
||||||
DEFINE_ACTION_MULTI ("server-header-tagger", ACTION_MULTI_SERVER_HEADER_TAGGER)
|
|
||||||
DEFINE_ACTION_BOOL ("session-cookies-only", ACTION_NO_COOKIE_KEEP)
|
|
||||||
DEFINE_ACTION_STRING ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "pattern", 1)
|
|
||||||
DEFINE_CGI_PARAM_RADIO ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, "blank", 0)
|
|
||||||
DEFINE_CGI_PARAM_CUSTOM ("set-image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER, CGI_PREFIX "send-banner?type=pattern")
|
|
||||||
|
|
||||||
#if DEFINE_ACTION_ALIAS
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Alternative spellings
|
|
||||||
*/
|
|
||||||
DEFINE_ACTION_STRING ("hide-referer", ACTION_HIDE_REFERER, ACTION_STRING_REFERER)
|
|
||||||
DEFINE_ACTION_BOOL ("prevent-keeping-cookies", ACTION_NO_COOKIE_KEEP)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pre-3.0.7 (pseudo) compatibility
|
|
||||||
*/
|
|
||||||
DEFINE_ACTION_MULTI ("filter-client-headers", ACTION_MULTI_CLIENT_HEADER_FILTER)
|
|
||||||
DEFINE_ACTION_MULTI ("filter-server-headers", ACTION_MULTI_SERVER_HEADER_FILTER)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Pre-3.0 compatibility
|
|
||||||
*/
|
|
||||||
DEFINE_ACTION_BOOL ("no-cookie-read", ACTION_NO_COOKIE_READ)
|
|
||||||
DEFINE_ACTION_BOOL ("no-cookie-set", ACTION_NO_COOKIE_SET)
|
|
||||||
DEFINE_ACTION_BOOL ("prevent-reading-cookies", ACTION_NO_COOKIE_READ)
|
|
||||||
DEFINE_ACTION_BOOL ("prevent-setting-cookies", ACTION_NO_COOKIE_SET)
|
|
||||||
DEFINE_ACTION_BOOL ("downgrade", ACTION_DOWNGRADE)
|
|
||||||
DEFINE_ACTION_STRING ("hide-from", ACTION_HIDE_FROM, ACTION_STRING_FROM)
|
|
||||||
DEFINE_ACTION_BOOL ("image", ACTION_IMAGE)
|
|
||||||
DEFINE_ACTION_STRING ("image-blocker", ACTION_IMAGE_BLOCKER, ACTION_STRING_IMAGE_BLOCKER)
|
|
||||||
DEFINE_ACTION_BOOL ("no-compression", ACTION_NO_COMPRESSION)
|
|
||||||
DEFINE_ACTION_BOOL ("no-cookies-keep", ACTION_NO_COOKIE_KEEP)
|
|
||||||
DEFINE_ACTION_BOOL ("no-cookies-read", ACTION_NO_COOKIE_READ)
|
|
||||||
DEFINE_ACTION_BOOL ("no-cookies-set", ACTION_NO_COOKIE_SET)
|
|
||||||
#endif /* if DEFINE_ACTION_ALIAS */
|
|
||||||
|
|
||||||
#undef DEFINE_ACTION_MULTI
|
|
||||||
#undef DEFINE_ACTION_STRING
|
|
||||||
#undef DEFINE_ACTION_BOOL
|
|
||||||
#undef DEFINE_ACTION_ALIAS
|
|
||||||
#undef DEFINE_CGI_PARAM_CUSTOM
|
|
||||||
#undef DEFINE_CGI_PARAM_RADIO
|
|
||||||
#undef DEFINE_CGI_PARAM_NO_RADIO
|
|
||||||
|
|
|
@ -1,187 +0,0 @@
|
||||||
#ifndef ACTIONS_H_INCLUDED
|
|
||||||
#define ACTIONS_H_INCLUDED
|
|
||||||
#define ACTIONS_H_VERSION "$Id: actions.h,v 1.18 2008/03/30 14:52:00 fabiankeil Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/actions.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Declares functions to work with actions files
|
|
||||||
* Functions declared include: FIXME
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: actions.h,v $
|
|
||||||
* Revision 1.18 2008/03/30 14:52:00 fabiankeil
|
|
||||||
* Rename load_actions_file() and load_re_filterfile()
|
|
||||||
* as they load multiple files "now".
|
|
||||||
*
|
|
||||||
* Revision 1.17 2008/01/28 20:17:40 fabiankeil
|
|
||||||
* - Mark some parameters as immutable.
|
|
||||||
* - Hide update_action_bits_for_all_tags() while it's unused.
|
|
||||||
*
|
|
||||||
* Revision 1.16 2007/04/17 18:21:45 fabiankeil
|
|
||||||
* Split update_action_bits() into
|
|
||||||
* update_action_bits_for_all_tags()
|
|
||||||
* and update_action_bits_for_tag().
|
|
||||||
*
|
|
||||||
* Revision 1.15 2007/04/15 16:39:20 fabiankeil
|
|
||||||
* Introduce tags as alternative way to specify which
|
|
||||||
* actions apply to a request. At the moment tags can be
|
|
||||||
* created based on client and server headers.
|
|
||||||
*
|
|
||||||
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.12 2002/05/06 07:56:50 oes
|
|
||||||
* Made actions_to_html independent of FEATURE_CGI_EDIT_ACTIONS
|
|
||||||
*
|
|
||||||
* Revision 1.11 2002/04/30 11:14:52 oes
|
|
||||||
* Made csp the first parameter in *action_to_html
|
|
||||||
*
|
|
||||||
* Revision 1.10 2002/04/26 12:53:33 oes
|
|
||||||
* - actions_to_html signature change
|
|
||||||
* - current_action_to_text: renamed to current_action_to_html
|
|
||||||
* and signature change
|
|
||||||
*
|
|
||||||
* Revision 1.9 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/16 23:54:06 jongfoster
|
|
||||||
* Adding graceful termination feature, to help look for memory leaks.
|
|
||||||
* If you enable this (which, by design, has to be done by hand
|
|
||||||
* editing config.h) and then go to http://i.j.b/die, then the program
|
|
||||||
* will exit cleanly after the *next* request. It should free all the
|
|
||||||
* memory that was used.
|
|
||||||
*
|
|
||||||
* Revision 1.6 2001/10/23 21:30:30 jongfoster
|
|
||||||
* Adding error-checking to selected functions.
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/10/14 21:58:22 jongfoster
|
|
||||||
* Adding support for the CGI-based editor:
|
|
||||||
* - Exported get_actions()
|
|
||||||
* - Added new function free_alias_list()
|
|
||||||
* - Added support for {{settings}} and {{description}} blocks
|
|
||||||
* in the actions file. They are currently ignored.
|
|
||||||
* - Added restriction to only one {{alias}} block which must appear
|
|
||||||
* first in the file, to simplify the editor's rewriting rules.
|
|
||||||
* - Note that load_actions_file() is no longer used by the CGI-based
|
|
||||||
* editor, but some of the other routines in this file are.
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/09/16 15:47:37 jongfoster
|
|
||||||
* First version of CGI-based edit interface. This is very much a
|
|
||||||
* work-in-progress, and you can't actually use it to edit anything
|
|
||||||
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
|
||||||
* to have any effect.
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/09/14 00:17:32 jongfoster
|
|
||||||
* Tidying up memory allocation. New function init_action().
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/07/29 19:01:11 jongfoster
|
|
||||||
* Changed _FILENAME_H to FILENAME_H_INCLUDED.
|
|
||||||
* Added forward declarations for needed structures.
|
|
||||||
*
|
|
||||||
* Revision 1.1 2001/05/31 21:16:46 jongfoster
|
|
||||||
* Moved functions to process the action list into this new file.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
struct action_spec;
|
|
||||||
struct current_action_spec;
|
|
||||||
struct client_state;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* This structure is used to hold user-defined aliases */
|
|
||||||
struct action_alias
|
|
||||||
{
|
|
||||||
const char * name;
|
|
||||||
struct action_spec action[1];
|
|
||||||
struct action_alias * next;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
extern jb_err get_actions (char *line,
|
|
||||||
struct action_alias * alias_list,
|
|
||||||
struct action_spec *cur_action);
|
|
||||||
extern void free_alias_list(struct action_alias *alias_list);
|
|
||||||
|
|
||||||
extern void init_action(struct action_spec *dest);
|
|
||||||
extern void free_action(struct action_spec *src);
|
|
||||||
extern jb_err merge_actions (struct action_spec *dest,
|
|
||||||
const struct action_spec *src);
|
|
||||||
#if 0
|
|
||||||
extern int update_action_bits_for_all_tags(struct client_state *csp);
|
|
||||||
#endif
|
|
||||||
extern int update_action_bits_for_tag(struct client_state *csp, const char *tag);
|
|
||||||
extern jb_err copy_action (struct action_spec *dest,
|
|
||||||
const struct action_spec *src);
|
|
||||||
extern char * actions_to_text (const struct action_spec *action);
|
|
||||||
extern char * actions_to_html (const struct client_state *csp,
|
|
||||||
const struct action_spec *action);
|
|
||||||
extern void init_current_action (struct current_action_spec *dest);
|
|
||||||
extern void free_current_action (struct current_action_spec *src);
|
|
||||||
extern jb_err merge_current_action (struct current_action_spec *dest,
|
|
||||||
const struct action_spec *src);
|
|
||||||
extern char * current_action_to_html(const struct client_state *csp,
|
|
||||||
const struct current_action_spec *action);
|
|
||||||
|
|
||||||
extern jb_err get_action_token(char **line, char **name, char **value);
|
|
||||||
extern void unload_actions_file(void *file_data);
|
|
||||||
extern int load_action_files(struct client_state *csp);
|
|
||||||
|
|
||||||
#ifdef FEATURE_GRACEFUL_TERMINATION
|
|
||||||
void unload_current_actions_file(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
|
||||||
extern const char actions_rcs[];
|
|
||||||
extern const char actions_h_rcs[];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef ACTIONS_H_INCLUDED */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,341 +0,0 @@
|
||||||
const char amiga_rcs[] = "$Id: amiga.c,v 1.12 2007/01/07 07:40:52 joergs Exp $";
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/amiga.c,v $
|
|
||||||
*
|
|
||||||
* Purpose : Amiga-specific declarations.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: amiga.c,v $
|
|
||||||
* Revision 1.12 2007/01/07 07:40:52 joergs
|
|
||||||
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
|
|
||||||
*
|
|
||||||
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.9 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/25 19:32:15 joergs
|
|
||||||
* Name in version string changed from junkbuster to Privoxy.
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.6 2002/03/09 20:03:52 jongfoster
|
|
||||||
* - Making various functions return int rather than size_t.
|
|
||||||
* (Undoing a recent change). Since size_t is unsigned on
|
|
||||||
* Windows, functions like read_socket that return -1 on
|
|
||||||
* error cannot return a size_t.
|
|
||||||
*
|
|
||||||
* THIS WAS A MAJOR BUG - it caused frequent, unpredictable
|
|
||||||
* crashes, and also frequently caused JB to jump to 100%
|
|
||||||
* CPU and stay there. (Because it thought it had just
|
|
||||||
* read ((unsigned)-1) == 4Gb of data...)
|
|
||||||
*
|
|
||||||
* - The signature of write_socket has changed, it now simply
|
|
||||||
* returns success=0/failure=nonzero.
|
|
||||||
*
|
|
||||||
* - Trying to get rid of a few warnings --with-debug on
|
|
||||||
* Windows, I've introduced a new type "jb_socket". This is
|
|
||||||
* used for the socket file descriptors. On Windows, this
|
|
||||||
* is SOCKET (a typedef for unsigned). Everywhere else, it's
|
|
||||||
* an int. The error value can't be -1 any more, so it's
|
|
||||||
* now JB_INVALID_SOCKET (which is -1 on UNIX, and in
|
|
||||||
* Windows it maps to the #define INVALID_SOCKET.)
|
|
||||||
*
|
|
||||||
* - The signature of bind_port has changed.
|
|
||||||
*
|
|
||||||
* Revision 1.5 2002/03/03 09:18:03 joergs
|
|
||||||
* Made jumbjuster work on AmigaOS again.
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/10/07 15:35:13 oes
|
|
||||||
* Replaced 6 boolean members of csp with one bitmap (csp->flags)
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/09/12 22:54:51 joergs
|
|
||||||
* Stacksize of main thread increased.
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/05/23 00:13:58 joergs
|
|
||||||
* AmigaOS support fixed.
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
|
|
||||||
* Initial import of version 2.9.3 source tree
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#ifdef AMIGA
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <signal.h>
|
|
||||||
|
|
||||||
#include "project.h"
|
|
||||||
|
|
||||||
const char amiga_h_rcs[] = AMIGA_H_VERSION;
|
|
||||||
|
|
||||||
static char *ver USED = "$VER: Privoxy " __AMIGAVERSION__ " (" __AMIGADATE__ ")";
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
static char *stack USED = "$STACK: 524288";
|
|
||||||
#else
|
|
||||||
unsigned long __stack = 100*1024;
|
|
||||||
#endif
|
|
||||||
struct Task *main_task = NULL;
|
|
||||||
int childs = 0;
|
|
||||||
|
|
||||||
void serve(struct client_state *csp);
|
|
||||||
|
|
||||||
SAVEDS ULONG server_thread(void)
|
|
||||||
{
|
|
||||||
struct client_state *local_csp;
|
|
||||||
struct UserData UserData;
|
|
||||||
struct Task *me=FindTask(NULL);
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
struct Library *SocketBase;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Wait(SIGF_SINGLE);
|
|
||||||
local_csp=(struct client_state *)(me->tc_UserData);
|
|
||||||
me->tc_UserData=&UserData;
|
|
||||||
SocketBase=(APTR)OpenLibrary("bsdsocket.library",3);
|
|
||||||
if (SocketBase)
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
{
|
|
||||||
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
|
|
||||||
}
|
|
||||||
if (ISocket)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
SetErrnoPtr(&(UserData.eno),sizeof(int));
|
|
||||||
local_csp->cfd=ObtainSocket(local_csp->cfd, AF_INET, SOCK_STREAM, 0);
|
|
||||||
if(JB_INVALID_SOCKET!=local_csp->cfd)
|
|
||||||
{
|
|
||||||
Signal(main_task,SIGF_SINGLE);
|
|
||||||
serve((struct client_state *) local_csp);
|
|
||||||
} else {
|
|
||||||
local_csp->flags &= ~CSP_FLAG_ACTIVE;
|
|
||||||
Signal(main_task,SIGF_SINGLE);
|
|
||||||
}
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
DropInterface((struct Interface *)ISocket);
|
|
||||||
#endif
|
|
||||||
CloseLibrary(SocketBase);
|
|
||||||
} else {
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
CloseLibrary(SocketBase);
|
|
||||||
#endif
|
|
||||||
local_csp->flags &= ~CSP_FLAG_ACTIVE;
|
|
||||||
Signal(main_task,SIGF_SINGLE);
|
|
||||||
}
|
|
||||||
childs--;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static BPTR olddir;
|
|
||||||
|
|
||||||
void amiga_exit(void)
|
|
||||||
{
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
if (ISocket)
|
|
||||||
#else
|
|
||||||
if (SocketBase)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
struct Library *SocketBase = ISocket->Data.LibBase;
|
|
||||||
DropInterface((struct Interface *)ISocket);
|
|
||||||
#endif
|
|
||||||
CloseLibrary(SocketBase);
|
|
||||||
}
|
|
||||||
CurrentDir(olddir);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef __amigaos4__
|
|
||||||
static struct SignalSemaphore memsem;
|
|
||||||
static struct SignalSemaphore *memsemptr = NULL;
|
|
||||||
#endif
|
|
||||||
static struct UserData GlobalUserData;
|
|
||||||
|
|
||||||
void InitAmiga(void)
|
|
||||||
{
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
struct Library *SocketBase;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
main_task = FindTask(NULL);
|
|
||||||
main_task->tc_UserData = &GlobalUserData;
|
|
||||||
|
|
||||||
if (((struct Library *)SysBase)->lib_Version < 39)
|
|
||||||
{
|
|
||||||
exit(RETURN_FAIL);
|
|
||||||
}
|
|
||||||
|
|
||||||
signal(SIGINT,SIG_IGN);
|
|
||||||
SocketBase = (APTR)OpenLibrary("bsdsocket.library",3);
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
if (SocketBase)
|
|
||||||
{
|
|
||||||
ISocket = (struct SocketIFace *)GetInterface(SocketBase, "main", 1, NULL);
|
|
||||||
}
|
|
||||||
if (!ISocket)
|
|
||||||
#else
|
|
||||||
if (!SocketBase)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
CloseLibrary(SocketBase);
|
|
||||||
#endif
|
|
||||||
fprintf(stderr, "Can't open bsdsocket.library V3+\n");
|
|
||||||
exit(RETURN_ERROR);
|
|
||||||
}
|
|
||||||
SetErrnoPtr(&(GlobalUserData.eno),sizeof(int));
|
|
||||||
#ifndef __amigaos4__
|
|
||||||
InitSemaphore(&memsem);
|
|
||||||
memsemptr = &memsem;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
olddir=CurrentDir(GetProgramDir());
|
|
||||||
atexit(amiga_exit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef __amigaos4__
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#ifdef libnix
|
|
||||||
/* multithreadingsafe libnix replacements */
|
|
||||||
static void *memPool=NULL;
|
|
||||||
|
|
||||||
void *malloc (size_t s)
|
|
||||||
{
|
|
||||||
ULONG *mem;
|
|
||||||
LONG size = s;
|
|
||||||
|
|
||||||
if (size<=0)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
if (!memPool)
|
|
||||||
{
|
|
||||||
if (!(memPool=CreatePool(MEMF_ANY,32*1024,8*1024)))
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
size += sizeof(ULONG) + MEM_BLOCKMASK;
|
|
||||||
size &= ~MEM_BLOCKMASK;
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ObtainSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
if ((mem=AllocPooled(memPool,size)))
|
|
||||||
{
|
|
||||||
*mem++=size;
|
|
||||||
}
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ReleaseSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
return mem;
|
|
||||||
}
|
|
||||||
|
|
||||||
void free (void *m)
|
|
||||||
{
|
|
||||||
ULONG *mem = m;
|
|
||||||
|
|
||||||
if(mem && memPool)
|
|
||||||
{
|
|
||||||
ULONG size=*--mem;
|
|
||||||
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ObtainSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
FreePooled(memPool,mem,size);
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ReleaseSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void *realloc (void *old, size_t ns)
|
|
||||||
{
|
|
||||||
void *new;
|
|
||||||
LONG osize, *o = old;
|
|
||||||
LONG nsize = ns;
|
|
||||||
|
|
||||||
if (!old)
|
|
||||||
{
|
|
||||||
return malloc(nsize);
|
|
||||||
}
|
|
||||||
osize = (*(o-1)) - sizeof(ULONG);
|
|
||||||
if (nsize <= osize)
|
|
||||||
{
|
|
||||||
return old;
|
|
||||||
}
|
|
||||||
if ((new = malloc(nsize)))
|
|
||||||
{
|
|
||||||
ULONG *n = new;
|
|
||||||
|
|
||||||
osize >>= 2;
|
|
||||||
while(osize--)
|
|
||||||
{
|
|
||||||
*n++ = *o++;
|
|
||||||
}
|
|
||||||
free(old);
|
|
||||||
}
|
|
||||||
return new;
|
|
||||||
}
|
|
||||||
|
|
||||||
void __memCleanUp (void)
|
|
||||||
{
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ObtainSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
if (memPool)
|
|
||||||
{
|
|
||||||
DeletePool(memPool);
|
|
||||||
}
|
|
||||||
if (memsemptr)
|
|
||||||
{
|
|
||||||
ReleaseSemaphore(memsemptr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#define ADD2LIST(a,b,c) asm(".stabs \"_" #b "\"," #c ",0,0,_" #a )
|
|
||||||
#define ADD2EXIT(a,pri) ADD2LIST(a,__EXIT_LIST__,22); \
|
|
||||||
asm(".stabs \"___EXIT_LIST__\",20,0,0," #pri "+128")
|
|
||||||
ADD2EXIT(__memCleanUp,-50);
|
|
||||||
#elif !defined(ixemul)
|
|
||||||
#error No libnix and no ixemul!?
|
|
||||||
#endif /* libnix */
|
|
||||||
#else
|
|
||||||
#error Only GCC is supported, multithreading safe malloc/free required.
|
|
||||||
#endif /* __GNUC__ */
|
|
||||||
#endif /* !__amigaos4__ */
|
|
||||||
|
|
||||||
#endif /* def AMIGA */
|
|
|
@ -1,176 +0,0 @@
|
||||||
#ifdef AMIGA
|
|
||||||
#ifndef AMIGA_H_INCLUDED
|
|
||||||
#define AMIGA_H_INCLUDED
|
|
||||||
#define AMIGA_H_VERSION "$Id: amiga.h,v 1.12 2007/01/07 07:40:52 joergs Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/amiga.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Amiga-specific declarations.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: amiga.h,v $
|
|
||||||
* Revision 1.12 2007/01/07 07:40:52 joergs
|
|
||||||
* Added AmigaOS4 support and made it work on AmigaOS 3.x with current sources.
|
|
||||||
*
|
|
||||||
* Revision 1.11 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.9 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/03 09:18:03 joergs
|
|
||||||
* Made jumbjuster work on AmigaOS again.
|
|
||||||
*
|
|
||||||
* Revision 1.6 2001/10/13 12:46:08 joergs
|
|
||||||
* Added #undef EINTR to avoid warnings
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/07/29 18:43:08 jongfoster
|
|
||||||
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
|
||||||
* ANSI C rules.
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/05/29 20:05:06 joergs
|
|
||||||
* Fixed exit() macro not exiting if called before InitAmiga()
|
|
||||||
* (junkbuster --help and --version).
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/05/25 21:53:27 jongfoster
|
|
||||||
* Fixing indentation
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/05/23 00:13:58 joergs
|
|
||||||
* AmigaOS support fixed.
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 2001/05/15 13:58:46 oes
|
|
||||||
* Initial import of version 2.9.3 source tree
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#define _KERNEL
|
|
||||||
#include <sys/socket.h>
|
|
||||||
#undef _KERNEL
|
|
||||||
|
|
||||||
#define __NOLIBBASE__
|
|
||||||
#define __NOGLOBALIFACE__
|
|
||||||
#include <proto/socket.h>
|
|
||||||
#undef __NOLIBBASE__
|
|
||||||
#undef __NOGLOBALIFACE__
|
|
||||||
|
|
||||||
#define __CONSTLIBBASEDECL__ const
|
|
||||||
#include <proto/exec.h>
|
|
||||||
#include <exec/tasks.h>
|
|
||||||
#include <proto/dos.h>
|
|
||||||
#include <dos/dostags.h>
|
|
||||||
|
|
||||||
struct UserData
|
|
||||||
{
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
struct SocketIFace *si;
|
|
||||||
#else
|
|
||||||
struct Library *sb;
|
|
||||||
#endif
|
|
||||||
int eno;
|
|
||||||
};
|
|
||||||
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
#define ISocket (((struct UserData *)(FindTask(NULL)->tc_UserData))->si)
|
|
||||||
#undef errno
|
|
||||||
#else
|
|
||||||
#define SocketBase ((struct Library *)(((struct UserData *)(FindTask(NULL)->tc_UserData))->sb))
|
|
||||||
#endif
|
|
||||||
#define errno (((struct UserData *)(FindTask(NULL)->tc_UserData))->eno)
|
|
||||||
#define select(a,b,c,d,e) WaitSelect(a,b,c,d,e,NULL)
|
|
||||||
#define inet_ntoa(x) Inet_NtoA(x.s_addr)
|
|
||||||
|
|
||||||
extern int childs;
|
|
||||||
extern struct Task *main_task;
|
|
||||||
|
|
||||||
void InitAmiga(void);
|
|
||||||
void amiga_exit(void);
|
|
||||||
void __memCleanUp(void);
|
|
||||||
SAVEDS ULONG server_thread(void);
|
|
||||||
|
|
||||||
#ifdef __amigaos4__
|
|
||||||
#define exit(x) \
|
|
||||||
{ \
|
|
||||||
if(main_task) \
|
|
||||||
{ \
|
|
||||||
if(main_task == FindTask(NULL)) \
|
|
||||||
{ \
|
|
||||||
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
if (ISocket) \
|
|
||||||
{ \
|
|
||||||
struct Library *sb = ISocket->Data.LibBase; \
|
|
||||||
DropInterface((struct Interface *)ISocket); \
|
|
||||||
CloseLibrary(sb); \
|
|
||||||
} \
|
|
||||||
childs--; \
|
|
||||||
RemTask(NULL); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
exit(x); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#define exit(x) \
|
|
||||||
{ \
|
|
||||||
if(main_task) \
|
|
||||||
{ \
|
|
||||||
if(main_task == FindTask(NULL)) \
|
|
||||||
{ \
|
|
||||||
while(childs) Delay(10*TICKS_PER_SECOND); exit(x); \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
CloseLibrary(SocketBase); \
|
|
||||||
childs--; \
|
|
||||||
RemTask(NULL); \
|
|
||||||
} \
|
|
||||||
} \
|
|
||||||
else \
|
|
||||||
{ \
|
|
||||||
exit(x); \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
#undef HAVE_RANDOM
|
|
||||||
#define h_errno 0
|
|
||||||
#define HAVE_TIMEGM
|
|
||||||
#define timegm(tm) mktime(tm)
|
|
||||||
#endif /* __amigaos4__ */
|
|
||||||
|
|
||||||
#undef EINTR
|
|
||||||
#define EINTR 0
|
|
||||||
|
|
||||||
#endif /* ndef AMIGA_H_INCLUDED */
|
|
||||||
#endif /* def AMIGA */
|
|
|
@ -1,289 +0,0 @@
|
||||||
#ifndef CGI_H_INCLUDED
|
|
||||||
#define CGI_H_INCLUDED
|
|
||||||
#define CGI_H_VERSION "$Id: cgi.h,v 1.35 2008/05/21 15:24:37 fabiankeil Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/cgi.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Declares functions to intercept request, generate
|
|
||||||
* html or gif answers, and to compose HTTP resonses.
|
|
||||||
*
|
|
||||||
* Functions declared include:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: cgi.h,v $
|
|
||||||
* Revision 1.35 2008/05/21 15:24:37 fabiankeil
|
|
||||||
* Mark csp as immutable for a bunch of functions.
|
|
||||||
*
|
|
||||||
* Revision 1.34 2008/04/17 14:40:48 fabiankeil
|
|
||||||
* Provide get_http_time() with the buffer size so it doesn't
|
|
||||||
* have to blindly assume that the buffer is big enough.
|
|
||||||
*
|
|
||||||
* Revision 1.33 2007/01/28 13:41:17 fabiankeil
|
|
||||||
* - Add HEAD support to finish_http_response.
|
|
||||||
* - Add error favicon to internal HTML error messages.
|
|
||||||
*
|
|
||||||
* Revision 1.32 2006/12/17 17:53:39 fabiankeil
|
|
||||||
* Suppress the toggle link if remote toggling is disabled.
|
|
||||||
*
|
|
||||||
* Revision 1.31 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.29.2.2 2004/02/17 13:30:23 oes
|
|
||||||
* Moved cgi_error_disabled() from cgiedit.c to
|
|
||||||
* cgi.c to re-enable build with --disable-editor.
|
|
||||||
* Fixes Bug #892744. Thanks to Matthew Fischer
|
|
||||||
* for spotting.
|
|
||||||
*
|
|
||||||
* Revision 1.29.2.1 2003/12/17 16:33:28 oes
|
|
||||||
* Added prototype of new function cgi_redirect
|
|
||||||
*
|
|
||||||
* Revision 1.29 2002/05/19 11:33:21 jongfoster
|
|
||||||
* If a CGI error was not handled, and propogated back to
|
|
||||||
* dispatch_known_cgi(), then it was assumed to be "out of memory".
|
|
||||||
* This gave a very misleading error message.
|
|
||||||
*
|
|
||||||
* Now other errors will cause a simple message giving the error
|
|
||||||
* number and asking the user to report a bug.
|
|
||||||
*
|
|
||||||
* Bug report:
|
|
||||||
* http://sourceforge.net/tracker/index.php?func=detail
|
|
||||||
* &aid=557905&group_id=11118&atid=111118
|
|
||||||
*
|
|
||||||
* Revision 1.28 2002/04/26 12:54:03 oes
|
|
||||||
* New function add_help_link
|
|
||||||
*
|
|
||||||
* Revision 1.27 2002/04/24 02:16:51 oes
|
|
||||||
* Moved get_char_param, get_string_param and get_number_param here from cgiedit.c
|
|
||||||
*
|
|
||||||
* Revision 1.26 2002/04/10 13:38:35 oes
|
|
||||||
* load_template signature changed
|
|
||||||
*
|
|
||||||
* Revision 1.25 2002/04/08 20:50:25 swa
|
|
||||||
* fixed JB spelling
|
|
||||||
*
|
|
||||||
* Revision 1.24 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.23 2002/03/24 16:18:15 jongfoster
|
|
||||||
* Removing old logo
|
|
||||||
*
|
|
||||||
* Revision 1.22 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.21 2002/03/07 03:48:38 oes
|
|
||||||
* - Changed built-in images from GIF to PNG
|
|
||||||
* (with regard to Unisys patent issue)
|
|
||||||
* - Added a 4x4 pattern PNG which is less intrusive
|
|
||||||
* than the logo but also clearly marks the deleted banners
|
|
||||||
*
|
|
||||||
* Revision 1.20 2002/03/04 17:53:22 oes
|
|
||||||
* Fixed compiled warning
|
|
||||||
*
|
|
||||||
* Revision 1.19 2002/01/21 00:33:52 jongfoster
|
|
||||||
* Adding map_block_keep() to save a few bytes in the edit-actions-list HTML.
|
|
||||||
*
|
|
||||||
* Revision 1.18 2001/11/16 00:46:31 jongfoster
|
|
||||||
* Fixing compiler warnings
|
|
||||||
*
|
|
||||||
* Revision 1.17 2001/10/23 21:48:19 jongfoster
|
|
||||||
* Cleaning up error handling in CGI functions - they now send back
|
|
||||||
* a HTML error page and should never cause a FATAL error. (Fixes one
|
|
||||||
* potential source of "denial of service" attacks).
|
|
||||||
*
|
|
||||||
* CGI actions file editor that works and is actually useful.
|
|
||||||
*
|
|
||||||
* Ability to toggle Junkbuster remotely using a CGI call.
|
|
||||||
*
|
|
||||||
* You can turn off both the above features in the main configuration
|
|
||||||
* file, e.g. if you are running a multi-user proxy.
|
|
||||||
*
|
|
||||||
* Revision 1.16 2001/09/16 17:08:54 jongfoster
|
|
||||||
* Moving simple CGI functions from cgi.c to new file cgisimple.c
|
|
||||||
*
|
|
||||||
* Revision 1.15 2001/09/16 15:02:35 jongfoster
|
|
||||||
* Adding i.j.b/robots.txt.
|
|
||||||
* Inlining add_stats() since it's only ever called from one place.
|
|
||||||
*
|
|
||||||
* Revision 1.14 2001/09/16 11:38:02 jongfoster
|
|
||||||
* Splitting fill_template() into 2 functions:
|
|
||||||
* template_load() loads the file
|
|
||||||
* template_fill() performs the PCRS regexps.
|
|
||||||
* This is because the CGI edit interface has a "table row"
|
|
||||||
* template which is used many times in the page - this
|
|
||||||
* change means it's only loaded from disk once.
|
|
||||||
*
|
|
||||||
* Revision 1.13 2001/09/16 11:00:10 jongfoster
|
|
||||||
* New function alloc_http_response, for symmetry with free_http_response
|
|
||||||
*
|
|
||||||
* Revision 1.12 2001/09/13 23:31:25 jongfoster
|
|
||||||
* Moving image data to cgi.c rather than cgi.h.
|
|
||||||
*
|
|
||||||
* Revision 1.11 2001/08/05 16:06:20 jongfoster
|
|
||||||
* Modifiying "struct map" so that there are now separate header and
|
|
||||||
* "map_entry" structures. This means that functions which modify a
|
|
||||||
* map no longer need to return a pointer to the modified map.
|
|
||||||
* Also, it no longer reverses the order of the entries (which may be
|
|
||||||
* important with some advanced template substitutions).
|
|
||||||
*
|
|
||||||
* Revision 1.10 2001/08/01 21:19:22 jongfoster
|
|
||||||
* Moving file version information to a separate CGI page.
|
|
||||||
*
|
|
||||||
* Revision 1.9 2001/08/01 00:17:54 jongfoster
|
|
||||||
* Adding prototype for map_conditional
|
|
||||||
*
|
|
||||||
* Revision 1.8 2001/07/30 22:08:36 jongfoster
|
|
||||||
* Tidying up #defines:
|
|
||||||
* - All feature #defines are now of the form FEATURE_xxx
|
|
||||||
* - Permanently turned off WIN_GUI_EDIT
|
|
||||||
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
|
|
||||||
*
|
|
||||||
* Revision 1.7 2001/07/29 18:43:08 jongfoster
|
|
||||||
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
|
||||||
* ANSI C rules.
|
|
||||||
*
|
|
||||||
* Revision 1.6 2001/06/29 21:45:41 oes
|
|
||||||
* Indentation, CRLF->LF, Tab-> Space
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/06/29 13:22:44 oes
|
|
||||||
* - Cleaned up
|
|
||||||
* - Added new functions: default_exports(), make_menu(),
|
|
||||||
* error_response() etc, ranamed others and changed
|
|
||||||
* param and return types.
|
|
||||||
* - Removed HTTP/HTML snipplets
|
|
||||||
* - Removed logentry from cancelled commit
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/06/09 10:50:58 jongfoster
|
|
||||||
* Changing "show URL info" handler to new style.
|
|
||||||
* Adding "extern" to some function prototypes.
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/06/03 19:12:16 oes
|
|
||||||
* introduced new cgi handling
|
|
||||||
*
|
|
||||||
* No revisions before 1.3
|
|
||||||
*
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Main dispatch function
|
|
||||||
*/
|
|
||||||
extern struct http_response *dispatch_cgi(struct client_state *csp);
|
|
||||||
|
|
||||||
/* Not exactly a CGI */
|
|
||||||
extern struct http_response * error_response(struct client_state *csp,
|
|
||||||
const char *templatename,
|
|
||||||
int err);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CGI support functions
|
|
||||||
*/
|
|
||||||
extern struct http_response * alloc_http_response(void);
|
|
||||||
extern void free_http_response(struct http_response *rsp);
|
|
||||||
|
|
||||||
extern struct http_response *finish_http_response(const struct client_state *csp,
|
|
||||||
struct http_response *rsp);
|
|
||||||
|
|
||||||
extern struct map * default_exports(const struct client_state *csp, const char *caller);
|
|
||||||
|
|
||||||
extern jb_err map_block_killer (struct map *exports, const char *name);
|
|
||||||
extern jb_err map_block_keep (struct map *exports, const char *name);
|
|
||||||
extern jb_err map_conditional (struct map *exports, const char *name, int choose_first);
|
|
||||||
|
|
||||||
extern jb_err template_load(const struct client_state *csp, char ** template_ptr,
|
|
||||||
const char *templatename, int recursive);
|
|
||||||
extern jb_err template_fill(char ** template_ptr, const struct map *exports);
|
|
||||||
extern jb_err template_fill_for_cgi(const struct client_state *csp,
|
|
||||||
const char *templatename,
|
|
||||||
struct map *exports,
|
|
||||||
struct http_response *rsp);
|
|
||||||
|
|
||||||
extern void cgi_init_error_messages(void);
|
|
||||||
extern struct http_response *cgi_error_memory(void);
|
|
||||||
extern jb_err cgi_redirect (struct http_response * rsp, const char *target);
|
|
||||||
|
|
||||||
extern jb_err cgi_error_no_template(const struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const char *template_name);
|
|
||||||
extern jb_err cgi_error_bad_param(const struct client_state *csp,
|
|
||||||
struct http_response *rsp);
|
|
||||||
extern jb_err cgi_error_disabled(const struct client_state *csp,
|
|
||||||
struct http_response *rsp);
|
|
||||||
extern jb_err cgi_error_unknown(const struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
jb_err error_to_report);
|
|
||||||
|
|
||||||
extern jb_err get_number_param(struct client_state *csp,
|
|
||||||
const struct map *parameters,
|
|
||||||
char *name,
|
|
||||||
unsigned *pvalue);
|
|
||||||
extern jb_err get_string_param(const struct map *parameters,
|
|
||||||
const char *param_name,
|
|
||||||
const char **pparam);
|
|
||||||
extern char get_char_param(const struct map *parameters,
|
|
||||||
const char *param_name);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Text generators
|
|
||||||
*/
|
|
||||||
extern void get_http_time(int time_offset, char *buf, size_t buffer_size);
|
|
||||||
extern char *add_help_link(const char *item, struct configuration_spec *config);
|
|
||||||
extern char *make_menu(const char *self, const unsigned feature_flags);
|
|
||||||
extern char *dump_map(const struct map *the_map);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ad replacement images
|
|
||||||
*/
|
|
||||||
extern const char image_pattern_data[];
|
|
||||||
extern const size_t image_pattern_length;
|
|
||||||
extern const char image_blank_data[];
|
|
||||||
extern const size_t image_blank_length;
|
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
|
||||||
extern const char cgi_rcs[];
|
|
||||||
extern const char cgi_h_rcs[];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef CGI_H_INCLUDED */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,175 +0,0 @@
|
||||||
#ifndef CGIEDIT_H_INCLUDED
|
|
||||||
#define CGIEDIT_H_INCLUDED
|
|
||||||
#define CGIEDIT_H_VERSION "$Id: cgiedit.h,v 1.10 2008/08/31 15:59:03 fabiankeil Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/cgiedit.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : CGI-based actionsfile editor.
|
|
||||||
*
|
|
||||||
* Functions declared include:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: cgiedit.h,v $
|
|
||||||
* Revision 1.10 2008/08/31 15:59:03 fabiankeil
|
|
||||||
* There's no reason to let remote toggling support depend
|
|
||||||
* on FEATURE_CGI_EDIT_ACTIONS, so make sure it doesn't.
|
|
||||||
*
|
|
||||||
* Revision 1.9 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.7.2.2 2004/02/17 13:30:23 oes
|
|
||||||
* Moved cgi_error_disabled() from cgiedit.c to
|
|
||||||
* cgi.c to re-enable build with --disable-editor.
|
|
||||||
* Fixes Bug #892744. Thanks to Matthew Fischer
|
|
||||||
* for spotting.
|
|
||||||
*
|
|
||||||
* Revision 1.7.2.1 2002/11/28 18:15:17 oes
|
|
||||||
* Added cgi_error_disabled
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.6 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.5 2002/01/22 23:24:48 jongfoster
|
|
||||||
* Adding edit-actions-section-swap
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/11/13 00:28:51 jongfoster
|
|
||||||
* Adding new CGIs for use by non-JavaScript browsers:
|
|
||||||
* edit-actions-url-form
|
|
||||||
* edit-actions-add-url-form
|
|
||||||
* edit-actions-remove-url-form
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/10/23 21:48:19 jongfoster
|
|
||||||
* Cleaning up error handling in CGI functions - they now send back
|
|
||||||
* a HTML error page and should never cause a FATAL error. (Fixes one
|
|
||||||
* potential source of "denial of service" attacks).
|
|
||||||
*
|
|
||||||
* CGI actions file editor that works and is actually useful.
|
|
||||||
*
|
|
||||||
* Ability to toggle JunkBuster remotely using a CGI call.
|
|
||||||
*
|
|
||||||
* You can turn off both the above features in the main configuration
|
|
||||||
* file, e.g. if you are running a multi-user proxy.
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/10/14 22:12:49 jongfoster
|
|
||||||
* New version of CGI-based actionsfile editor.
|
|
||||||
* Major changes, including:
|
|
||||||
* - Completely new file parser and file output routines
|
|
||||||
* - edit-actions CGI renamed edit-actions-for-url
|
|
||||||
* - All CGIs now need a filename parameter, except for...
|
|
||||||
* - New CGI edit-actions which doesn't need a filename,
|
|
||||||
* to allow you to start the editor up.
|
|
||||||
* - edit-actions-submit now works, and now automatically
|
|
||||||
* redirects you back to the main edit-actions-list handler.
|
|
||||||
*
|
|
||||||
* Revision 1.1 2001/09/16 15:47:37 jongfoster
|
|
||||||
* First version of CGI-based edit interface. This is very much a
|
|
||||||
* work-in-progress, and you can't actually use it to edit anything
|
|
||||||
* yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
|
|
||||||
* to have any effect.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CGI functions
|
|
||||||
*/
|
|
||||||
#ifdef FEATURE_CGI_EDIT_ACTIONS
|
|
||||||
extern jb_err cgi_edit_actions (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_for_url(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_list (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_submit (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_url (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_url_form(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_add_url(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_add_url_form(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_remove_url (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_remove_url_form(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_section_remove(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_section_add (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_edit_actions_section_swap (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
#endif /* def FEATURE_CGI_EDIT_ACTIONS */
|
|
||||||
#ifdef FEATURE_TOGGLE
|
|
||||||
extern jb_err cgi_toggle(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
#endif /* def FEATURE_TOGGLE */
|
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
|
||||||
extern const char cgiedit_rcs[];
|
|
||||||
extern const char cgiedit_h_rcs[];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef CGI_H_INCLUDED */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,185 +0,0 @@
|
||||||
#ifndef CGISIMPLE_H_INCLUDED
|
|
||||||
#define CGISIMPLE_H_INCLUDED
|
|
||||||
#define CGISIMPLE_H_VERSION "$Id: cgisimple.h,v 1.16 2008/05/26 17:30:55 fabiankeil Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/cgisimple.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Declares functions to intercept request, generate
|
|
||||||
* html or gif answers, and to compose HTTP resonses.
|
|
||||||
*
|
|
||||||
* Functions declared include:
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2007 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: cgisimple.h,v $
|
|
||||||
* Revision 1.16 2008/05/26 17:30:55 fabiankeil
|
|
||||||
* Provide an OpenSearch Description to access the
|
|
||||||
* show-url-info page through "search engine plugins".
|
|
||||||
*
|
|
||||||
* Revision 1.15 2007/01/23 15:51:17 fabiankeil
|
|
||||||
* Add favicon delivery functions.
|
|
||||||
*
|
|
||||||
* Revision 1.14 2006/09/06 18:45:03 fabiankeil
|
|
||||||
* Incorporate modified version of Roland Rosenfeld's patch to
|
|
||||||
* optionally access the user-manual via Privoxy. Closes patch 679075.
|
|
||||||
*
|
|
||||||
* Formatting changed to Privoxy style, added call to
|
|
||||||
* cgi_error_no_template if the requested file doesn't
|
|
||||||
* exist and modified check whether or not Privoxy itself
|
|
||||||
* should serve the manual. Should work cross-platform now.
|
|
||||||
*
|
|
||||||
* Revision 1.13 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.11 2002/04/05 15:50:53 oes
|
|
||||||
* added send-stylesheet CGI
|
|
||||||
*
|
|
||||||
* Revision 1.10 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.9 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/16 23:54:06 jongfoster
|
|
||||||
* Adding graceful termination feature, to help look for memory leaks.
|
|
||||||
* If you enable this (which, by design, has to be done by hand
|
|
||||||
* editing config.h) and then go to http://i.j.b/die, then the program
|
|
||||||
* will exit cleanly after the *next* request. It should free all the
|
|
||||||
* memory that was used.
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/08 16:43:59 oes
|
|
||||||
* Renamed cgi_transparent_png to cgi_transparent_image
|
|
||||||
*
|
|
||||||
* Revision 1.6 2002/03/07 03:48:59 oes
|
|
||||||
* - Changed built-in images from GIF to PNG
|
|
||||||
* (with regard to Unisys patent issue)
|
|
||||||
*
|
|
||||||
* Revision 1.5 2002/01/22 23:26:03 jongfoster
|
|
||||||
* Adding cgi_transparent_gif() for http://i.j.b/t
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/10/23 21:48:19 jongfoster
|
|
||||||
* Cleaning up error handling in CGI functions - they now send back
|
|
||||||
* a HTML error page and should never cause a FATAL error. (Fixes one
|
|
||||||
* potential source of "denial of service" attacks).
|
|
||||||
*
|
|
||||||
* CGI actions file editor that works and is actually useful.
|
|
||||||
*
|
|
||||||
* Ability to toggle JunkBuster remotely using a CGI call.
|
|
||||||
*
|
|
||||||
* You can turn off both the above features in the main configuration
|
|
||||||
* file, e.g. if you are running a multi-user proxy.
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/10/14 22:00:32 jongfoster
|
|
||||||
* Adding support for a 404 error when an invalid CGI page is requested.
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/10/02 15:31:20 oes
|
|
||||||
* Introduced show-request cgi
|
|
||||||
*
|
|
||||||
* Revision 1.1 2001/09/16 17:08:54 jongfoster
|
|
||||||
* Moving simple CGI functions from cgi.c to new file cgisimple.c
|
|
||||||
*
|
|
||||||
*
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include "project.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* CGI functions
|
|
||||||
*/
|
|
||||||
extern jb_err cgi_default (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_error_404 (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_robots_txt (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_banner (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_show_status (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_show_url_info(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_show_version (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_show_request (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_transparent_image (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_error_favicon (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_default_favicon (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_stylesheet(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_url_info_osd(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
extern jb_err cgi_send_user_manual(struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef FEATURE_GRACEFUL_TERMINATION
|
|
||||||
extern jb_err cgi_die (struct client_state *csp,
|
|
||||||
struct http_response *rsp,
|
|
||||||
const struct map *parameters);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Revision control strings from this header and associated .c file */
|
|
||||||
extern const char cgisimple_rcs[];
|
|
||||||
extern const char cgisimple_h_rcs[];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef CGISIMPLE_H_INCLUDED */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,80 +0,0 @@
|
||||||
#ifndef CYGWIN_H_INCLUDED
|
|
||||||
#define CYGWIN_H_INCLUDED
|
|
||||||
#define CYGWIN_H_VERSION "$Id: cygwin.h,v 1.6 2006/07/18 14:48:45 david__schmidt Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/cygwin.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : The windows.h file seems to be a *tad* different, so I
|
|
||||||
* will bridge the gaps here. Perhaps I should convert the
|
|
||||||
* latest SDK too? Shudder, I think not.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: cygwin.h,v $
|
|
||||||
* Revision 1.6 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.4 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.3 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/07/29 18:43:08 jongfoster
|
|
||||||
* Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
|
|
||||||
* ANSI C rules.
|
|
||||||
*
|
|
||||||
* Revision 1.1.1.1 2001/05/15 13:58:51 oes
|
|
||||||
* Initial import of version 2.9.3 source tree
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
/* Conditionally include this whole file. */
|
|
||||||
#ifdef __MINGW32__
|
|
||||||
|
|
||||||
/* Hmmm, seems to be overlooked. */
|
|
||||||
#define _RICHEDIT_VER 0x0300
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Named slightly different ... but not in Cygwin v1.3.1 ...
|
|
||||||
*
|
|
||||||
* #define LVITEM LV_ITEM
|
|
||||||
* #define LVCOLUMN LV_COLUMN
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endif /* def __MINGW32__ */
|
|
||||||
#endif /* ndef CYGWIN_H_INCLUDED */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,554 +0,0 @@
|
||||||
const char deanimate_rcs[] = "$Id: deanimate.c,v 1.19 2008/05/21 15:29:35 fabiankeil Exp $";
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/deanimate.c,v $
|
|
||||||
*
|
|
||||||
* Purpose : Declares functions to manipulate binary images on the
|
|
||||||
* fly. High-level functions include:
|
|
||||||
* - Deanimation of GIF images
|
|
||||||
*
|
|
||||||
* Functions declared include: gif_deanimate, buf_free,
|
|
||||||
* buf_copy, buf_getbyte, gif_skip_data_block
|
|
||||||
* and gif_extract_image
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 - 2004, 2006 by the
|
|
||||||
* SourceForge Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the GIF file format specification (see
|
|
||||||
* http://tronche.com/computer-graphics/gif/gif89a.html)
|
|
||||||
* and ideas from the Image::DeAnim Perl module by
|
|
||||||
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: deanimate.c,v $
|
|
||||||
* Revision 1.19 2008/05/21 15:29:35 fabiankeil
|
|
||||||
* Fix gcc43 warnings.
|
|
||||||
*
|
|
||||||
* Revision 1.18 2008/03/28 15:13:38 fabiankeil
|
|
||||||
* Remove inspect-jpegs action.
|
|
||||||
*
|
|
||||||
* Revision 1.17 2007/08/05 13:42:22 fabiankeil
|
|
||||||
* #1763173 from Stefan Huehner: declare some more functions static.
|
|
||||||
*
|
|
||||||
* Revision 1.16 2007/07/14 08:01:58 fabiankeil
|
|
||||||
* s@failiure@failure@
|
|
||||||
*
|
|
||||||
* Revision 1.15 2007/01/03 14:39:19 fabiankeil
|
|
||||||
* Fix a gcc43 warning and mark the binbuffer
|
|
||||||
* as immutable for buf_getbyte().
|
|
||||||
*
|
|
||||||
* Revision 1.14 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.12.2.1 2004/10/03 12:53:32 david__schmidt
|
|
||||||
* Add the ability to check jpeg images for invalid
|
|
||||||
* lengths of comment blocks. Defensive strategy
|
|
||||||
* against the exploit:
|
|
||||||
* Microsoft Security Bulletin MS04-028
|
|
||||||
* Buffer Overrun in JPEG Processing (GDI+) Could
|
|
||||||
* Allow Code Execution (833987)
|
|
||||||
* Enabled with +inspect-jpegs in actions files.
|
|
||||||
*
|
|
||||||
* Revision 1.12 2002/05/12 21:36:29 jongfoster
|
|
||||||
* Correcting function comments
|
|
||||||
*
|
|
||||||
* Revision 1.11 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.10 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.9 2002/03/13 00:27:04 jongfoster
|
|
||||||
* Killing warnings
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/09 19:42:47 jongfoster
|
|
||||||
* Fixing more warnings
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/08 17:46:04 jongfoster
|
|
||||||
* Fixing int/size_t warnings
|
|
||||||
*
|
|
||||||
* Revision 1.6 2002/03/07 03:46:17 oes
|
|
||||||
* Fixed compiler warnings
|
|
||||||
*
|
|
||||||
* Revision 1.5 2001/09/10 10:16:06 oes
|
|
||||||
* Silenced compiler warnings
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/07/18 12:28:49 oes
|
|
||||||
* - Added feature for extracting the first frame
|
|
||||||
* to gif_deanimate
|
|
||||||
* - Separated image buffer extension into buf_extend
|
|
||||||
* - Extended gif deanimation to GIF87a (untested!)
|
|
||||||
* - Cosmetics
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/07/15 13:57:50 jongfoster
|
|
||||||
* Adding #includes string.h and miscutil.h
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/07/13 13:46:20 oes
|
|
||||||
* Introduced GIF deanimation feature
|
|
||||||
*
|
|
||||||
*
|
|
||||||
**********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
|
|
||||||
#include "errlog.h"
|
|
||||||
#include "project.h"
|
|
||||||
#include "deanimate.h"
|
|
||||||
#include "miscutil.h"
|
|
||||||
|
|
||||||
const char deanimate_h_rcs[] = DEANIMATE_H_VERSION;
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : buf_free
|
|
||||||
*
|
|
||||||
* Description : Safely frees a struct binbuffer
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : buf = Pointer to the binbuffer to be freed
|
|
||||||
*
|
|
||||||
* Returns : N/A
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
void buf_free(struct binbuffer *buf)
|
|
||||||
{
|
|
||||||
if (buf == NULL) return;
|
|
||||||
|
|
||||||
if (buf->buffer != NULL)
|
|
||||||
{
|
|
||||||
free(buf->buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
free(buf);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : buf_extend
|
|
||||||
*
|
|
||||||
* Description : Ensure that a given binbuffer can hold a given amount
|
|
||||||
* of bytes, by reallocating its buffer if necessary.
|
|
||||||
* Allocate new mem in chunks of 1024 bytes, so we don't
|
|
||||||
* have to realloc() too often.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : buf = Pointer to the binbuffer
|
|
||||||
* 2 : length = Desired minimum size
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Returns : 0 on success, 1 on failure.
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int buf_extend(struct binbuffer *buf, size_t length)
|
|
||||||
{
|
|
||||||
char *newbuf;
|
|
||||||
|
|
||||||
if (buf->offset + length > buf->size)
|
|
||||||
{
|
|
||||||
buf->size = ((buf->size + length + (size_t)1023) & ~(size_t)1023);
|
|
||||||
newbuf = (char *)realloc(buf->buffer, buf->size);
|
|
||||||
|
|
||||||
if (newbuf == NULL)
|
|
||||||
{
|
|
||||||
freez(buf->buffer);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
buf->buffer = newbuf;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : buf_copy
|
|
||||||
*
|
|
||||||
* Description : Safely copies a given amount of bytes from one
|
|
||||||
* struct binbuffer to another, advancing the
|
|
||||||
* offsets appropriately.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : src = Pointer to the source binbuffer
|
|
||||||
* 2 : dst = Pointer to the destination binbuffer
|
|
||||||
* 3 : length = Number of bytes to be copied
|
|
||||||
*
|
|
||||||
* Returns : 0 on success, 1 on failure.
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int buf_copy(struct binbuffer *src, struct binbuffer *dst, size_t length)
|
|
||||||
{
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Sanity check: Can't copy more data than we have
|
|
||||||
*/
|
|
||||||
if (src->offset + length > src->size)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ensure that dst can hold the new data
|
|
||||||
*/
|
|
||||||
if (buf_extend(dst, length))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Now that it's safe, memcpy() the desired amount of
|
|
||||||
* data from src to dst and adjust the offsets
|
|
||||||
*/
|
|
||||||
memcpy(dst->buffer + dst->offset, src->buffer + src->offset, length);
|
|
||||||
src->offset += length;
|
|
||||||
dst->offset += length;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : buf_getbyte
|
|
||||||
*
|
|
||||||
* Description : Safely gets a byte from a given binbuffer at a
|
|
||||||
* given offset
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : src = Pointer to the source binbuffer
|
|
||||||
* 2 : offset = Offset to the desired byte
|
|
||||||
*
|
|
||||||
* Returns : The byte on success, or 0 on failure
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static unsigned char buf_getbyte(const struct binbuffer *src, size_t offset)
|
|
||||||
{
|
|
||||||
if (src->offset + offset < src->size)
|
|
||||||
{
|
|
||||||
return (unsigned char)*(src->buffer + src->offset + offset);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : gif_skip_data_block
|
|
||||||
*
|
|
||||||
* Description : Safely advances the offset of a given struct binbuffer
|
|
||||||
* that contains a GIF image and whose offset is
|
|
||||||
* positioned at the start of a data block, behind
|
|
||||||
* that block.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : buf = Pointer to the binbuffer
|
|
||||||
*
|
|
||||||
* Returns : 0 on success, or 1 on failure
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int gif_skip_data_block(struct binbuffer *buf)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Data blocks are sequences of chunks, which are headed
|
|
||||||
* by a one-byte length field, with the last chunk having
|
|
||||||
* zero length.
|
|
||||||
*/
|
|
||||||
while((c = buf_getbyte(buf, 0)) != '\0')
|
|
||||||
{
|
|
||||||
buf->offset += (size_t)c + 1;
|
|
||||||
if (buf->offset >= buf->size - 1)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
buf->offset++;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : gif_extract_image
|
|
||||||
*
|
|
||||||
* Description : Safely extracts an image data block from a given
|
|
||||||
* struct binbuffer that contains a GIF image and whose
|
|
||||||
* offset is positioned at the start of a data block
|
|
||||||
* into a given destination binbuffer.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : src = Pointer to the source binbuffer
|
|
||||||
* 2 : dst = Pointer to the destination binbuffer
|
|
||||||
*
|
|
||||||
* Returns : 0 on success, or 1 on failure
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
static int gif_extract_image(struct binbuffer *src, struct binbuffer *dst)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Remember the colormap flag and copy the image head
|
|
||||||
*/
|
|
||||||
c = buf_getbyte(src, 9);
|
|
||||||
if (buf_copy(src, dst, 10))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the image has a local colormap, copy it.
|
|
||||||
*/
|
|
||||||
if (c & 0x80)
|
|
||||||
{
|
|
||||||
int map_length = 3 * (1 << ((c & 0x07) + 1));
|
|
||||||
if (map_length <= 0)
|
|
||||||
{
|
|
||||||
log_error(LOG_LEVEL_DEANIMATE,
|
|
||||||
"colormap length = %d (%c)?", map_length, c);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (buf_copy(src, dst, (size_t)map_length))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (buf_copy(src, dst, 1)) return 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copy the image chunk by chunk.
|
|
||||||
*/
|
|
||||||
while((c = buf_getbyte(src, 0)) != '\0')
|
|
||||||
{
|
|
||||||
if (buf_copy(src, dst, 1 + (size_t) c)) return 1;
|
|
||||||
}
|
|
||||||
if (buf_copy(src, dst, 1)) return 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Trim and rewind the dst buffer
|
|
||||||
*/
|
|
||||||
if (NULL == (dst->buffer = (char *)realloc(dst->buffer, dst->offset))) return 1;
|
|
||||||
dst->size = dst->offset;
|
|
||||||
dst->offset = 0;
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* Function : gif_deanimate
|
|
||||||
*
|
|
||||||
* Description : Deanimate a given GIF image, i.e. given a GIF with
|
|
||||||
* an (optional) image block and an arbitrary number
|
|
||||||
* of image extension blocks, produce an output GIF with
|
|
||||||
* only one image block that contains the last image
|
|
||||||
* (extenstion) block of the original.
|
|
||||||
* Also strip Comments, Application extenstions, etc.
|
|
||||||
*
|
|
||||||
* Parameters :
|
|
||||||
* 1 : src = Pointer to the source binbuffer
|
|
||||||
* 2 : dst = Pointer to the destination binbuffer
|
|
||||||
* 3 : get_first_image = Flag: If set, get the first image
|
|
||||||
* If unset (default), get the last
|
|
||||||
*
|
|
||||||
* Returns : 0 on success, or 1 on failure
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
struct binbuffer *image;
|
|
||||||
|
|
||||||
if (NULL == src || NULL == dst)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
c = buf_getbyte(src, 10);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check & copy GIF header
|
|
||||||
*/
|
|
||||||
if (strncmp(src->buffer, "GIF89a", 6) && strncmp(src->buffer, "GIF87a", 6))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (buf_copy(src, dst, 13))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Look for global colormap and copy if found.
|
|
||||||
*/
|
|
||||||
if(c & 0x80)
|
|
||||||
{
|
|
||||||
int map_length = 3 * (1 << ((c & 0x07) + 1));
|
|
||||||
if (map_length <= 0)
|
|
||||||
{
|
|
||||||
log_error(LOG_LEVEL_DEANIMATE,
|
|
||||||
"colormap length = %d (%c)?", map_length, c);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (buf_copy(src, dst, (size_t)map_length))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Reserve a buffer for the current image block
|
|
||||||
*/
|
|
||||||
if (NULL == (image = (struct binbuffer *)zalloc(sizeof(*image))))
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Parse the GIF block by block and copy the relevant
|
|
||||||
* parts to dst
|
|
||||||
*/
|
|
||||||
while(src->offset < src->size)
|
|
||||||
{
|
|
||||||
switch(buf_getbyte(src, 0))
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* End-of-GIF Marker: Append current image and return
|
|
||||||
*/
|
|
||||||
case 0x3b:
|
|
||||||
goto write;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Image block: Extract to current image buffer.
|
|
||||||
*/
|
|
||||||
case 0x2c:
|
|
||||||
image->offset = 0;
|
|
||||||
if (gif_extract_image(src, image)) goto failed;
|
|
||||||
if (get_first_image) goto write;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Extension block: Look at next byte and decide
|
|
||||||
*/
|
|
||||||
case 0x21:
|
|
||||||
switch (buf_getbyte(src, 1))
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Image extension: Copy extension header and image
|
|
||||||
* to the current image buffer
|
|
||||||
*/
|
|
||||||
case 0xf9:
|
|
||||||
image->offset = 0;
|
|
||||||
if (buf_copy(src, image, 8) || buf_getbyte(src, 0) != 0x2c) goto failed;
|
|
||||||
if (gif_extract_image(src, image)) goto failed;
|
|
||||||
if (get_first_image) goto write;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Application extension: Skip
|
|
||||||
*/
|
|
||||||
case 0xff:
|
|
||||||
if ((src->offset += 14) >= src->size || gif_skip_data_block(src)) goto failed;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Comment extension: Skip
|
|
||||||
*/
|
|
||||||
case 0xfe:
|
|
||||||
if ((src->offset += 2) >= src->size || gif_skip_data_block(src)) goto failed;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Plain text extension: Skip
|
|
||||||
*/
|
|
||||||
case 0x01:
|
|
||||||
if ((src->offset += 15) >= src->size || gif_skip_data_block(src)) goto failed;
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ooops, what type of extension is that?
|
|
||||||
*/
|
|
||||||
default:
|
|
||||||
goto failed;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Ooops, what type of block is that?
|
|
||||||
*/
|
|
||||||
default:
|
|
||||||
goto failed;
|
|
||||||
|
|
||||||
}
|
|
||||||
} /* -END- while src */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Either we got here by goto, or because the GIF is
|
|
||||||
* bogus and EOF was reached before an end-of-gif marker
|
|
||||||
* was found.
|
|
||||||
*/
|
|
||||||
|
|
||||||
failed:
|
|
||||||
buf_free(image);
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Append the current image to dst and return
|
|
||||||
*/
|
|
||||||
|
|
||||||
write:
|
|
||||||
if (buf_copy(image, dst, image->size)) goto failed;
|
|
||||||
if (buf_extend(dst, 1)) goto failed;
|
|
||||||
*(dst->buffer + dst->offset++) = 0x3b;
|
|
||||||
buf_free(image);
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,126 +0,0 @@
|
||||||
#ifndef DEANIMATE_H_INCLUDED
|
|
||||||
#define DEANIMATE_H_INCLUDED
|
|
||||||
#define DEANIMATE_H_VERSION "$Id: deanimate.h,v 1.12 2008/03/28 15:13:39 fabiankeil Exp $"
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/deanimate.h,v $
|
|
||||||
*
|
|
||||||
* Purpose : Declares functions to manipulate binary images on the
|
|
||||||
* fly. High-level functions include:
|
|
||||||
* - Deanimation of GIF images
|
|
||||||
*
|
|
||||||
* Functions declared include: gif_deanimate and buf_free.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001 - 2004 by the the
|
|
||||||
* SourceForge Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on ideas from the Image::DeAnim Perl module by
|
|
||||||
* Ken MacFarlane, <ksm+cpan@universal.dca.net>
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc., 59
|
|
||||||
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* Revisions :
|
|
||||||
* $Log: deanimate.h,v $
|
|
||||||
* Revision 1.12 2008/03/28 15:13:39 fabiankeil
|
|
||||||
* Remove inspect-jpegs action.
|
|
||||||
*
|
|
||||||
* Revision 1.11 2007/01/12 15:41:00 fabiankeil
|
|
||||||
* Remove some white space at EOL.
|
|
||||||
*
|
|
||||||
* Revision 1.10 2006/07/18 14:48:45 david__schmidt
|
|
||||||
* Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
* with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
*
|
|
||||||
* Revision 1.8.2.1 2004/10/03 12:53:32 david__schmidt
|
|
||||||
* Add the ability to check jpeg images for invalid
|
|
||||||
* lengths of comment blocks. Defensive strategy
|
|
||||||
* against the exploit:
|
|
||||||
* Microsoft Security Bulletin MS04-028
|
|
||||||
* Buffer Overrun in JPEG Processing (GDI+) Could
|
|
||||||
* Allow Code Execution (833987)
|
|
||||||
* Enabled with +inspect-jpegs in actions files.
|
|
||||||
*
|
|
||||||
* Revision 1.8 2002/03/26 22:29:54 swa
|
|
||||||
* we have a new homepage!
|
|
||||||
*
|
|
||||||
* Revision 1.7 2002/03/24 13:25:43 swa
|
|
||||||
* name change related issues
|
|
||||||
*
|
|
||||||
* Revision 1.6 2002/03/08 17:46:04 jongfoster
|
|
||||||
* Fixing int/size_t warnings
|
|
||||||
*
|
|
||||||
* Revision 1.5 2002/03/07 03:46:17 oes
|
|
||||||
* Fixed compiler warnings
|
|
||||||
*
|
|
||||||
* Revision 1.4 2001/07/29 18:50:04 jongfoster
|
|
||||||
* Fixing "extern C" block, and renaming #define _DEANIMATE_H
|
|
||||||
*
|
|
||||||
* Revision 1.3 2001/07/18 12:29:05 oes
|
|
||||||
* Updated prototype for gif_deanimate
|
|
||||||
*
|
|
||||||
* Revision 1.2 2001/07/13 13:46:20 oes
|
|
||||||
* Introduced GIF deanimation feature
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A struct that holds a buffer, a read/write offset,
|
|
||||||
* and the buffer's capacity.
|
|
||||||
*/
|
|
||||||
struct binbuffer
|
|
||||||
{
|
|
||||||
char *buffer;
|
|
||||||
size_t offset;
|
|
||||||
size_t size;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Function prototypes
|
|
||||||
*/
|
|
||||||
extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image);
|
|
||||||
extern void buf_free(struct binbuffer *buf);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Revision control strings from this header and associated .c file
|
|
||||||
*/
|
|
||||||
extern const char deanimate_rcs[];
|
|
||||||
extern const char deanimate_h_rcs[];
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* ndef DEANIMATE_H_INCLUDED */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Local Variables:
|
|
||||||
tab-width: 3
|
|
||||||
end:
|
|
||||||
*/
|
|
|
@ -1,560 +0,0 @@
|
||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
||||||
<!-- $Id: gpl.html,v 1.4 2002/04/08 20:39:43 swa Exp $
|
|
||||||
|
|
||||||
See copyright details at end of file
|
|
||||||
|
|
||||||
After changing this file, please run it through "HTML Tidy"
|
|
||||||
(from http://www.w3.org/People/Raggett/tidy/)
|
|
||||||
It should have no warnings or errors.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>The GNU General Public License</title>
|
|
||||||
<meta name="description" content=
|
|
||||||
"GNU General Public License, as used by Junkbuster">
|
|
||||||
<meta name="keywords" content="">
|
|
||||||
<style type="text/css">
|
|
||||||
<!--
|
|
||||||
h2 { text-align: Center; font-family: arial, helvetica, sans-serif }
|
|
||||||
p.sans { font-family: arial, helvetica, sans-serif }
|
|
||||||
b.dot { color: #FF0000 }
|
|
||||||
-->
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body bgcolor="#f8f8f0" link="#000078" alink="#ff0022" vlink=
|
|
||||||
"#787878">
|
|
||||||
<p class="sans"><a href="http://www.privoxy.org/">
|
|
||||||
Website</a> <b class="dot">·</b> <a href="ijbman.html">
|
|
||||||
Manual</a> <b class="dot">·</b> <a href="ijbfaq.html">
|
|
||||||
FAQ</a> <b class="dot">·</b> <b>GPL</b></p>
|
|
||||||
|
|
||||||
<h1 align="center"><a name="top_of_page">Internet J<small>UNK<i
|
|
||||||
style="color: #FF0000">BUSTER</i></small> License</a></h1>
|
|
||||||
|
|
||||||
<h1>This document is out of date</h1>
|
|
||||||
|
|
||||||
<p><b>Development of Junkbuster is ongoing and this document is
|
|
||||||
no longer current. However, it may provide some assistance. If
|
|
||||||
you have problems, please use the <a href=
|
|
||||||
"http://groups.yahoo.com/group/junkbuster-users/">Yahoo Groups
|
|
||||||
mailing list</a> (which includes an archive of mail), the
|
|
||||||
SourceForge.net <a href=
|
|
||||||
"http://sourceforge.net/projects/ijbswa/">project page</a>, or
|
|
||||||
see the project's <a href="http://www.privoxy.org/">home
|
|
||||||
page</a>. Please also bear in mind that versions 2.9.x of
|
|
||||||
Junkbuster are development releases, and are not production
|
|
||||||
quality.</b></p>
|
|
||||||
|
|
||||||
<h3 align="center">The GNU General Public License</h3>
|
|
||||||
|
|
||||||
<p class="sans"><a name="notus"><b>We did not write the GPL:
|
|
||||||
the <a href="http://www.fsf.org/fsf/fsf.html">Free Software
|
|
||||||
Foundation</a> did</b></a></p>
|
|
||||||
|
|
||||||
<h3><img border="0" width="14" height="14" src="fb.gif" alt=
|
|
||||||
"*"> The GPL allows copying and changing of copyrighted
|
|
||||||
documents</h3>
|
|
||||||
|
|
||||||
<p><a name="fsf">The Free Software Foundation</a> <a href=
|
|
||||||
"http://www.fsf.org/fsf/fsf.html">(FSF)</a> is a non-profit
|
|
||||||
institution that designed the GNU General Public License (GPL)
|
|
||||||
to promote the publication of free software. The GPL is used by
|
|
||||||
thousands of programmers who want to give others the right to
|
|
||||||
copy and modify the source code of their programs. Millions of
|
|
||||||
people benefit from this.</p>
|
|
||||||
|
|
||||||
<p><a name="junkbuster">We use the GPL</a> to allow everyone to
|
|
||||||
use, copy and modify the Internet Junkbuster as they wish. <a
|
|
||||||
name="separate">Companies can use it for commercial
|
|
||||||
purposes,</a> but they are not permitted to use it in products
|
|
||||||
that they claim as their property.</p>
|
|
||||||
|
|
||||||
<p><a name="text">The GPL</a> can also be used on documents
|
|
||||||
written in human languages. This documentation for the Internet
|
|
||||||
Junkbuster is also under the GPL. This means that you do not
|
|
||||||
have to break copyright laws in order to print a page or email
|
|
||||||
a screen of the text to someone, for example.</p>
|
|
||||||
|
|
||||||
<p><a name="rest">The</a> remainder of this page is the text of
|
|
||||||
the GPL. As legal documents go it's relatively clear, but
|
|
||||||
unfortunately it's fairly long because it has to cover a lot of
|
|
||||||
details. The HTML formatting is ours, and should not be
|
|
||||||
misinterpreted as changing the license in any way.</p>
|
|
||||||
|
|
||||||
<p align="center"><a href="#top_of_page"><img border="0" width=
|
|
||||||
"250" height="15" src="top.gif" alt=
|
|
||||||
"--- Back to Top of Page ---"></a></p>
|
|
||||||
|
|
||||||
<h2><a name="v2">Version 2, June 1991</a></h2>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<a name="crn">Copyright 1989, 1991</a><br>
|
|
||||||
<a name="address">Free Software Foundation, Inc.</a><br>
|
|
||||||
675 Mass Ave.<br>
|
|
||||||
Cambridge, MA 02139<br>
|
|
||||||
USA
|
|
||||||
</blockquote>
|
|
||||||
<a name="changing">Everyone</a>
|
|
||||||
|
|
||||||
<p>is permitted to copy and distribute verbatim copies of this
|
|
||||||
license document, but changing it is not allowed.</p>
|
|
||||||
|
|
||||||
<h3><a name="pream"><img border="0" width="14" height="14" src=
|
|
||||||
"fb.gif" alt="*"></a> Preamble</h3>
|
|
||||||
|
|
||||||
<p>The licenses for most software are designed to take away
|
|
||||||
your freedom to share and change it. By contrast, the GNU
|
|
||||||
General Public License is intended to guarantee your freedom to
|
|
||||||
share and change free software--to make sure the software is
|
|
||||||
free for all its users. This General Public License applies to
|
|
||||||
most of the Free Software Foundation's software and to any
|
|
||||||
other program whose authors commit to using it. (Some other
|
|
||||||
Free Software Foundation software is covered by the GNU Library
|
|
||||||
General Public License instead.) You can apply it to your
|
|
||||||
programs, too.</p>
|
|
||||||
|
|
||||||
<p><a name="freedom">When we speak of free software,</a> we are
|
|
||||||
referring to freedom, not price. Our General Public Licenses
|
|
||||||
are designed to make sure that you have the freedom to
|
|
||||||
distribute copies of free software (and charge for this service
|
|
||||||
if you wish), that you receive source code or can get it if you
|
|
||||||
want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these
|
|
||||||
things.</p>
|
|
||||||
|
|
||||||
<p><a name="forbid">To protect your rights,</a> we need to make
|
|
||||||
restrictions that forbid anyone to deny you these rights or to
|
|
||||||
ask you to surrender the rights. These restrictions translate
|
|
||||||
to certain responsibilities for you if you distribute copies of
|
|
||||||
the software, or if you modify it.</p>
|
|
||||||
|
|
||||||
<p><a name="allrights">For example,</a> if you distribute
|
|
||||||
copies of such a program, whether gratis or for a fee, you must
|
|
||||||
give the recipients all the rights that you have. You must make
|
|
||||||
sure that they, too, receive or can get the source code. And
|
|
||||||
you must show them these terms so they know their rights.</p>
|
|
||||||
|
|
||||||
<p><a name="steps">We protect your rights with two steps:</a>
|
|
||||||
(1) copyright the software, and (2) offer you this license
|
|
||||||
which gives you legal permission to copy, distribute and/or
|
|
||||||
modify the software.</p>
|
|
||||||
|
|
||||||
<p><a name="protection">Also,</a> for each author's protection
|
|
||||||
and ours, we want to make certain that everyone understands
|
|
||||||
that there is no warranty for this free software. If the
|
|
||||||
software is modified by someone else and passed on, we want its
|
|
||||||
recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the
|
|
||||||
original authors' reputations.</p>
|
|
||||||
|
|
||||||
<p><a name="threat">Finally,</a> any free program is threatened
|
|
||||||
constantly by software patents. We wish to avoid the danger
|
|
||||||
that redistributors of a free program will individually obtain
|
|
||||||
patent licenses, in effect making the program proprietary. To
|
|
||||||
prevent this, we have made it clear that any patent must be
|
|
||||||
licensed for everyone's free use or not licensed at all.</p>
|
|
||||||
|
|
||||||
<p><a name="terms">The precise terms and conditions</a> for
|
|
||||||
copying, distribution and modification follow.</p>
|
|
||||||
|
|
||||||
<h3><a name="tnc"><img border="0" width="14" height="14" src=
|
|
||||||
"fb.gif" alt="*"></a> GNU General Public License: Terms
|
|
||||||
and Conditions for Copying, Distribution and Modification</h3>
|
|
||||||
|
|
||||||
<p><a name="applies">O.</a> This License applies to any program
|
|
||||||
or other work which contains a notice placed by the copyright
|
|
||||||
holder saying it may be distributed under the terms of this
|
|
||||||
General Public License. The "Program", below, refers to any
|
|
||||||
such program or work, and a "work based on the Program" means
|
|
||||||
either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of
|
|
||||||
it, either verbatim or with modifications and/or translated
|
|
||||||
into another language. (Hereinafter, translation is included
|
|
||||||
without limitation in the term "modification".) Each licensee
|
|
||||||
is addressed as "you".</p>
|
|
||||||
|
|
||||||
<p><a name="scope">Activities</a> other than copying,
|
|
||||||
distribution and modification are not covered by this License;
|
|
||||||
they are outside its scope. The act of running the Program is
|
|
||||||
not restricted, and the output from the Program is covered only
|
|
||||||
if its contents constitute a work based on the Program
|
|
||||||
(independent of having been made by running the Program).</p>
|
|
||||||
|
|
||||||
<p><a name="depends">Whether that is true depends on what the
|
|
||||||
Program does.</a><br>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<ol type="1">
|
|
||||||
<li>
|
|
||||||
<a name="verbatim">You may copy</a> and distribute verbatim
|
|
||||||
copies of the Program's source code as you receive it, in
|
|
||||||
any medium, provided that you conspicuously and
|
|
||||||
appropriately publish on each copy an appropriate copyright
|
|
||||||
notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of
|
|
||||||
any warranty; and give any other recipients of the Program
|
|
||||||
a copy of this License along with the Program.
|
|
||||||
|
|
||||||
<p><a name="fee">You may charge a fee</a> for the physical
|
|
||||||
act of transferring a copy, and you may at your option
|
|
||||||
offer warranty protection in exchange for a fee.</p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a name="modify">You may modify</a> your copy or copies of
|
|
||||||
the Program or any portion of it, thus forming a work based
|
|
||||||
on the Program, and copy and distribute such modifications
|
|
||||||
or work under the terms of Section 1 above, provided that
|
|
||||||
you also meet all of these conditions:<br>
|
|
||||||
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li><a name="notices">You must cause</a> the modified
|
|
||||||
files to carry prominent notices stating that you changed
|
|
||||||
the files and the date of any change.</li>
|
|
||||||
|
|
||||||
<li><a name="nocharge">You must</a> cause any work that
|
|
||||||
you distribute or publish, that in whole or in part
|
|
||||||
contains or is derived from the Program or any part
|
|
||||||
thereof, to be licensed as a whole at no charge to all
|
|
||||||
third parties under the terms of this License.</li>
|
|
||||||
|
|
||||||
<li><a name="interactive">If the modified program</a>
|
|
||||||
normally reads commands interactively when run, you must
|
|
||||||
cause it, when started running for such interactive use
|
|
||||||
in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice
|
|
||||||
and a notice that there is no warranty (or else, saying
|
|
||||||
that you provide a warranty) and that users may
|
|
||||||
redistribute the program under these conditions, and
|
|
||||||
telling the user how to view a copy of this License.
|
|
||||||
(Exception: if the Program itself is interactive but does
|
|
||||||
not normally print such an announcement, your work based
|
|
||||||
on the Program is not required to print an
|
|
||||||
announcement.)</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p><a name="sections">These requirements</a> apply to the
|
|
||||||
modified work as a whole. If identifiable sections of that
|
|
||||||
work are not derived from the Program, and can be
|
|
||||||
reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply
|
|
||||||
to those sections when you distribute them as separate
|
|
||||||
works. But when you distribute the same sections as part of
|
|
||||||
a whole which is a work based on the Program, the
|
|
||||||
distribution of the whole must be on the terms of this
|
|
||||||
License, whose permissions for other licensees extend to
|
|
||||||
the entire whole, and thus to each and every part
|
|
||||||
regardless of who wrote it.</p>
|
|
||||||
|
|
||||||
<p><a name="intent">Thus,</a> it is not the intent of this
|
|
||||||
section to claim rights or contest your rights to work
|
|
||||||
written entirely by you; rather, the intent is to exercise
|
|
||||||
the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.</p>
|
|
||||||
|
|
||||||
<p><a name="aggregation">In addition,</a> mere aggregation
|
|
||||||
of another work not based on the Program with the Program
|
|
||||||
(or with a work based on the Program) on a volume of a
|
|
||||||
storage or distribution medium does not bring the other
|
|
||||||
work under the scope of this License.</p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a name="exeutable">You may copy</a> and distribute the
|
|
||||||
Program (or a work based on it, under Section 2) in object
|
|
||||||
code or executable form under the terms of Sections 1 and 2
|
|
||||||
above provided that you also do one of the following:<br>
|
|
||||||
|
|
||||||
|
|
||||||
<ol type="a">
|
|
||||||
<li><a name="medium">Accompany it</a> with the complete
|
|
||||||
corresponding machine-readable source code, which must be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on
|
|
||||||
a medium customarily used for software interchange;
|
|
||||||
or,</li>
|
|
||||||
|
|
||||||
<li><a name="written">Accompany it with a written
|
|
||||||
offer,</a> valid for at least three years, to give any
|
|
||||||
third party, for a charge no more than your cost of
|
|
||||||
physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code,
|
|
||||||
to be distributed under the terms of Sections 1 and 2
|
|
||||||
above on a medium customarily used for software
|
|
||||||
interchange; or,</li>
|
|
||||||
|
|
||||||
<li><a name="distrib">Accompany it</a> with the
|
|
||||||
information you received as to the offer to distribute
|
|
||||||
corresponding source code. (This alternative is allowed
|
|
||||||
only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form
|
|
||||||
with such an offer, in accord with Subsection b
|
|
||||||
above.)</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p><a name="preferred">The source code</a> for a work means
|
|
||||||
the preferred form of the work for making modifications to
|
|
||||||
it. For an executable work, complete source code means all
|
|
||||||
the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts
|
|
||||||
used to control compilation and installation of the
|
|
||||||
executable. However, as a special exception, the source
|
|
||||||
code distributed need not include anything that is normally
|
|
||||||
distributed (in either source or binary form) with the
|
|
||||||
major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that
|
|
||||||
component itself accompanies the executable.</p>
|
|
||||||
|
|
||||||
<p><a name="access">If distribution of executable or object
|
|
||||||
code is made</a> by offering access to copy from a
|
|
||||||
designated place, then offering equivalent access to copy
|
|
||||||
the source code from the same place counts as distribution
|
|
||||||
of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object
|
|
||||||
code.</p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li><a name="otherwise">You may not copy,</a> modify,
|
|
||||||
sublicense, or distribute the Program except as expressly
|
|
||||||
provided under this License. Any attempt otherwise to copy,
|
|
||||||
modify, sublicense or distribute the Program is void, and
|
|
||||||
will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from
|
|
||||||
you under this License will not have their licenses
|
|
||||||
terminated so long as such parties remain in full
|
|
||||||
compliance.</li>
|
|
||||||
|
|
||||||
<li><a name="voluntary">You are not required</a> to accept
|
|
||||||
this License, since you have not signed it. However, nothing
|
|
||||||
else grants you permission to modify or distribute the
|
|
||||||
Program or its derivative works. These actions are prohibited
|
|
||||||
by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on
|
|
||||||
the Program), you indicate your acceptance of this License to
|
|
||||||
do so, and all its terms and conditions for copying,
|
|
||||||
distributing or modifying the Program or works based on
|
|
||||||
it.</li>
|
|
||||||
|
|
||||||
<li><a name="redistrib">Each time you redistribute</a> the
|
|
||||||
Program (or any work based on the Program), the recipient
|
|
||||||
automatically receives a license from the original licensor
|
|
||||||
to copy, distribute or modify the Program subject to these
|
|
||||||
terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights
|
|
||||||
granted herein. You are not responsible for enforcing
|
|
||||||
compliance by third parties to this License.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a name="patent">If, as a consequence of a court
|
|
||||||
judgment</a> or allegation of patent infringement or for
|
|
||||||
any other reason (not limited to patent issues), conditions
|
|
||||||
are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License,
|
|
||||||
they do not excuse you from the conditions of this License.
|
|
||||||
If you cannot distribute so as to satisfy simultaneously
|
|
||||||
your obligations under this License and any other pertinent
|
|
||||||
obligations, then as a consequence you may not distribute
|
|
||||||
the Program at all. For example, if a patent license would
|
|
||||||
not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through
|
|
||||||
you, then the only way you could satisfy both it and this
|
|
||||||
License would be to refrain entirely from distribution of
|
|
||||||
the Program.
|
|
||||||
|
|
||||||
<p><a name="invalid">If any portion</a> of this section is
|
|
||||||
held invalid or unenforceable under any particular
|
|
||||||
circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in
|
|
||||||
other circumstances.</p>
|
|
||||||
|
|
||||||
<p><a name="induce">It is not the purpose</a> of this
|
|
||||||
section to induce you to infringe any patents or other
|
|
||||||
property right claims or to contest validity of any such
|
|
||||||
claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which
|
|
||||||
is implemented by public license practices. Many people
|
|
||||||
have made generous contributions to the wide range of
|
|
||||||
software distributed through that system in reliance on
|
|
||||||
consistent application of that system; it is up to the
|
|
||||||
author/donor to decide if he or she is willing to
|
|
||||||
distribute software through any other system and a licensee
|
|
||||||
cannot impose that choice.</p>
|
|
||||||
|
|
||||||
<p><a name="clarify">This section</a> is intended to make
|
|
||||||
thoroughly clear what is believed to be a consequence of
|
|
||||||
the rest of this License.</p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li><a name="geog">If the distribution</a> and/or use of the
|
|
||||||
Program is restricted in certain countries either by patents
|
|
||||||
or by copyrighted interfaces, the original copyright holder
|
|
||||||
who places the Program under this License may add an explicit
|
|
||||||
geographical distribution limitation excluding those
|
|
||||||
countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License
|
|
||||||
incorporates the limitation as if written in the body of this
|
|
||||||
License.</li>
|
|
||||||
|
|
||||||
<li><a name="revise">The Free Software Foundation</a> may
|
|
||||||
publish revised and/or new versions of the General Public
|
|
||||||
License from time to time. Such new versions will be similar
|
|
||||||
in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns. Each version is given a
|
|
||||||
distinguishing version number. If the Program specifies a
|
|
||||||
version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms
|
|
||||||
and conditions either of that version or of any later version
|
|
||||||
published by the Free Software Foundation. If the Program
|
|
||||||
does not specify a version number of this License, you may
|
|
||||||
choose any version ever published by the Free Software
|
|
||||||
Foundation.</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a name="permission">If you wish to incorporate parts</a>
|
|
||||||
of the Program into other free programs whose distribution
|
|
||||||
conditions are different, write to the author to ask for
|
|
||||||
permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation;
|
|
||||||
we sometimes make exceptions for this. Our decision will be
|
|
||||||
guided by the two goals of preserving the free status of
|
|
||||||
all derivatives of our free software and of promoting the
|
|
||||||
sharing and reuse of software generally.
|
|
||||||
|
|
||||||
<p><a name="nowarr">NO WARRANTY</a></p>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li><a name="foc">BECAUSE THE PROGRAM IS LICENSED FREE OF
|
|
||||||
CHARGE,</a> THERE IS NO WARRANTY FOR THE PROGRAM, TO THE
|
|
||||||
EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
|
||||||
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
|
||||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
|
|
||||||
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
|
|
||||||
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
|
|
||||||
SERVICING, REPAIR OR CORRECTION.</li>
|
|
||||||
|
|
||||||
<li><a name="liable">IN NO EVENT UNLESS REQUIRED</a> BY
|
|
||||||
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
|
|
||||||
HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
|
||||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
|
||||||
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
|
||||||
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
|
||||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
|
||||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
|
|
||||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<p>END OF TERMS AND CONDITIONS<br>
|
|
||||||
<br>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<h3><a name="append"><img border="0" width="14" height="14"
|
|
||||||
src="fb.gif" alt="*"></a> Appendix: How to Apply These
|
|
||||||
Terms to Your New Programs</h3>
|
|
||||||
|
|
||||||
<p>If you develop a new program, and you want it to be of the
|
|
||||||
greatest possible use to the public, the best way to achieve
|
|
||||||
this is to make it free software which everyone can
|
|
||||||
redistribute and change under these terms.</p>
|
|
||||||
|
|
||||||
<p><a name="attach">To do so,</a> attach the following notices
|
|
||||||
to the program. It is safest to attach them to the start of
|
|
||||||
each source file to most effectively convey the exclusion of
|
|
||||||
warranty; and each file should have at least the "copyright"
|
|
||||||
line and a pointer to where the full notice is found.</p>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
<one line to give the program's name and a brief idea of
|
|
||||||
what it does.> Copyright (C) 19yy <name of author>
|
|
||||||
|
|
||||||
<p><a name="free">This program is free software;</a> you can
|
|
||||||
redistribute it and/or modify it under the terms of the GNU
|
|
||||||
General Public License as published by the Free Software
|
|
||||||
Foundation; either version 2 of the License, or (at your
|
|
||||||
option) any later version.</p>
|
|
||||||
|
|
||||||
<p><a name="merchant">This program</a> is distributed in the
|
|
||||||
hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
||||||
without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
License for more details.</p>
|
|
||||||
|
|
||||||
<p><a name="ifnot">You should</a> have received a copy of the
|
|
||||||
GNU General Public License along with this program; if not,
|
|
||||||
write to the Free Software Foundation, Inc., 675 Mass Ave,
|
|
||||||
Cambridge, MA 02139, USA.</p>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="contact">Also add</a> information on how to contact
|
|
||||||
you by electronic and paper mail.</p>
|
|
||||||
|
|
||||||
<p><a name="short">If the program is interactive,</a> make it
|
|
||||||
output a short notice like this when it starts in an
|
|
||||||
interactive mode:</p>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
|
|
||||||
type `show w'. This is free software, and you are welcome to
|
|
||||||
redistribute it under certain conditions; type `show c' for
|
|
||||||
details.
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="hypo">The hypothetical</a> commands `show w' and
|
|
||||||
`show c' should show the appropriate parts of the General
|
|
||||||
Public License. Of course, the commands you use may be called
|
|
||||||
something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.</p>
|
|
||||||
|
|
||||||
<p><a name="disclaimer">You should also get your employer</a>
|
|
||||||
(if you work as a programmer) or your school, if any, to sign a
|
|
||||||
"copyright disclaimer" for the program, if necessary. Here is a
|
|
||||||
sample; alter the names:</p>
|
|
||||||
|
|
||||||
<blockquote>
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in
|
|
||||||
the program `Gnomovision' (which makes passes at compilers)
|
|
||||||
written by James Hacker. <signature of Ty Coon>, 1
|
|
||||||
April 1989<br>
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<p><a name="library">This General Public License</a> does not
|
|
||||||
permit incorporating your program into proprietary programs. If
|
|
||||||
your program is a subroutine library, you may consider it more
|
|
||||||
useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Library
|
|
||||||
General Public License instead of this License.</p>
|
|
||||||
|
|
||||||
<p align="center"><a href="#top_of_page"><img border="0" width=
|
|
||||||
"250" height="15" src="top.gif" alt=
|
|
||||||
"--- Back to Top of Page ---"></a></p>
|
|
||||||
|
|
||||||
<p class="sans"><a href="http://www.privoxy.org/">
|
|
||||||
Website</a> <b class="dot">·</b> <a href="ijbman.html">
|
|
||||||
Manual</a> <b class="dot">·</b> <a href="ijbfaq.html">
|
|
||||||
FAQ</a> <b class="dot">·</b> <b>GPL</b></p>
|
|
||||||
|
|
||||||
<p class="sans"><small><small><a href="gpl.html#text">
|
|
||||||
Copyright</a> © 1996-8 <a href=
|
|
||||||
"http://www.junkbusters.com/">Junkbusters</a> <a href=
|
|
||||||
"http://www.junkbusters.com/ht/en/legal.html#marks">®</a>
|
|
||||||
Corporation. <a href="gpl.html#text">Copyright</a> © 2001
|
|
||||||
<a href="http://sourceforge.net/projects/ijbswa/">Jon
|
|
||||||
Foster</a>. Copying and distribution permitted under the <a
|
|
||||||
href="gpl.html">GNU</a> General Public License. The text of the
|
|
||||||
GNU GPL itself is copyrighted by the FSF, and may be copied but
|
|
||||||
not modified.</small></small></p>
|
|
||||||
|
|
||||||
<p><small><code><a href=
|
|
||||||
"http://sourceforge.net/projects/ijbswa/">
|
|
||||||
http://sourceforge.net/projects/ijbswa/</a></code></small></p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
|
@ -1,488 +0,0 @@
|
||||||
.\" Copyright (c) 2001-2003 Andreas S. Oesterhelt <oes@oesterhelt.org>
|
|
||||||
.\"
|
|
||||||
.\" This is free documentation; you can redistribute it and/or
|
|
||||||
.\" modify it under the terms of the GNU General Public License as
|
|
||||||
.\" published by the Free Software Foundation; either version 2 of
|
|
||||||
.\" the License, or (at your option) any later version.
|
|
||||||
.\"
|
|
||||||
.\" The GNU General Public License's references to "object code"
|
|
||||||
.\" and "executables" are to be interpreted as the output of any
|
|
||||||
.\" document formatting or typesetting system, including
|
|
||||||
.\" intermediate and printed output.
|
|
||||||
.\"
|
|
||||||
.\" This manual is distributed in the hope that it will be useful,
|
|
||||||
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
.\" GNU General Public License for more details.
|
|
||||||
.\"
|
|
||||||
.\" You should have received a copy of the GNU General Public
|
|
||||||
.\" License along with this manual; if not, write to the Free
|
|
||||||
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
||||||
.\" MA 02111, USA.
|
|
||||||
.\"
|
|
||||||
.TH PCRS 3 "2 December 2003" "pcrs-0.0.3"
|
|
||||||
.SH NAME
|
|
||||||
pcrs - Perl-compatible regular substitution.
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.br
|
|
||||||
.B "#include <pcrs.h>"
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "pcrs_job *pcrs_compile(const char *" pattern ","
|
|
||||||
.ti +5n
|
|
||||||
.BI "const char *" substitute ", const char *" options ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int *" errptr );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "pcrs_job *pcrs_compile_command(const char *" command ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int *" errptr );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "int pcrs_execute(pcrs_job *" job ", char *" subject ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int " subject_length ", char **" result ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int *" result_length );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "int pcrs_execute_list (pcrs_job *" joblist ", char *" subject ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int " subject_length ", char **" result ,
|
|
||||||
.ti +5n
|
|
||||||
.BI "int *" result_length );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "pcrs_job *pcrs_free_job(pcrs_job *" job );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "void pcrs_free_joblist(pcrs_job *" joblist );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
.BI "char *pcrs_strerror(int " err );
|
|
||||||
.PP
|
|
||||||
.br
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
|
|
||||||
The
|
|
||||||
.SM PCRS
|
|
||||||
library is a supplement to the
|
|
||||||
.SB PCRE(3)
|
|
||||||
library that implements
|
|
||||||
.RB "regular expression based substitution, like provided by " Perl(1) "'s 's'"
|
|
||||||
operator. It uses the same syntax and semantics as Perl 5, with just a few
|
|
||||||
differences (see below).
|
|
||||||
|
|
||||||
In a first step, the information on a substitution, i.e. the pattern, the
|
|
||||||
substitute and the options are compiled from Perl syntax to an internal form
|
|
||||||
.RB "called " pcrs_job " by using either the " pcrs_compile() " or "
|
|
||||||
.BR pcrs_compile_command() " functions."
|
|
||||||
|
|
||||||
Once the job is compiled, it can be used on subjects, which are arbitrary
|
|
||||||
memory areas containing string or binary data, by calling
|
|
||||||
.BR pcrs_execute() ". Jobs can be chained to joblists and whole"
|
|
||||||
.RB "joblists can be applied to a subject using " pcrs_execute_list() .
|
|
||||||
|
|
||||||
There are also convenience functions for freeing the jobs and for errno-to-string
|
|
||||||
.RB "conversion, namely " pcrs_free_job() ", " pcrs_free_joblist() " and "
|
|
||||||
.BR pcrs_strerror() .
|
|
||||||
|
|
||||||
.SH COMPILING JOBS
|
|
||||||
|
|
||||||
.RB "The function " pcrs_compile() " is called to compile a " pcrs_job
|
|
||||||
.RI "from a " pattern ", " substitute " and " options " string."
|
|
||||||
.RB "The resulting " "pcrs_job" " structure is dynamically allocated and it"
|
|
||||||
.RB "is the caller's responsibility to call " "pcrs_free_job()" " when it's no longer needed."
|
|
||||||
|
|
||||||
.BR "pcrs_compile_command()" " is a convenience wrapper function that parses a Perl"
|
|
||||||
.IR "command" " of the form"
|
|
||||||
.BI "s/" "pattern" "/" "substitute" "/[" "options" "]"
|
|
||||||
.RB "into its components and then calls " "pcrs_compile()" ". As in Perl, you"
|
|
||||||
.RB "are not bound to the '" "/" "' character: Whatever"
|
|
||||||
.RB "follows the '" "s" "' will be used as the delimiter. Patterns or substitutes"
|
|
||||||
that contain the delimiter need to quote it:
|
|
||||||
\fBs/th\\/is/th\\/at/\fR
|
|
||||||
.RB "will replace " "th/is" " by " "th/at" " and can be written more simply as"
|
|
||||||
.BR "s|th/is|th/at|" "."
|
|
||||||
|
|
||||||
.IR "pattern" ", " "substitute" ", " "options" " and " "command" " must be"
|
|
||||||
.RI "zero-terminated C strings. " "substitute" " and " "options" " may be"
|
|
||||||
.BR "NULL" ", in which case they are treated like the empty string."
|
|
||||||
|
|
||||||
.SS "Return value and diagnostics"
|
|
||||||
On success, both functions return a pointer to the compiled job.
|
|
||||||
.RB "On failure, " "NULL"
|
|
||||||
.RI "is returned. In that case, the pcrs error code is written to *" "err" "."
|
|
||||||
|
|
||||||
.SS Patterns
|
|
||||||
.RI "For the syntax of the " "pattern" ", see the "
|
|
||||||
.BR "PCRE(3)" " manual page."
|
|
||||||
|
|
||||||
.SS Substitutes
|
|
||||||
.RI "The " "substitute" " uses"
|
|
||||||
.RB "Perl syntax as documented in the " "perlre(1)" " manual page, with"
|
|
||||||
some exceptions:
|
|
||||||
|
|
||||||
Most notably and evidently, since
|
|
||||||
.SM PCRS
|
|
||||||
is not Perl, variable interpolation or Perl command substitution won't work.
|
|
||||||
Special variables that do get interpolated, are:
|
|
||||||
.TP
|
|
||||||
.B "$1, $2, ..., $n"
|
|
||||||
Like in Perl, these variables refer to what the nth capturing subpattern
|
|
||||||
in the pattern matched.
|
|
||||||
.TP
|
|
||||||
.B "$& and $0"
|
|
||||||
.RB "refer to the whole match. Note that " "$0" " is deprecated in recent"
|
|
||||||
Perl versions and now refers to the program name.
|
|
||||||
.TP
|
|
||||||
.B "$+"
|
|
||||||
refers to what the last capturing subpattern matched.
|
|
||||||
.TP
|
|
||||||
.BR "$` and $'" " (backtick and tick)"
|
|
||||||
.RI "refer to the areas of the " "subject" " before and after the match, respectively."
|
|
||||||
.RB "Note that, like in Perl, the " "unmodified" " subject is used, even"
|
|
||||||
if a global substitution previously matched.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
Perl4-style references to subpattern matches of the form
|
|
||||||
\fB\\1, \\2, ...\fR
|
|
||||||
.RB "which only exist in Perl5 for backwards compatibility, are " "not"
|
|
||||||
supported.
|
|
||||||
|
|
||||||
Also, since the substitute is a double-quoted string in Perl, you
|
|
||||||
might expect all Perl syntax for special characters to apply. In fact,
|
|
||||||
only the following are supported:
|
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB\\n\fR
|
|
||||||
newline (0x0a)
|
|
||||||
.TP
|
|
||||||
\fB\\r\fR
|
|
||||||
carriage return (0x0d)
|
|
||||||
.TP
|
|
||||||
\fB\\t\fR
|
|
||||||
horizontal tab (0x09)
|
|
||||||
.TP
|
|
||||||
\fB\\f\fR
|
|
||||||
form feed (0x0c)
|
|
||||||
.TP
|
|
||||||
\fB\\b\fR
|
|
||||||
backspace (0x08)
|
|
||||||
.TP
|
|
||||||
\fB\\a\fR
|
|
||||||
alarm, bell (0x07)
|
|
||||||
.TP
|
|
||||||
\fB\\e\fR
|
|
||||||
escape (0x1b)
|
|
||||||
.TP
|
|
||||||
\fB\\0\fR
|
|
||||||
binary zero (0x00)
|
|
||||||
|
|
||||||
.SS "Options"
|
|
||||||
.RB "The options " "gmisx" " are supported. " "e" " is not, since it would"
|
|
||||||
.RB "require a Perl interpreter and neither is " o ", because the pattern
|
|
||||||
is explicitly compiled, anyway. Additionally,
|
|
||||||
.SM PCRS
|
|
||||||
.RB "honors the options " "U" " and " "T" "."
|
|
||||||
Where
|
|
||||||
.SM PCRE
|
|
||||||
.RB "options are mentioned below, refer to " PCRE(3) " for the subtle differences"
|
|
||||||
to Perl behaviour.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B g
|
|
||||||
.RB "Replace " all " instances of"
|
|
||||||
.IR pattern " in " subject ,
|
|
||||||
not just the first one.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B i
|
|
||||||
.RI "Match the " pattern " without respect to case. This translates to"
|
|
||||||
.SM PCRE_CASELESS.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B m
|
|
||||||
.RI "Treat the " subject " as consisting of multiple lines, i.e."
|
|
||||||
.RB ' ^ "' matches immediately after, and '" $ "' immediately before each newline."
|
|
||||||
Translates to
|
|
||||||
.SM PCRE_MULTILINE.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B s
|
|
||||||
.RI "Treat the " subject " as consisting of one single line, i.e."
|
|
||||||
.RB "let the scope of the '" . "' metacharacter include newlines."
|
|
||||||
Translates to
|
|
||||||
.SM PCRE_DOTALL.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B x
|
|
||||||
.RI "Allow extended regular expression syntax in the " pattern ","
|
|
||||||
.RB "enabling whitespace and comments in complex patterns."
|
|
||||||
Translates to
|
|
||||||
.SM PCRE_EXTENDED.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B U
|
|
||||||
.RB "Switch the default behaviour of the '" * "' and '" + "' quantifiers"
|
|
||||||
.RB "to ungreedy. Note that appending a '" ? "' switches back to greedy(!)."
|
|
||||||
.RB "The explicit in-pattern switches " (?U) " and " (?-U) " remain unaffected."
|
|
||||||
Translates to
|
|
||||||
.SM PCRE_UNGREEDY.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B T
|
|
||||||
.RI "Consider the " substitute " trivial, i.e. do not interpret any references"
|
|
||||||
or special character escape sequences in the substitute. Handy for large
|
|
||||||
user-supplied substitutes, which would otherwise have to be examined and properly
|
|
||||||
quoted.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
Unsupported options are silently ignored.
|
|
||||||
|
|
||||||
.SH EXECUTING JOBS
|
|
||||||
|
|
||||||
.RI "Calling " pcrs_execute() " produces a modified copy of the " subject ", in which"
|
|
||||||
.RB "the first (or all, if the '" g "' option was given when compiling the job)"
|
|
||||||
.RI "occurance(s) of the job's " pattern " in the " subject " is replaced by the job's"
|
|
||||||
.IR substitute .
|
|
||||||
|
|
||||||
.RI "The first " subject_length " bytes following " subject " are processed, so"
|
|
||||||
.RI "a " subject_length " that exceeds the actual " subject " is dangerous."
|
|
||||||
.RI "Note that for zero-terminated C strings, you should set " subject_length " to"
|
|
||||||
.BI strlen( subject ) \fR,
|
|
||||||
so that the dollar metacharacter matches at the end of the string, not after
|
|
||||||
the string-terminating null byte. For convenience, an extra null byte is
|
|
||||||
appended to the result so it can again be used as a string.
|
|
||||||
|
|
||||||
.RI "The " subject " itself is left untouched, and the " *result " is dynamically"
|
|
||||||
.RB "allocated, so it is the caller's responsibility to " free() " it when it's"
|
|
||||||
no longer needed.
|
|
||||||
|
|
||||||
.RI "The result's length (excluding the extra null byte) is written to " *result_length "."
|
|
||||||
|
|
||||||
.RB "If the job matched, the " PCRS_SUCCESS " flag in"
|
|
||||||
.IB job ->flags
|
|
||||||
is set.
|
|
||||||
|
|
||||||
|
|
||||||
.SS String subjects
|
|
||||||
If your
|
|
||||||
|
|
||||||
.SS Return value and diagnostics
|
|
||||||
|
|
||||||
.RB "On success, " pcrs_execute() " returns the number of substitutions that"
|
|
||||||
were made, which is limited to 0 or 1 for non-global searches.
|
|
||||||
.RI "On failure, a negative error code is returned and " result " is set"
|
|
||||||
.RB "to " NULL .
|
|
||||||
|
|
||||||
.SH FREEING JOBS
|
|
||||||
.RB "It is not sufficient to call " free() " on a " pcrs_job ", because it "
|
|
||||||
contains pointers to other dynamically allocated structures.
|
|
||||||
.RB "Use " pcrs_free_job() " instead. It is safe to pass " NULL " pointers "
|
|
||||||
.RB "(or pointers to invalid " pcrs_job "s that contain " NULL " pointers"
|
|
||||||
.RB "to dependant structures) to " pcrs_free_job() "."
|
|
||||||
|
|
||||||
.SS Return value
|
|
||||||
.RB "The value of the job's " next " pointer."
|
|
||||||
|
|
||||||
|
|
||||||
.SH CHAINING JOBS
|
|
||||||
|
|
||||||
.SM PCRS
|
|
||||||
.RB "supports to some extent the chaining of multiple " pcrs_job " structures by"
|
|
||||||
.RB "means of their " next " member."
|
|
||||||
|
|
||||||
Chaining the jobs is up to you, but once you have built a linked list of jobs,
|
|
||||||
.RI "you can execute a whole " joblist " on a given subject by"
|
|
||||||
.RB "a single call to " pcrs_execute_list() ", which will sequentially traverse"
|
|
||||||
.RB "the linked list until it reaches a " NULL " pointer, and call " pcrs_execute()
|
|
||||||
.RI "for each job it encounters, feeding the " result " and " result_length " of each"
|
|
||||||
.RI "call into the next as the " subject " and " subject_length ". As in the single"
|
|
||||||
.RI "job case, the original " subject " remains untouched, but all interim " result "s"
|
|
||||||
.RB "are of course " free() "d. The return value is the accumulated number of matches"
|
|
||||||
.RI "for all jobs in the " joblist "."
|
|
||||||
.RI "Note that while this is handy, it reduces the diagnostic value of " err ", since "
|
|
||||||
you won't know which job failed.
|
|
||||||
|
|
||||||
.RI "In analogy, you can free all jobs in a given " joblist " by calling"
|
|
||||||
.BR pcrs_free_joblist() .
|
|
||||||
|
|
||||||
.SH QUOTING
|
|
||||||
The quote character is (surprise!) '\fB\\\fR'. It quotes the delimiter in a
|
|
||||||
.IR command ", the"
|
|
||||||
.RB ' $ "' in a"
|
|
||||||
.IR substitute ", and, of course, itself. Note that the"
|
|
||||||
.RB ' $ "' doesn't need to be quoted if it isn't followed by " [0-9+'`&] "."
|
|
||||||
|
|
||||||
.RI "For quoting in the " pattern ", please refer to"
|
|
||||||
.BR PCRE(3) .
|
|
||||||
|
|
||||||
.SH DIAGNOSTICS
|
|
||||||
|
|
||||||
.RB "When " compiling " a job either via the " pcrs_compile() " or " pcrs_compile_command()
|
|
||||||
.RB "functions, you know that something went wrong when you are returned a " NULL " pointer."
|
|
||||||
.RI "In that case, or in the event of non-fatal warnings, the integer pointed to by " err
|
|
||||||
contains a nonzero error code, which is either a passed-through
|
|
||||||
.SM PCRE
|
|
||||||
error code or one generated by
|
|
||||||
.SM PCRS.
|
|
||||||
Under normal circumstances, it can take the following values:
|
|
||||||
.TP
|
|
||||||
.B PCRE_ERROR_NOMEMORY
|
|
||||||
While compiling the pattern,
|
|
||||||
.SM PCRE
|
|
||||||
ran out of memory.
|
|
||||||
.TP
|
|
||||||
.B PCRS_ERR_NOMEM
|
|
||||||
While compiling the job,
|
|
||||||
.SM PCRS
|
|
||||||
ran out of memory.
|
|
||||||
.TP
|
|
||||||
.B PCRS_ERR_CMDSYNTAX
|
|
||||||
.BR pcrs_compile_command() " didn't find four tokens while parsing the"
|
|
||||||
.IR command .
|
|
||||||
.TP
|
|
||||||
.B PCRS_ERR_STUDY
|
|
||||||
A
|
|
||||||
.SM PCRE
|
|
||||||
.RB "error occured while studying the compiled pattern. Since " pcre_study()
|
|
||||||
only provides textual diagnostic information, the details are lost.
|
|
||||||
.TP
|
|
||||||
.B PCRS_WARN_BADREF
|
|
||||||
.RI "The " substitute " contains a reference to a capturing subpattern that"
|
|
||||||
.RI "has a higher index than the number of capturing subpatterns in the " pattern
|
|
||||||
or that exceeds the current hard limit of 33 (See LIMITATIONS below). As in Perl,
|
|
||||||
this is non-fatal and results in substitutions with the empty string.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.RB "When " executing " jobs via " pcrs_execute() " or " pcrs_execute_list() ","
|
|
||||||
.RI "a negative return code indicates an error. In that case, *" result
|
|
||||||
.RB "is " NULL ". Possible error codes are:"
|
|
||||||
.TP
|
|
||||||
.B PCRE_ERROR_NOMEMORY
|
|
||||||
While matching the pattern,
|
|
||||||
.SM PCRE
|
|
||||||
ran out of memory. This can only happen if there are more than 33 backrefrences
|
|
||||||
.RI "in the " pattern "(!)"
|
|
||||||
.BR and " memory is too tight to extend storage for more."
|
|
||||||
.TP
|
|
||||||
.B PCRS_ERR_NOMEM
|
|
||||||
While executing the job,
|
|
||||||
.SM PCRS
|
|
||||||
ran out of memory.
|
|
||||||
.TP
|
|
||||||
.B PCRS_ERR_BADJOB
|
|
||||||
.RB "The " pcrs_job "* passed to " pcrs_execute " was NULL, or the"
|
|
||||||
.RB "job is bogus (it contains " NULL " pointers to the compiled
|
|
||||||
pattern, extra, or substitute).
|
|
||||||
|
|
||||||
.PP
|
|
||||||
If you see any other
|
|
||||||
.SM PCRE
|
|
||||||
error code passed through, you've either messed with the compiled job
|
|
||||||
or found a bug in
|
|
||||||
.SM PCRS.
|
|
||||||
Please send me an email.
|
|
||||||
|
|
||||||
.RB "Ah, and don't look for " PCRE_ERROR_NOMATCH ", since this"
|
|
||||||
is not an error in the context of
|
|
||||||
.SM PCRS.
|
|
||||||
.RI "Should there be no match, an exact copy of the " subject " is"
|
|
||||||
.RI "found at *" result " and the return code is 0 (matches)."
|
|
||||||
|
|
||||||
All error codes can be translated into human readable text by means
|
|
||||||
.RB "of the " pcrs_strerror() " function."
|
|
||||||
|
|
||||||
|
|
||||||
.SH EXAMPLE
|
|
||||||
A trivial command-line test program for
|
|
||||||
.SM PCRS
|
|
||||||
might look like:
|
|
||||||
|
|
||||||
.nf
|
|
||||||
#include <pcrs.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int main(int Argc, char **Argv)
|
|
||||||
{
|
|
||||||
pcrs_job *job;
|
|
||||||
char *result;
|
|
||||||
size_t newsize;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
if (Argc != 3)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Usage: %s s/pattern/substitute/[options] subject\\n", Argv[0]);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (NULL == (job = pcrs_compile_command(Argv[1], &err)))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s: compile error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (0 > (err = pcrs_execute(job, Argv[2], strlen(Argv[2]), &result, &newsize)))
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s: exec error: %s (%d).\\n", Argv[0], pcrs_strerror(err), err);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("Result: *%s*\\n", result);
|
|
||||||
free(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
pcrs_free_job(job);
|
|
||||||
return(err < 0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.fi
|
|
||||||
|
|
||||||
|
|
||||||
.SH LIMITATIONS
|
|
||||||
The number of matches that a global job can have is only limited by the
|
|
||||||
available memory. An initial storage for 40 matches is reserved, which
|
|
||||||
is dynamically resized by the factor 1.6 whenever it is exhausted.
|
|
||||||
|
|
||||||
The number of capturing subpatterns is currently limited to 33, which
|
|
||||||
is a Bad Thing[tm]. It should be dynamically expanded until it reaches the
|
|
||||||
.SM PCRE
|
|
||||||
limit of 99.
|
|
||||||
.br
|
|
||||||
This limitation is particularly embarassing since
|
|
||||||
.SM PCRE
|
|
||||||
3.5 has raised the capturing subpattern limit to 65K.
|
|
||||||
|
|
||||||
All of the above values can be adjusted in the "Capacity" section
|
|
||||||
.RB "of " pcrs.h "."
|
|
||||||
|
|
||||||
The Perl-style escape sequences for special characters \\\fInnn\fR,
|
|
||||||
\\x\fInn\fR, and \\c\fIX\fR are currently unsupported.
|
|
||||||
|
|
||||||
.SH BUGS
|
|
||||||
This library has only been tested in the context of one application
|
|
||||||
and should be considered high risk.
|
|
||||||
|
|
||||||
.SH HISTORY
|
|
||||||
.SM PCRS
|
|
||||||
was originally written for the Privoxy project
|
|
||||||
(http://www.privoxy.org/).
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.B PCRE(3), perl(1), perlre(1)
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
|
|
||||||
.SM PCRS
|
|
||||||
is Copyright 2000 - 2003 by Andreas Oesterhelt <andreas@oesterhelt.org> and is
|
|
||||||
licensed under the terms of the GNU Lesser General Public License (LGPL),
|
|
||||||
version 2.1, which should be included in this distribution, with the exception
|
|
||||||
that the permission to replace that license with the GNU General Public
|
|
||||||
License (GPL) given in section 3 is restricted to version 2 of the GPL.
|
|
||||||
|
|
||||||
If it is missing from this distribution, the LGPL can be obtained from
|
|
||||||
http://www.gnu.org/licenses/lgpl.html or by mail: Write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
@ -1,67 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/authors.sgml,v $
|
|
||||||
|
|
||||||
Purpose : AUTHORS file for Privoxy
|
|
||||||
|
|
||||||
$Id: authors.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
|
||||||
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation. You have been warned!
|
|
||||||
Failure to abide by this rule will result in the revocation of your license
|
|
||||||
to live a peaceful existence!
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
===================================================================
|
|
||||||
READ: Document Note: This file generates the AUTHORS file in the
|
|
||||||
top level source directory. See p-authors.sgml for list of developers
|
|
||||||
and contributors, etc. They were split from here for use in man page.
|
|
||||||
===================================================================
|
|
||||||
|
|
||||||
-->
|
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity authors SYSTEM "p-authors.sgml">
|
|
||||||
<!entity p-version "3.0.11">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % p-stable "INCLUDE">
|
|
||||||
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
|
||||||
<!entity % p-authors-formal "INCLUDE"> <!-- include additional text, etc -->
|
|
||||||
]>
|
|
||||||
|
|
||||||
<article id="index">
|
|
||||||
|
|
||||||
<![%dummy;[
|
|
||||||
<para>
|
|
||||||
<comment>
|
|
||||||
This is here to keep vim syntax file from breaking :/
|
|
||||||
If I knew enough to fix it, I would.
|
|
||||||
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
|
||||||
</comment>
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
<literallayout>
|
|
||||||
Authors of <application>Privoxy</application> v2.9.x and 3.x
|
|
||||||
===========================================================================
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
<!-- include boilerplate p-authors.sgml -->
|
|
||||||
&authors;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If we've missed you off this list, please let us know!
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout>
|
|
||||||
Privoxy team. <ulink url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>
|
|
||||||
<email>ijbswa-developers@lists.sourceforge.net</email>
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
</article>
|
|
|
@ -1,256 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/buildsource.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: buildsource.sgml,v 2.18 2009/02/23 09:03:12 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
user-manual
|
|
||||||
INSTALL
|
|
||||||
|
|
||||||
-->
|
|
||||||
<para>
|
|
||||||
To build <application>Privoxy</application> from source,
|
|
||||||
<ulink url="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</ulink>,
|
|
||||||
<ulink
|
|
||||||
url="http://www.gnu.org/software/make/make.html">GNU make
|
|
||||||
(gmake)</ulink>, and, of course, a C compiler like <ulink
|
|
||||||
url="http://www.gnu.org/software/gcc/gcc.html">gcc</ulink> are required.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
When building from a source tarball,
|
|
||||||
<!--
|
|
||||||
no longer available ...
|
|
||||||
<ulink
|
|
||||||
url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.gz">nightly CVS
|
|
||||||
tarball</ulink>),
|
|
||||||
--> first unpack the source:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
tar xzvf privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>-src.tar.gz
|
|
||||||
cd privoxy-&p-version;<![%p-not-stable;[-beta]]><![%p-stable;[-stable]]>
|
|
||||||
</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For retrieving the current CVS sources, you'll need a CVS client installed.
|
|
||||||
Note that sources from CVS are typically development quality, and may not be
|
|
||||||
stable, or well tested. To download CVS source, check the Sourceforge
|
|
||||||
documentation, which might give commands like:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
cvs -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa login
|
|
||||||
cvs -z3 -d:pserver:anonymous@ijbswa.cvs.sourceforge.net:/cvsroot/ijbswa co current
|
|
||||||
cd current
|
|
||||||
</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This will create a directory named <filename>current/</filename>, which will
|
|
||||||
contain the source tree.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You can also check out any <application>Privoxy</application>
|
|
||||||
<quote>branch</quote>, just exchange the <application>current</application>
|
|
||||||
name with the wanted branch name (Example: v_3_0_branch for the 3.0 cvs
|
|
||||||
tree).
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
It is also strongly recommended to not run <application>Privoxy</application>
|
|
||||||
as root. You should configure/install/run <application>Privoxy</application> as
|
|
||||||
an unprivileged user, preferably by creating a <quote>privoxy</quote> user
|
|
||||||
and group just for this purpose. See your local documentation for the correct
|
|
||||||
command line to do add new users and groups (something like
|
|
||||||
<command>adduser</command>, but the command syntax may vary from platform
|
|
||||||
to platform).
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<filename>/etc/passwd</filename> might then look like:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen> privoxy:*:7777:7777:privoxy proxy:/no/home:/no/shell</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
And then <filename>/etc/group</filename>, like:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen> privoxy:*:7777:</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Some binary packages may do this for you.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Then, to build from either unpacked tarball or CVS source:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
autoheader
|
|
||||||
autoconf
|
|
||||||
./configure # (--help to see options)
|
|
||||||
make # (the make from GNU, sometimes called gmake)
|
|
||||||
su # Possibly required
|
|
||||||
make -n install # (to see where all the files will go)
|
|
||||||
make -s install # (to really install, -s to silence output)</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Using GNU <command>make</command>, you can have the first four steps
|
|
||||||
automatically done for you by just typing:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
make
|
|
||||||
</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
in the freshly downloaded or unpacked source directory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
To build an executable with security enhanced features so that
|
|
||||||
users cannot easily bypass the proxy (e.g. <quote>Go There Anyway</quote>), or
|
|
||||||
alter their own configurations, <command>configure</command> like this:
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
./configure --disable-toggle --disable-editor --disable-force</screen>
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Then build as above. In Privoxy 3.0.7 and later, all of these options
|
|
||||||
can also be disabled through the configuration file.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<emphasis>WARNING:</emphasis> If installing as root, the install will fail
|
|
||||||
unless a non-root user or group is specified, or a <literal>privoxy</literal>
|
|
||||||
user and group already exist on the system. If a non-root user is specified,
|
|
||||||
and no group, then the installation will try to also use a group of the same name
|
|
||||||
as <quote>user</quote>. If a group is specified (and no user), then the
|
|
||||||
support files will be installed as writable by that group, and owned by the
|
|
||||||
user running the installation.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<command>configure</command> accepts <literal>--with-user</literal> and
|
|
||||||
<literal>--with-group</literal> options for setting user and group ownership
|
|
||||||
of the configuration files (which need to be writable by the daemon). The
|
|
||||||
specified <emphasis>user must already exist</emphasis>. When starting
|
|
||||||
<application>Privoxy</application>, it must be run as this same user to
|
|
||||||
insure write access to configuration and log files!
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Alternately, you can specify <literal>user</literal> and <literal>group</literal>
|
|
||||||
on the <command>make</command> command line, but be sure both already exist:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<screen>
|
|
||||||
make -s install USER=privoxy GROUP=privoxy</screen>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The default installation path for <command>make install</command> is
|
|
||||||
<filename>/usr/local</filename>. This may of course be customized with
|
|
||||||
the various <command>./configure</command> path options. If you are doing
|
|
||||||
an install to anywhere besides <filename>/usr/local</filename>, be
|
|
||||||
sure to set the appropriate paths with the correct configure options
|
|
||||||
(<command>./configure --help</command>). Non-privileged users must of course
|
|
||||||
have write access permissions to wherever the target installation is going.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you do install to <filename>/usr/local</filename>, the install will use
|
|
||||||
<literal>sysconfdir=$prefix/etc/privoxy</literal> by default. All other
|
|
||||||
destinations, and the direct usage of <literal>--sysconfdir</literal> flag
|
|
||||||
behave like normal, i.e. will not add the extra <filename>privoxy</filename>
|
|
||||||
directory. This is for a safer install, as there may already exist another
|
|
||||||
program that uses a file with the <quote>config</quote> name, and thus makes
|
|
||||||
<filename>/usr/local/etc</filename> cleaner.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If installing to <filename>/usr/local</filename>, the documentation will go
|
|
||||||
by default to <filename>$prefix/share/doc</filename>. But if this directory
|
|
||||||
doesn't exist, it will then try <filename>$prefix/doc</filename> and install
|
|
||||||
there before creating a new <filename>$prefix/share/doc</filename> just for
|
|
||||||
<application>Privoxy</application>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Again, if the installs goes to <filename>/usr/local</filename>, the
|
|
||||||
<literal>localstatedir</literal> (ie: <filename>var/</filename>) will default
|
|
||||||
to <filename>/var</filename> instead of <literal>$prefix/var</literal> so
|
|
||||||
the logs will go to <filename>/var/log/privoxy/</filename>, and the pid file
|
|
||||||
will be created in <filename>/var/run/privoxy.pid</filename>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<command>make install</command> will attempt to set the correct values
|
|
||||||
in <filename>config</filename> (main configuration file). You should
|
|
||||||
check this to make sure all values are correct. If appropriate,
|
|
||||||
an init script will be installed, but it is up to the user to determine
|
|
||||||
how and where to start <application>Privoxy</application>. The init
|
|
||||||
script should be checked for correct paths and values, if anything other than
|
|
||||||
a default install is done.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If install finds previous versions of local configuration files, most of
|
|
||||||
these will not be overwritten, and the new ones will be installed with a
|
|
||||||
<quote>new</quote> extension. default.action and default.filter
|
|
||||||
<emphasis>will be overwritten</emphasis>. You will then need
|
|
||||||
to manually update the other installed configuration files as needed. The
|
|
||||||
default template files <emphasis>will</emphasis> be overwritten. If you have
|
|
||||||
customized, local templates, these should be stored safely in a separate
|
|
||||||
directory and defined in <filename>config</filename> by the
|
|
||||||
<quote>templdir</quote> directive. It is of course wise to always back-up any
|
|
||||||
important configuration files <quote>just in case</quote>. If a previous
|
|
||||||
version of <application>Privoxy</application> is already running, you will
|
|
||||||
have to restart it manually.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For more detailed instructions on how to build Redhat RPMs,
|
|
||||||
Windows self-extracting installers, building on platforms with
|
|
||||||
special requirements etc, please consult the <ulink
|
|
||||||
url="http://www.privoxy.org/developer-manual/newrelease.html">developer manual</ulink>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- print for README only -->
|
|
||||||
<!-- Actually this is now in INSTALL -->
|
|
||||||
<![%p-readme;[
|
|
||||||
<para>
|
|
||||||
The simplest command line to start <application>Privoxy</application> is
|
|
||||||
<command>$path/privoxy --user=privoxy $path/etc/privoxy/config</command>.
|
|
||||||
See <command>privoxy --usage</command>, or the man page, for other options,
|
|
||||||
and configuration.
|
|
||||||
</para>
|
|
||||||
]]>
|
|
|
@ -1,36 +0,0 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN"[
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity config SYSTEM "p-config.sgml">
|
|
||||||
<!entity p-version "3.0.11">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % user-man "IGNORE">
|
|
||||||
<!entity % config-file "IGNORE">
|
|
||||||
<!entity my-app "<application>Privoxy</application>">
|
|
||||||
]>
|
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/config.sgml,v $
|
|
||||||
|
|
||||||
Purpose : config file generation
|
|
||||||
|
|
||||||
$Id: config.sgml,v 2.12 2009/02/12 16:08:26 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation.
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
This file is used to generate the main Privoxy config file. It is mostly
|
|
||||||
content included from p-config.sgml (where all the data is). See that
|
|
||||||
file for more comments.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<article>
|
|
||||||
<!-- include config.sgml -->
|
|
||||||
&config;
|
|
||||||
<!-- end include -->
|
|
||||||
</article>
|
|
|
@ -1,262 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/contacting.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: contacting.sgml,v 2.14 2008/04/26 11:38:51 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
faq
|
|
||||||
developer-manual
|
|
||||||
README
|
|
||||||
user-manual
|
|
||||||
webserver/index.sgml
|
|
||||||
announce.sgml
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!-- READ: -->
|
|
||||||
<!-- Careful of the literallayout tags and finished formatting -->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
We value your feedback. In fact, we rely on it to improve
|
|
||||||
<application>Privoxy</application> and its configuration.
|
|
||||||
However, please note the following hints, so we can
|
|
||||||
provide you with the best support:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<sect2 id="contact-support"><title>Get Support</title>
|
|
||||||
<para>
|
|
||||||
For casual users, our
|
|
||||||
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=211118">support forum at SourceForge</ulink>
|
|
||||||
is probably best suited:
|
|
||||||
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=211118">http://sourceforge.net/tracker/?group_id=11118&atid=211118</ulink>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
All users are of course welcome to discuss their issues on the <ulink
|
|
||||||
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-users">users
|
|
||||||
mailing list</ulink>, where the developers also hang around.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Please don't sent private support requests to individual Privoxy
|
|
||||||
developers, either use the mailing lists or the support trackers.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
|
||||||
addresses have to be accepted manually by a moderator. This may cause a
|
|
||||||
delay of several days and if you use a subject that doesn't clearly
|
|
||||||
mention Privoxy or one of its features, your message may be accidentally
|
|
||||||
discarded as spam.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you aren't subscribed, you should therefore spend a few seconds
|
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
|
||||||
the mailing list only, and you won't see them.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="reporting"><title>Reporting Problems</title>
|
|
||||||
<para>
|
|
||||||
<quote>Problems</quote> for our purposes, come in two forms:
|
|
||||||
</para>
|
|
||||||
<itemizedlist>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Configuration issues, such as ads that slip through, or sites that
|
|
||||||
don't function properly due to one <application>Privoxy</application>
|
|
||||||
<quote>action</quote> or another being turned <quote>on</quote>.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<quote>Bugs</quote> in the programming code that makes up
|
|
||||||
<application>Privoxy</application>, such as that might cause a crash.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
|
|
||||||
<sect3 id="contact-ads"><title>Reporting Ads or Other Configuration Problems</title>
|
|
||||||
<para>
|
|
||||||
Please send feedback on ads that slipped through, innocent images that were
|
|
||||||
blocked, sites that don't work properly, and other configuration related problem of
|
|
||||||
<filename>default.action</filename> file, to
|
|
||||||
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=460288">
|
|
||||||
http://sourceforge.net/tracker/?group_id=11118&atid=460288</ulink>,
|
|
||||||
the Actions File Tracker.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
New, improved <filename>default.action</filename> files may occasionally be made
|
|
||||||
available based on your feedback. These will be announced on the <ulink
|
|
||||||
url="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce">ijbswa-announce</ulink>
|
|
||||||
list and available from our the <ulink
|
|
||||||
url="http://sourceforge.net/project/showfiles.php?group_id=11118">files section</ulink> of
|
|
||||||
our <ulink url="http://sf.net/projects/ijbswa/">project page</ulink>.
|
|
||||||
</para>
|
|
||||||
</sect3>
|
|
||||||
|
|
||||||
|
|
||||||
<sect3 id="contact-bugs"><title>Reporting Bugs</title>
|
|
||||||
<para>
|
|
||||||
Please report all bugs through our bug tracker:
|
|
||||||
<ulink url="http://sourceforge.net/tracker/?group_id=11118&atid=111118">http://sourceforge.net/tracker/?group_id=11118&atid=111118</ulink>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Before doing so, please make sure that the bug has <emphasis>not already been submitted</emphasis>
|
|
||||||
and observe the additional hints at the top of the <ulink
|
|
||||||
url="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118">submit
|
|
||||||
form</ulink>. If already submitted, please feel free to add any info to the
|
|
||||||
original report that might help to solve the issue.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Please try to verify that it is a <application>Privoxy</application> bug,
|
|
||||||
and not a browser or site bug or documented behaviour that just happens
|
|
||||||
to be different than what you expected. If unsure,
|
|
||||||
try <ulink url="http://config.privoxy.org/toggle?set=disable">toggling
|
|
||||||
off</ulink> <application>Privoxy</application>, and see if the problem persists.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you are using your own custom configuration, please try
|
|
||||||
the stock configs to see if the problem is configuration related.
|
|
||||||
If you're having problems with a feature that is disabled by default,
|
|
||||||
please ask around on the mailing list if others can reproduce the problem.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If you aren't using the latest Privoxy version, the bug may have been found
|
|
||||||
and fixed in the meantime. We would appreciate if you could take the time
|
|
||||||
to <ulink url="http://www.privoxy.org/user-manual/installation.html">upgrade
|
|
||||||
to the latest version</ulink> (or even the latest CVS snapshot) and verify
|
|
||||||
that your bug still exists.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Please be sure to provide the following information:
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
The exact <application>Privoxy</application> version you are using
|
|
||||||
(if you got the source from CVS, please also provide the source code revisions
|
|
||||||
as shown in <ulink url="http://config.privoxy.org/show-version">http://config.privoxy.org/show-version</ulink>).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
The operating system and versions you run
|
|
||||||
<application>Privoxy</application> on, (e.g. <application>Windows
|
|
||||||
XP SP2</application>), if you are using a Unix flavor,
|
|
||||||
sending the output of <quote>uname -a</quote> should do,
|
|
||||||
in case of GNU/Linux, please also name the distribution.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
The name, platform, and version of the <application>browser</application>
|
|
||||||
you were using (e.g. <application>Internet Explorer v5.5</application> for Mac).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
The URL where the problem occurred, or some way for us to duplicate the
|
|
||||||
problem (e.g. <literal>http://somesite.example.com/?somethingelse=123</literal>).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Whether your version of <application>Privoxy</application> is one supplied
|
|
||||||
by the <application>Privoxy</application> developers via SourceForge,
|
|
||||||
or if you got your copy somewhere else.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Whether you are using <application>Privoxy</application> in tandem with
|
|
||||||
another proxy such as <application>Tor</application>. If so, please
|
|
||||||
temporary disable the other proxy to see if the symptoms change.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Whether you are using a personal firewall product. If so, does
|
|
||||||
<application>Privoxy</application> work without it?
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Any other pertinent information to help identify the problem such as config
|
|
||||||
or log file excerpts (yes, you should have log file entries for each
|
|
||||||
action taken).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You don't have to tell us your actual name when filing a problem
|
|
||||||
report, but please use a nickname so we can differentiate between
|
|
||||||
your messages and the ones entered by other "anonymous" users that
|
|
||||||
may respond to your request if they have the same problem or already
|
|
||||||
found a solution.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Please also check the status of your request a few days after submitting
|
|
||||||
it, as we may request additional information. If you use a SF id,
|
|
||||||
you should automatically get a mail when someone responds to your request.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The <ulink url="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT">appendix
|
|
||||||
of the Privoxy User Manual</ulink> also has helpful information
|
|
||||||
on understanding <literal>actions</literal>, and <literal>action</literal> debugging.
|
|
||||||
</para>
|
|
||||||
</sect3>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="contact-feature"><title>Request New Features</title>
|
|
||||||
<para>
|
|
||||||
You are welcome to submit ideas on new features or other proposals
|
|
||||||
for improvement through our feature request tracker at
|
|
||||||
<ulink url="http://sourceforge.net/tracker/?atid=361118&group_id=11118">http://sourceforge.net/tracker/?atid=361118&group_id=11118</ulink>.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
|
|
||||||
<sect2 id="contact-other"><title>Other</title>
|
|
||||||
<para>
|
|
||||||
For any other issues, feel free to use the mailing lists. Technically interested users
|
|
||||||
and people who wish to contribute to the project are also welcome on the developers list!
|
|
||||||
You can find an overview of all <application>Privoxy</application>-related mailing lists,
|
|
||||||
including list archives, at:
|
|
||||||
<ulink url="http://sourceforge.net/mail/?group_id=11118">http://sourceforge.net/mail/?group_id=11118</ulink>.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
|
@ -1,47 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/copyright.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: copyright.sgml,v 2.10 2009/02/10 16:13:30 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
privoxy-man-page
|
|
||||||
user-manual
|
|
||||||
developer-manual
|
|
||||||
faq
|
|
||||||
|
|
||||||
**************************************************************
|
|
||||||
NOTE: the &my-copy entity must be defined in any file that will
|
|
||||||
include this file. (This is a workaround for docbook2man not
|
|
||||||
handling the standard © entity in the man page processing.)
|
|
||||||
**************************************************************
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
GFDL:
|
|
||||||
http://www.gnu.org/licenses/fdl.html
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Copyright &my-copy; 2001-2009 by Privoxy Developers <email>ijbswa-developers@lists.sourceforge.net</email>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Some source code is based on code Copyright &my-copy; 1997 by Anonymous Coders
|
|
||||||
and Junkbusters, Inc. and licensed under the <citetitle>GNU General Public
|
|
||||||
License</citetitle>.
|
|
||||||
</para>
|
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/history.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: history.sgml,v 2.7 2009/02/22 11:05:21 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
user-manual
|
|
||||||
developer-manual
|
|
||||||
faq
|
|
||||||
webserver/index.sgml
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
A long time ago, there was the
|
|
||||||
<ulink url="http://www.junkbusters.com/ijb.html"><application>Internet Junkbuster</application></ulink>,
|
|
||||||
by Anonymous Coders and <ulink url="http://www.junkbusters.com/">Junkbusters
|
|
||||||
Corporation</ulink>. This saved many users a lot of pain in the early days of
|
|
||||||
web advertising and user tracking.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
But the web, its protocols and standards, and with it, the techniques for
|
|
||||||
forcing ads on users, give up autonomy over their browsing, and
|
|
||||||
for tracking them, keeps evolving. Unfortunately, the <application>Internet
|
|
||||||
Junkbuster</application> did not. Version 2.0.2, published in 1998, was
|
|
||||||
(and is) the last official
|
|
||||||
<ulink url="http://www.junkbusters.com/ijbdist.html#release">release</ulink>
|
|
||||||
available from <ulink url="http://www.junkbusters.com">Junkbusters Corporation</ulink>.
|
|
||||||
Fortunately, it had been released under the GNU
|
|
||||||
<ulink url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GPL</ulink>,
|
|
||||||
which allowed further development by others.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
So Stefan Waldherr started maintaining an improved version of the
|
|
||||||
software, to which eventually a number of people contributed patches.
|
|
||||||
It could already replace banners with a transparent image, and had a first
|
|
||||||
version of pop-up killing, but it was still very closely based on the
|
|
||||||
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
|
||||||
flexible per-site configuration, or content modification. The last release
|
|
||||||
from this effort was version 2.0.2-10, published in 2000.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Then, some
|
|
||||||
<ulink url="http://www.privoxy.org/user-manual/copyright.html#AUTHORS">developers</ulink>
|
|
||||||
picked up the thread, and started turning the software inside out, upside down,
|
|
||||||
and then reassembled it, adding many
|
|
||||||
<ulink url="http://www.privoxy.org/user-manual/introduction.html#FEATURES">new
|
|
||||||
features</ulink> along the way.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The result of this is <application>Privoxy</application>, whose first
|
|
||||||
stable version, 3.0, was released August, 2002.
|
|
||||||
<!-- Cautious!!!!!!!!! ;) -->
|
|
||||||
</para>
|
|
|
@ -1,106 +0,0 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
|
||||||
<!entity p-version "3.0.11">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-stable "INCLUDE">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % p-alpha "IGNORE">
|
|
||||||
<!entity % p-beta "IGNORE">
|
|
||||||
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
|
||||||
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
|
|
||||||
<!entity % p-readme "INCLUDE"> <!-- This is now in INSTALL -->
|
|
||||||
]>
|
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
|
|
||||||
|
|
||||||
Purpose : INSTALL file for Privoxy
|
|
||||||
|
|
||||||
$Id: install.sgml,v 2.11 2009/02/12 16:08:26 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation. You have been warned!
|
|
||||||
Failure to abide by this rule will result in the revocation of your license
|
|
||||||
to live a peaceful existence!
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
===================================================================
|
|
||||||
READ: Document Note: This file generates the INSTALL file in the top level
|
|
||||||
source directory. It is generated as only a plain text file. The current
|
|
||||||
markup is not suitable for other formats. Build from Makefile with 'make
|
|
||||||
dok-readme'.
|
|
||||||
===================================================================
|
|
||||||
|
|
||||||
-->
|
|
||||||
<article id="index">
|
|
||||||
<artheader>
|
|
||||||
<![%dummy;[
|
|
||||||
<para>
|
|
||||||
<comment>
|
|
||||||
This is here to keep vim syntax file from breaking :/
|
|
||||||
If I knew enough to fix it, I would.
|
|
||||||
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
|
||||||
</comment>
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
<abstract>
|
|
||||||
<para>
|
|
||||||
<literal>
|
|
||||||
<msgtext>
|
|
||||||
<literallayout>
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/doc/source/install.sgml,v $
|
|
||||||
*
|
|
||||||
* Purpose : INSTALL file to help with installing from source.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2009 the
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
||||||
* or write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
</literallayout>
|
|
||||||
</msgtext>
|
|
||||||
</literal>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</abstract>
|
|
||||||
</artheader>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<msgtext>
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<!-- include buildsource.sgml boilerplate: -->
|
|
||||||
&buildsource;
|
|
||||||
<!-- end boilderplate -->
|
|
||||||
</msgtext>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|
|
@ -1,420 +0,0 @@
|
||||||
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
|
|
||||||
<!ENTITY % html "IGNORE">
|
|
||||||
<![%html;[
|
|
||||||
<!ENTITY % print "IGNORE">
|
|
||||||
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/html/docbook.dsl" CDATA dsssl>
|
|
||||||
]]>
|
|
||||||
<!ENTITY % print "INCLUDE">
|
|
||||||
<![%print;[
|
|
||||||
<!ENTITY docbook.dsl SYSTEM "@DKPREFIX@/print/docbook.dsl" CDATA dsssl>
|
|
||||||
]]>
|
|
||||||
]>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
;; borrowed from the LDP stylesheet, with modifications, HB.
|
|
||||||
;; Added support for css 03/20/02, and other mods.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<style-sheet>
|
|
||||||
|
|
||||||
<style-specification id="print" use="docbook">
|
|
||||||
<style-specification-body>
|
|
||||||
|
|
||||||
;; ==============================
|
|
||||||
;; customize the print stylesheet
|
|
||||||
;; ==============================
|
|
||||||
;;
|
|
||||||
;; see http://docbook.sourceforge.net/projects/dsssl/doc/print.html
|
|
||||||
;;
|
|
||||||
|
|
||||||
(define %indent-screen-lines%
|
|
||||||
;; Indent lines in a 'Screen'?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %callout-fancy-bug%
|
|
||||||
;; Use fancy callout bugs?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %chap-app-running-heads%
|
|
||||||
;; Generate running headers and footers on chapter-level elements?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %chap-app-running-head-autolabel%
|
|
||||||
;; Put chapter labels in running heads?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; this is necessary because right now jadetex does not understand
|
|
||||||
;; symbolic entities, whereas things work well with numeric entities.
|
|
||||||
(declare-characteristic preserve-sdata?
|
|
||||||
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
|
||||||
#f)
|
|
||||||
|
|
||||||
;; put the legal notice in a separate file
|
|
||||||
(define %generate-legalnotice-link%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
|
||||||
;; NO: they do not yet look very good
|
|
||||||
(define %admon-graphics-path%
|
|
||||||
"./stylesheet-images/")
|
|
||||||
|
|
||||||
(define %admon-graphics%
|
|
||||||
#f)
|
|
||||||
|
|
||||||
(define %funcsynopsis-decoration%
|
|
||||||
;; make funcsynopsis look pretty
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;;(define %shade-verbatim%
|
|
||||||
;; #t)
|
|
||||||
|
|
||||||
(define %section-autolabel% #t)
|
|
||||||
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
|
||||||
|
|
||||||
;; HB changed TOC depth to 3 levels.
|
|
||||||
(define (toc-depth nd)
|
|
||||||
3)
|
|
||||||
|
|
||||||
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
(define %body-attr%
|
|
||||||
;; REFENTRY body-attr
|
|
||||||
;; PURP What attributes should be hung off of BODY?
|
|
||||||
;; DESC
|
|
||||||
;; A list of the the BODY attributes that should be generated.
|
|
||||||
;; The format is a list of lists, each interior list contains the
|
|
||||||
;; name and value of a BODY attribute.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
(list
|
|
||||||
(list "BGCOLOR" "#EEEEEE")
|
|
||||||
(list "TEXT" "#000000")
|
|
||||||
(list "LINK" "#0000FF")
|
|
||||||
(list "VLINK" "#840084")
|
|
||||||
(list "ALINK" "#0000FF")))
|
|
||||||
|
|
||||||
(define %stylesheet%
|
|
||||||
;; REFENTRY stylesheet
|
|
||||||
;; PURP Name of the stylesheet to use
|
|
||||||
;; DESC
|
|
||||||
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
|
||||||
;; suppress the stylesheet LINK.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
"../p_doc.css")
|
|
||||||
|
|
||||||
(define %stylesheet-type%
|
|
||||||
;; REFENTRY stylesheet-type
|
|
||||||
;; PURP The type of the stylesheet to use
|
|
||||||
;; DESC
|
|
||||||
;; The type of the stylesheet to place in the HTML LINK TAG.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
"text/css")
|
|
||||||
|
|
||||||
(define %css-liststyle-alist%
|
|
||||||
;; REFENTRY css-liststyle-alist
|
|
||||||
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
|
||||||
;; DESC
|
|
||||||
;; If '%css-decoration%' is turned on then the list-style-type property of
|
|
||||||
;; list items will be set to reflect the list item style selected in the
|
|
||||||
;; DocBook instance. This associative list maps the style type names used
|
|
||||||
;; in your instance to the appropriate CSS names. If no mapping exists,
|
|
||||||
;; the name from the instance will be used.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
'(("bullet" "disc")
|
|
||||||
("box" "square")))
|
|
||||||
|
|
||||||
(define %css-decoration%
|
|
||||||
;; REFENTRY css-decoration
|
|
||||||
;; PURP Enable CSS decoration of elements
|
|
||||||
;; DESC
|
|
||||||
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
|
||||||
;; stylesheet may be decorated with STYLE attributes. For example, the
|
|
||||||
;; LI tags produced for list items may include a fragment of CSS in the
|
|
||||||
;; STYLE attribute which sets the CSS property "list-style-type".
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; swa1
|
|
||||||
|
|
||||||
(define %generate-part-toc%
|
|
||||||
#f)
|
|
||||||
|
|
||||||
(define %generate-article-toc%
|
|
||||||
;; Should a Table of Contents be produced for Articles?
|
|
||||||
;; If true, a Table of Contents will be generated for each 'Article'.
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %generate-part-toc-on-titlepage%
|
|
||||||
;; Should the Part TOC appear on the Part title page?
|
|
||||||
#f)
|
|
||||||
|
|
||||||
;;Do you want a separate page for the title?
|
|
||||||
(define %generate-article-titlepage-on-separate-page%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;;Do you want the article toc on the titlepage or separate?
|
|
||||||
(define %generate-article-toc-on-titlepage%
|
|
||||||
#f)
|
|
||||||
|
|
||||||
;;Titlepage Separate?
|
|
||||||
;; This is the one that makes TOC only on first page!! hal.
|
|
||||||
(define (chunk-skip-first-element-list)
|
|
||||||
'())
|
|
||||||
|
|
||||||
(define %body-start-indent%
|
|
||||||
;; Default indent of body text
|
|
||||||
2pi)
|
|
||||||
|
|
||||||
(define %para-indent-firstpara%
|
|
||||||
;; First line start-indent for the first paragraph
|
|
||||||
0pt)
|
|
||||||
|
|
||||||
;; swa2
|
|
||||||
|
|
||||||
(define %para-indent%
|
|
||||||
;; First line start-indent for paragraphs (other than the first)
|
|
||||||
0pt)
|
|
||||||
|
|
||||||
(define %block-start-indent%
|
|
||||||
;; Extra start-indent for block-elements
|
|
||||||
2pt)
|
|
||||||
|
|
||||||
;;Define distance between paragraphs
|
|
||||||
(define %para-sep%
|
|
||||||
(/ %bf-size% 2.0))
|
|
||||||
|
|
||||||
;; with swa2 no effects
|
|
||||||
|
|
||||||
;; swa3
|
|
||||||
|
|
||||||
;;Define distance between block elements (figures, tables, etc.).
|
|
||||||
(define %block-sep%
|
|
||||||
(* %para-sep% 1.0))
|
|
||||||
;; (* %para-sep% 2.0))
|
|
||||||
|
|
||||||
(define %hyphenation%
|
|
||||||
;; Allow automatic hyphenation?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %left-margin% 5pi)
|
|
||||||
(define %right-margin% 5pi)
|
|
||||||
(define %top-margin% 5pi)
|
|
||||||
(define %bottom-margin% 5pi)
|
|
||||||
(define %footer-margin% 2pi)
|
|
||||||
(define %header-margin% 2pi)
|
|
||||||
|
|
||||||
(define %line-spacing-factor% 1.3)
|
|
||||||
;; Factor used to calculate leading
|
|
||||||
;; The leading is calculated by multiplying the current font size by the
|
|
||||||
;; '%line-spacing-factor%'. For example, if the font size is 10pt and
|
|
||||||
;; the '%line-spacing-factor%' is 1.1, then the text will be
|
|
||||||
;; printed "10-on-11".
|
|
||||||
|
|
||||||
(define %head-before-factor%
|
|
||||||
;; Factor used to calculate space above a title
|
|
||||||
;; The space before a title is calculated by multiplying the font size
|
|
||||||
;; used in the title by the '%head-before-factor%'.
|
|
||||||
;; 0.75)
|
|
||||||
0.5)
|
|
||||||
|
|
||||||
(define %head-after-factor%
|
|
||||||
;; Factor used to calculate space below a title
|
|
||||||
;; The space after a title is calculated by multiplying the font size used
|
|
||||||
;; in the title by the '%head-after-factor%'.
|
|
||||||
0.5)
|
|
||||||
|
|
||||||
(define %input-whitespace-treatment% 'collapse)
|
|
||||||
|
|
||||||
(define ($generate-article-lot-list$)
|
|
||||||
;; Which Lists of Titles should be produced for Articles?
|
|
||||||
(list ))
|
|
||||||
|
|
||||||
|
|
||||||
</style-specification-body>
|
|
||||||
</style-specification>
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
;; ===================================================
|
|
||||||
;; customize the html stylesheet; borrowed from Cygnus
|
|
||||||
;; at http://sourceware.cygnus.com/ (cygnus-both.dsl)
|
|
||||||
;; ===================================================
|
|
||||||
-->
|
|
||||||
|
|
||||||
<style-specification id="html" use="docbook">
|
|
||||||
<style-specification-body>
|
|
||||||
|
|
||||||
;; this is necessary because right now jadetex does not understand
|
|
||||||
;; symbolic entities, whereas things work well with numeric entities.
|
|
||||||
(declare-characteristic preserve-sdata?
|
|
||||||
"UNREGISTERED::James Clark//Characteristic::preserve-sdata?"
|
|
||||||
#f)
|
|
||||||
|
|
||||||
;; put the legal notice in a separate file
|
|
||||||
(define %generate-legalnotice-link%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; use graphics in admonitions, and have their path be "stylesheet-images"
|
|
||||||
;; NO: they do not yet look very good
|
|
||||||
(define %admon-graphics-path%
|
|
||||||
"./stylesheet-images/")
|
|
||||||
|
|
||||||
(define %admon-graphics%
|
|
||||||
#f)
|
|
||||||
|
|
||||||
(define %funcsynopsis-decoration%
|
|
||||||
;; make funcsynopsis look pretty
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %html-ext%
|
|
||||||
".html")
|
|
||||||
|
|
||||||
(define %generate-article-toc%
|
|
||||||
;; Should a Table of Contents be produced for Articles?
|
|
||||||
;; If true, a Table of Contents will be generated for each 'Article'.
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; HB added next three statements 05/03/02.
|
|
||||||
;;Do you want a separate page for the title?
|
|
||||||
(define %generate-article-titlepage-on-separate-page%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;;Do you want the article toc on the titlepage or separate?
|
|
||||||
(define %generate-article-toc-on-titlepage%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;;Titlepage Separate?
|
|
||||||
;; This is the one that makes TOC only on first page!! hal.
|
|
||||||
(define (chunk-skip-first-element-list)
|
|
||||||
'())
|
|
||||||
|
|
||||||
(define %root-filename%
|
|
||||||
;; The filename of the root HTML document (e.g, "index").
|
|
||||||
"index")
|
|
||||||
|
|
||||||
(define %generate-part-toc%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %shade-verbatim%
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %use-id-as-filename%
|
|
||||||
;; Use ID attributes as name for component HTML files?
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(define %graphic-default-extension%
|
|
||||||
"gif")
|
|
||||||
|
|
||||||
(define %section-autolabel% #t)
|
|
||||||
;; For enumerated sections (1.1, 1.1.1, 1.2, etc.)
|
|
||||||
|
|
||||||
;; HB changed TOC depth to 3 levels.
|
|
||||||
(define (toc-depth nd)
|
|
||||||
3)
|
|
||||||
|
|
||||||
;; HB added 03/20/02, see dbparam.dsl ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
|
|
||||||
(define %body-attr%
|
|
||||||
;; REFENTRY body-attr
|
|
||||||
;; PURP What attributes should be hung off of BODY?
|
|
||||||
;; DESC
|
|
||||||
;; A list of the the BODY attributes that should be generated.
|
|
||||||
;; The format is a list of lists, each interior list contains the
|
|
||||||
;; name and value of a BODY attribute.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
(list
|
|
||||||
(list "BGCOLOR" "#EEEEEE")
|
|
||||||
(list "TEXT" "#000000")
|
|
||||||
(list "LINK" "#0000FF")
|
|
||||||
(list "VLINK" "#840084")
|
|
||||||
(list "ALINK" "#0000FF")))
|
|
||||||
|
|
||||||
(define %stylesheet%
|
|
||||||
;; REFENTRY stylesheet
|
|
||||||
;; PURP Name of the stylesheet to use
|
|
||||||
;; DESC
|
|
||||||
;; The name of the stylesheet to place in the HTML LINK TAG, or '#f' to
|
|
||||||
;; suppress the stylesheet LINK.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
"../p_doc.css")
|
|
||||||
|
|
||||||
(define %stylesheet-type%
|
|
||||||
;; REFENTRY stylesheet-type
|
|
||||||
;; PURP The type of the stylesheet to use
|
|
||||||
;; DESC
|
|
||||||
;; The type of the stylesheet to place in the HTML LINK TAG.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
"text/css")
|
|
||||||
|
|
||||||
(define %css-liststyle-alist%
|
|
||||||
;; REFENTRY css-liststyle-alist
|
|
||||||
;; PURP Map DocBook OVERRIDE and MARK attributes to CSS
|
|
||||||
;; DESC
|
|
||||||
;; If '%css-decoration%' is turned on then the list-style-type property of
|
|
||||||
;; list items will be set to reflect the list item style selected in the
|
|
||||||
;; DocBook instance. This associative list maps the style type names used
|
|
||||||
;; in your instance to the appropriate CSS names. If no mapping exists,
|
|
||||||
;; the name from the instance will be used.
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
'(("bullet" "disc")
|
|
||||||
("box" "square")))
|
|
||||||
|
|
||||||
(define %css-decoration%
|
|
||||||
;; REFENTRY css-decoration
|
|
||||||
;; PURP Enable CSS decoration of elements
|
|
||||||
;; DESC
|
|
||||||
;; If '%css-decoration%' is turned on then HTML elements produced by the
|
|
||||||
;; stylesheet may be decorated with STYLE attributes. For example, the
|
|
||||||
;; LI tags produced for list items may include a fragment of CSS in the
|
|
||||||
;; STYLE attribute which sets the CSS property "list-style-type".
|
|
||||||
;; /DESC
|
|
||||||
;; AUTHOR N/A
|
|
||||||
;; /REFENTRY
|
|
||||||
#t)
|
|
||||||
|
|
||||||
;; HB added 2008-01-19
|
|
||||||
(define %html-header-tags%
|
|
||||||
'(("META" ("HTTP-EQUIV" "Content-Type") ("CONTENT" "text/html;
|
|
||||||
charset=ISO-8859-1"))))
|
|
||||||
|
|
||||||
</style-specification-body>
|
|
||||||
</style-specification>
|
|
||||||
|
|
||||||
|
|
||||||
<style-specification id="html-notoc" use="html">
|
|
||||||
<style-specification-body>
|
|
||||||
|
|
||||||
;; ===================================================
|
|
||||||
;; Vairant without TOC for the Homepage --oes 24/05/02
|
|
||||||
;; ===================================================
|
|
||||||
|
|
||||||
(define %generate-article-toc%
|
|
||||||
;; Should a Table of Contents be produced for Articles?
|
|
||||||
;; If true, a Table of Contents will be generated for each 'Article'.
|
|
||||||
#f)
|
|
||||||
|
|
||||||
</style-specification-body>
|
|
||||||
</style-specification>
|
|
||||||
|
|
||||||
<external-specification id="docbook" document="docbook.dsl">
|
|
||||||
|
|
||||||
</style-sheet>
|
|
|
@ -1,50 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/license.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: license.sgml,v 2.6 2008/05/23 15:09:48 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
privoxy-man-page
|
|
||||||
user-manual
|
|
||||||
developer-manual
|
|
||||||
faq
|
|
||||||
webserver/index.sgml
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<application>Privoxy</application> is free software; you can
|
|
||||||
redistribute it and/or modify it under the terms of the
|
|
||||||
<citetitle>GNU General Public License</citetitle>, version 2,
|
|
||||||
as published by the Free Software Foundation.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the <ulink
|
|
||||||
url="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">
|
|
||||||
<citetitle>GNU General Public License</citetitle></ulink> for details.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
You should have received a copy of the <citetitle>GNU GPL</citetitle>
|
|
||||||
along with this program; if not, write to the <address> Free Software
|
|
||||||
Foundation, Inc. <street>51 Franklin Street, Fifth Floor</street>
|
|
||||||
<city>Boston</city>, <state>MA</state> <postcode>02110-1301</postcode>
|
|
||||||
<country>USA</country> </address>
|
|
||||||
</para>
|
|
||||||
|
|
|
@ -1,156 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/newfeatures.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: newfeatures.sgml,v 2.10 2009/02/14 17:37:13 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
user-manual
|
|
||||||
faq
|
|
||||||
|
|
||||||
-->
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
FIXME: complete the list of features. change the order: most important
|
|
||||||
features to the top of the list. prefix new features with "NEW".
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
-->
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Can keep outgoing connections alive and reuse them later on.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Supports tagging which allows to change the behaviour
|
|
||||||
based on client and server headers.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Can be run as an "intercepting" proxy, which obviates the need to
|
|
||||||
configure browsers individually.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Sophisticated actions and filters for manipulating both server and client
|
|
||||||
headers.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Can be chained with other proxies.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Integrated browser based configuration and control utility at <ulink
|
|
||||||
url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
|
||||||
(shortcut: <ulink url="http://p.p/">http://p.p/</ulink>). Browser-based
|
|
||||||
tracing of rule and filter effects. Remote toggling.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Web page filtering (text replacements, removes banners based on size,
|
|
||||||
invisible <quote>web-bugs</quote>, JavaScript and HTML annoyances,
|
|
||||||
pop-up windows, etc.)
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Modularized configuration that allows for standard settings and
|
|
||||||
user settings to reside in separate files, so that installing updated
|
|
||||||
actions files won't overwrite individual user settings.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Support for Perl Compatible Regular Expressions in the configuration files, and
|
|
||||||
a more sophisticated and flexible configuration syntax.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Improved cookie management features (e.g. session based cookies).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
GIF de-animation.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Bypass many click-tracking scripts (avoids script redirection).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Multi-threaded (POSIX and native threads).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
User-customizable HTML templates for most proxy-generated pages (e.g. "blocked" page).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Auto-detection and re-reading of config file changes.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Improved signal handling, and a true daemon mode (Unix).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Every feature now controllable on a per-site or per-location basis, configuration
|
|
||||||
more powerful and versatile over-all.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Many smaller new features added, limitations and bugs removed.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
|
@ -1,159 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/p-authors.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: p-authors.sgml,v 2.34 2009/02/08 18:13:26 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
privoxy-man-page
|
|
||||||
AUTHORS
|
|
||||||
user-manual
|
|
||||||
|
|
||||||
-->
|
|
||||||
<![%p-authors-formal;[
|
|
||||||
<para>
|
|
||||||
Current Privoxy Team:
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
<literallayout>
|
|
||||||
Fabian Keil, lead developer
|
|
||||||
David Schmidt, developer
|
|
||||||
<![%p-authors-formal;[
|
|
||||||
]]>
|
|
||||||
|
|
||||||
Hal Burgiss
|
|
||||||
Mark Miller
|
|
||||||
Gerry Murphy
|
|
||||||
Lee Rian
|
|
||||||
Roland Rosenfeld
|
|
||||||
Jörg Strohmayer
|
|
||||||
<![%p-authors-formal;[
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Former Privoxy Team Members:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<literallayout>
|
|
||||||
Johny Agotnes
|
|
||||||
Rodrigo Barbosa
|
|
||||||
Moritz Barsnick
|
|
||||||
Ian Cummings
|
|
||||||
Brian Dessent
|
|
||||||
Jon Foster
|
|
||||||
Karsten Hopp
|
|
||||||
Alexander Lazic
|
|
||||||
Daniel Leite
|
|
||||||
Gábor Lipták
|
|
||||||
Adam Lock
|
|
||||||
Guy Laroche
|
|
||||||
Justin McMurtry
|
|
||||||
Andreas Oesterhelt
|
|
||||||
Haroon Rafique
|
|
||||||
Georg Sauthoff
|
|
||||||
Thomas Steudten
|
|
||||||
Rodney Stromlund
|
|
||||||
Sviatoslav Sviridov
|
|
||||||
Sarantis Paskalis
|
|
||||||
Stefan Waldherr
|
|
||||||
]]>
|
|
||||||
</literallayout>
|
|
||||||
<![%p-authors-formal;[
|
|
||||||
<para>
|
|
||||||
Thanks to the many people who have tested Privoxy, reported bugs, provided
|
|
||||||
patches, made suggestions or contributed in some way. These include (in
|
|
||||||
alphabetical order):
|
|
||||||
</para>
|
|
||||||
<literallayout>
|
|
||||||
Ken Arromdee
|
|
||||||
Devin Bayer
|
|
||||||
Gergely Bor
|
|
||||||
Reiner Buehl
|
|
||||||
Andrew J. Caines
|
|
||||||
Clifford Caoile
|
|
||||||
Frédéric Crozat
|
|
||||||
Michael T. Davis
|
|
||||||
Mattes Dolak
|
|
||||||
Matthias Drochner
|
|
||||||
Peter E.
|
|
||||||
Florian Effenberger
|
|
||||||
Markus Elfring
|
|
||||||
Dean Gaudet
|
|
||||||
Stephen Gildea
|
|
||||||
Daniel Griscom
|
|
||||||
Felix Gröbert
|
|
||||||
Aaron Hamid
|
|
||||||
Darel Henman
|
|
||||||
Magnus Holmgren
|
|
||||||
Eric M. Hopper
|
|
||||||
Ralf Horstmann
|
|
||||||
Stefan Huehner
|
|
||||||
Peter Hyman
|
|
||||||
Derek Jennings
|
|
||||||
Petr Kadlec
|
|
||||||
David Laight
|
|
||||||
Bert van Leeuwen
|
|
||||||
Don Libes
|
|
||||||
Paul Lieverse
|
|
||||||
Toby Lyward
|
|
||||||
Wil Mahan
|
|
||||||
Jindrich Makovicka
|
|
||||||
David Mediavilla
|
|
||||||
Raphael Moll
|
|
||||||
Amuro Namie
|
|
||||||
Adam Piggott
|
|
||||||
Dan Price
|
|
||||||
Roberto Ragusa
|
|
||||||
Félix Rauch
|
|
||||||
Maynard Riley
|
|
||||||
Chung-chieh Shan
|
|
||||||
Spinor S.
|
|
||||||
Bart Schelstraete
|
|
||||||
Oliver Stoeneberg
|
|
||||||
Peter Thoenen
|
|
||||||
Martin Thomas
|
|
||||||
Bobby G. Vinyard
|
|
||||||
Jochen Voss
|
|
||||||
Glenn Washburn
|
|
||||||
Song Weijia
|
|
||||||
Jörg Weinmann
|
|
||||||
Darren Wiebe
|
|
||||||
Anduin Withers
|
|
||||||
Oliver Yeoh
|
|
||||||
Jamie Zawinski
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Privoxy is based in part on code originally developed by
|
|
||||||
Junkbusters Corp. and Anonymous Coders.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Privoxy heavily relies on Philip Hazel's PCRE.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
The code to filter compressed content makes use of zlib
|
|
||||||
which is written by Jean-loup Gailly and Mark Adler.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
On systems that lack snprintf(), Privoxy is using a version
|
|
||||||
written by Mark Martinec. On systems that lack strptime(),
|
|
||||||
Privoxy is using the one from the GNU C Library written
|
|
||||||
by Ulrich Drepper.
|
|
||||||
</para>
|
|
||||||
]]>
|
|
|
@ -1,352 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy-man-page.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Manual Page
|
|
||||||
This file belongs into
|
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
|
||||||
|
|
||||||
$Id: privoxy-man-page.sgml,v 2.29 2009/02/19 02:20:22 hal9 Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation.
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
Doc NOTES: This is some tricky markup! There are some quirks
|
|
||||||
to how this markup is handled. It is not always so co-operative.
|
|
||||||
Please don't change the markup unless you can verify the changes
|
|
||||||
will improve finished output!
|
|
||||||
|
|
||||||
literallayout tags are particularly sensitive to where they are placed.
|
|
||||||
The 'replaceable' and 'command' tags are used here somewhat unconventionally,
|
|
||||||
since it seems to generate the proper formatting (at least for me :).
|
|
||||||
|
|
||||||
Create man page: 'make man'
|
|
||||||
|
|
||||||
Requires docbook2man (short perl script), see CVS
|
|
||||||
http://sources.redhat.com/docbook-tools/. Also requires openjade and SGMLSpm
|
|
||||||
perl module.
|
|
||||||
|
|
||||||
For man page references, see:
|
|
||||||
http://www.linuxdoc.org/HOWTO/mini/DocBook-Install/using.html
|
|
||||||
http://docbook.org/tdg/en/html/ch02.html#making-refentry
|
|
||||||
|
|
||||||
-->
|
|
||||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity p-intro SYSTEM "privoxy.sgml">
|
|
||||||
<!entity seealso SYSTEM "seealso.sgml">
|
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
|
||||||
<!entity license SYSTEM "license.sgml">
|
|
||||||
<!entity authors SYSTEM "p-authors.sgml">
|
|
||||||
<!entity p-version "3.0.11">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % p-stable "INCLUDE">
|
|
||||||
<!entity % p-text "IGNORE"> <!-- define we are not a text only doc -->
|
|
||||||
<!entity % p-authors-formal "IGNORE"> <!-- exclude additional formating -->
|
|
||||||
<!entity my-copy "(C)"> <!-- db2man barfs on copyright symbol -->
|
|
||||||
<!entity % seealso-extra "IGNORE"> <!-- for excluding sections of seealso -->
|
|
||||||
]>
|
|
||||||
|
|
||||||
<refentry id="privoxy">
|
|
||||||
<refentryinfo>
|
|
||||||
<date>2009-02-15</date>
|
|
||||||
</refentryinfo>
|
|
||||||
<refmeta>
|
|
||||||
<refentrytitle>privoxy</refentrytitle>
|
|
||||||
<manvolnum>1</manvolnum>
|
|
||||||
<refmiscinfo>
|
|
||||||
Privoxy &p-version;<![%p-not-stable;[ &p-status;]]>
|
|
||||||
</refmiscinfo>
|
|
||||||
</refmeta>
|
|
||||||
|
|
||||||
<refnamediv>
|
|
||||||
<refname><application>privoxy</application></refname>
|
|
||||||
<refpurpose>Privacy Enhancing Proxy</refpurpose>
|
|
||||||
</refnamediv>
|
|
||||||
|
|
||||||
<refsynopsisdiv>
|
|
||||||
<cmdsynopsis>
|
|
||||||
<command>privoxy</command>
|
|
||||||
<arg><option>--help</option></arg>
|
|
||||||
<arg><option>--version</option></arg>
|
|
||||||
<arg><option>--no-daemon</option></arg>
|
|
||||||
<arg><option>--pidfile </option><replaceable class="parameter">pidfile</replaceable></arg>
|
|
||||||
<arg><option>--user </option><replaceable class="parameter">user[.group]</replaceable></arg>
|
|
||||||
<arg><option>--chroot</option></arg>
|
|
||||||
<arg><option>--pre-chroot-nslookup </option><replaceable class="parameter">hostname</replaceable></arg>
|
|
||||||
<arg><replaceable class="parameter">configfile</replaceable></arg>
|
|
||||||
</cmdsynopsis>
|
|
||||||
|
|
||||||
</refsynopsisdiv>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Options</title>
|
|
||||||
<para>
|
|
||||||
<command>Privoxy</command> may be invoked with the following command line
|
|
||||||
options:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<variablelist>
|
|
||||||
<varlistentry>
|
|
||||||
<term>--help</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Print brief usage info and exit.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>--version</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Print version info and exit.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>--no-daemon</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Don't become a daemon, i.e. don't fork and become process group
|
|
||||||
leader, don't detach from controlling tty, and do all logging there.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>--pidfile <replaceable class="parameter">pidfile</replaceable></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
On startup, write the process ID to <replaceable class="parameter">pidfile</replaceable>.
|
|
||||||
Delete the <replaceable class="parameter">pidfile</replaceable> on exit.
|
|
||||||
Failure to create or delete the <replaceable class="parameter">pidfile</replaceable>
|
|
||||||
is non-fatal. If no <command>--pidfile</command> option is given, no PID file will be used.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
|
|
||||||
<varlistentry>
|
|
||||||
<term>--user <replaceable class="parameter">user[.group]</replaceable></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<!-- Note: replaceable is maybe the wrong tag, but generates -->
|
|
||||||
<!-- correct looking man output. -->
|
|
||||||
After (optionally) writing the PID file, assume the user ID of
|
|
||||||
<replaceable class="parameter">user</replaceable> and the GID of
|
|
||||||
<replaceable class="parameter">group</replaceable>, or, if the optional
|
|
||||||
<replaceable class="parameter">group</replaceable> was not given, the default group of
|
|
||||||
<replaceable class="parameter">user</replaceable>. Exit if the privileges are not
|
|
||||||
sufficient to do so.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>--chroot</term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Before changing to the user ID given in the --user option, chroot to
|
|
||||||
that user's home directory, i.e. make the kernel pretend to the
|
|
||||||
<command>Privoxy</command> process that the directory tree starts
|
|
||||||
there. If set up carefully, this can limit the impact of possible
|
|
||||||
vulnerabilities in <command>Privoxy</command> to the files contained in
|
|
||||||
that hierarchy.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
<varlistentry>
|
|
||||||
<term>--pre-chroot-nslookup <replaceable class="parameter">hostname</replaceable></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
Initialize the resolver library using <replaceable class="parameter">hostname</replaceable>
|
|
||||||
before chroot'ing. On some systems this reduces the number of files
|
|
||||||
that must be copied into the chroot tree.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
</variablelist>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
If the <filename>configfile</filename> is not specified on the command line,
|
|
||||||
<command>Privoxy</command> will look for a file named
|
|
||||||
<filename>config</filename> in the current directory. If no
|
|
||||||
<filename>configfile</filename> is found, <command>Privoxy</command> will
|
|
||||||
fail to start.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Description</title>
|
|
||||||
<!-- Include privoxy.sgml boilerplate: -->
|
|
||||||
&p-intro;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Installation and Usage</title>
|
|
||||||
<para>
|
|
||||||
Browsers can either be individually configured to use
|
|
||||||
<command>Privoxy</command> as a HTTP proxy (recommended),
|
|
||||||
or <command>Privoxy</command> can be combined with a packet
|
|
||||||
filter to build an intercepting proxy
|
|
||||||
(see <filename>config</filename>). The default setting is for
|
|
||||||
localhost, on port 8118 (configurable in the main config file). To set the
|
|
||||||
HTTP proxy in Firefox, go through: <command>Tools</command>;
|
|
||||||
<command>Options</command>; <command>General</command>;
|
|
||||||
<command>Connection Settings</command>;
|
|
||||||
<command>Manual Proxy Configuration</command>.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
For Internet Explorer, go through: <command>Tools</command>;
|
|
||||||
<command>Internet Properties</command>; <command>Connections</command>;
|
|
||||||
<command>LAN Settings</command>.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
|
||||||
https: URLs will not be proxied. Note: <command>Privoxy</command> can only
|
|
||||||
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
|
|
||||||
HTTPS presents some limitations, and not all features will work with HTTPS
|
|
||||||
connections.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
For other browsers, check the documentation.
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Configuration</title>
|
|
||||||
<para>
|
|
||||||
<command>Privoxy</command> can be configured with the various configuration
|
|
||||||
files. The default configuration files are: <filename>config</filename>,
|
|
||||||
<filename>default.filter</filename>, <filename>default.action</filename> and
|
|
||||||
<filename>default.action</filename>. <filename>user.action</filename> should
|
|
||||||
be used for locally defined exceptions to the default rules in
|
|
||||||
<filename>match-all.action</filename> and <filename>default.action</filename>,
|
|
||||||
and <filename>user.filter</filename> for locally defined filters. These are
|
|
||||||
well commented. On Unix and Unix-like systems, these are located in
|
|
||||||
<filename>/etc/privoxy/</filename> by default.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<command>Privoxy</command> uses the concept of <command>actions</command>
|
|
||||||
in order to manipulate the data stream between the browser and remote sites.
|
|
||||||
There are various actions available with specific functions for such things
|
|
||||||
as blocking web sites, managing cookies, etc. These actions can be invoked
|
|
||||||
individually or combined, and used against individual URLs, or groups of URLs
|
|
||||||
that can be defined using wildcards and regular expressions. The result is
|
|
||||||
that the user has greatly enhanced control and freedom.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The actions list (ad blocks, etc) can also be configured with your
|
|
||||||
web browser at <ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>
|
|
||||||
(assuming the configuration allows it).
|
|
||||||
<command>Privoxy's</command> configuration parameters can also be viewed at
|
|
||||||
the same page. In addition, <command>Privoxy</command> can be toggled on/off.
|
|
||||||
This is an internal page, and does not require Internet access.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
See the <ulink
|
|
||||||
url="http://www.privoxy.org/user-manual/"><citetitle>User Manual</citetitle></ulink> for a detailed
|
|
||||||
explanation of installation, general usage, all configuration options, new
|
|
||||||
features and notes on upgrading.
|
|
||||||
</para>
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Files</title>
|
|
||||||
<!-- this is a cheesy way to do this, but WTF. -->
|
|
||||||
<literallayout>
|
|
||||||
<filename>/usr/sbin/privoxy</filename>
|
|
||||||
<filename>/etc/privoxy/config</filename>
|
|
||||||
<filename>/etc/privoxy/match-all.action</filename>
|
|
||||||
<filename>/etc/privoxy/default.action</filename>
|
|
||||||
<filename>/etc/privoxy/user.action</filename>
|
|
||||||
<filename>/etc/privoxy/default.filter</filename>
|
|
||||||
<filename>/etc/privoxy/user.filter</filename>
|
|
||||||
<filename>/etc/privoxy/trust</filename>
|
|
||||||
<filename>/etc/privoxy/templates/*</filename>
|
|
||||||
<filename>/var/log/privoxy/logfile</filename>
|
|
||||||
</literallayout>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Various other files should be included, but may vary depending on platform
|
|
||||||
and build configuration. Additional documentation should be included in the local
|
|
||||||
documentation directory.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Signals</title>
|
|
||||||
<para>
|
|
||||||
<!-- command tag is used here to get proper looking format -->
|
|
||||||
<command>Privoxy</command> terminates on the <command>SIGINT</command>,
|
|
||||||
<command>SIGTERM</command> and <command>SIGABRT</command> signals. Log
|
|
||||||
rotation scripts may cause a re-opening of the logfile by sending a
|
|
||||||
<command>SIGHUP</command> to <command>Privoxy</command>. Note that unlike
|
|
||||||
other daemons, <command>Privoxy</command> does not need to be made aware of
|
|
||||||
config file changes by <command>SIGHUP</command> -- it will detect them
|
|
||||||
automatically.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Notes</title>
|
|
||||||
<![%p-not-stable;[
|
|
||||||
<para>
|
|
||||||
This is a &p-status; version of <command>Privoxy</command>. Not
|
|
||||||
all features are well tested.
|
|
||||||
</para>]]>
|
|
||||||
<para>
|
|
||||||
Please see the <citetitle>User Manual</citetitle> on how to contact the
|
|
||||||
developers, for feature requests, reporting problems, and other questions.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>See Also</title>
|
|
||||||
<!-- Include seealso.sgml boilerplate: -->
|
|
||||||
&seealso;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Development Team</title>
|
|
||||||
<!-- Include p-authors.sgml boilerplate: -->
|
|
||||||
&authors;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<refsect1><title>Copyright and License</title>
|
|
||||||
|
|
||||||
<refsect2><title>Copyright</title>
|
|
||||||
<!-- Include copyright.sgml boilerplate: -->
|
|
||||||
©right;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</refsect2>
|
|
||||||
|
|
||||||
<refsect2><title>License</title>
|
|
||||||
<!-- Include license.sgml boilerplate: -->
|
|
||||||
&license;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</refsect2>
|
|
||||||
</refsect1>
|
|
||||||
|
|
||||||
</refentry>
|
|
|
@ -1,44 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/privoxy.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: privoxy.sgml,v 2.9 2009/03/21 12:42:49 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
privoxy-man-page
|
|
||||||
user-manual
|
|
||||||
faq
|
|
||||||
developer-manual
|
|
||||||
README
|
|
||||||
webserver/index.sgml
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and tastes.
|
|
||||||
It has application for both stand-alone systems and multi-user networks.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Privoxy is Free Software and licensed under the GPL2.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
<ulink url="http://www.privoxy.org/faq/general.html#DONATE">Donations are welcome</ulink>.
|
|
||||||
</para>
|
|
|
@ -1,268 +0,0 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity supported SYSTEM "supported.sgml">
|
|
||||||
<!entity p-intro SYSTEM "privoxy.sgml">
|
|
||||||
<!entity contacting SYSTEM "contacting.sgml">
|
|
||||||
<!entity buildsource SYSTEM "buildsource.sgml">
|
|
||||||
<!entity p-version "3.0.12">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % p-stable "INCLUDE">
|
|
||||||
<!entity % p-text "INCLUDE"> <!-- define we are a text only doc -->
|
|
||||||
<!entity % p-doc "IGNORE"> <!-- and never a text doc -->
|
|
||||||
<!entity % p-readme "INCLUDE"> <!-- all your README belong to us -->
|
|
||||||
]>
|
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
|
|
||||||
|
|
||||||
Purpose : README for Privoxy
|
|
||||||
|
|
||||||
$Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation. You have been warned!
|
|
||||||
Failure to abide by this rule will result in the revocation of your license
|
|
||||||
to live a peaceful existence!
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
===================================================================
|
|
||||||
READ: Document Note: This file generates the README in the top level
|
|
||||||
source directory. It is generated as only a plain text file. The
|
|
||||||
current markup is not suitable for other formats. Build from
|
|
||||||
Makefile with 'make dok-readme'.
|
|
||||||
===================================================================
|
|
||||||
|
|
||||||
READ:
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
NOTE: The left margin spacing is *important* when using 'literallayout'
|
|
||||||
WYSISWYG!!! Don't mess this up!!! Careful with linebreaks too, ie
|
|
||||||
the para tag forces a linebreak. Tags need to be carefully placed as a result
|
|
||||||
to avoid extra blank lines, etc.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
For stable releases, change
|
|
||||||
|
|
||||||
entity % p-not-stable "INCLUDE"
|
|
||||||
|
|
||||||
to
|
|
||||||
|
|
||||||
entity % p-not-stable "IGNORE"
|
|
||||||
|
|
||||||
in the DTD at the top. This will toggle various text 'off'. BOTH
|
|
||||||
MUST be toggled in this case or you will get both text referencing
|
|
||||||
stable and unstable versions. You only want one or the other!
|
|
||||||
|
|
||||||
-->
|
|
||||||
<article id="index">
|
|
||||||
<artheader>
|
|
||||||
<![%dummy;[
|
|
||||||
<para>
|
|
||||||
<comment>
|
|
||||||
This is here to keep vim syntax file from breaking :/
|
|
||||||
If I knew enough to fix it, I would.
|
|
||||||
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
|
||||||
</comment>
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
<abstract>
|
|
||||||
<para>
|
|
||||||
<literal>
|
|
||||||
<msgtext>
|
|
||||||
<literallayout>
|
|
||||||
/*********************************************************************
|
|
||||||
*
|
|
||||||
* File : $Source: /cvsroot/ijbswa/current/doc/source/readme.sgml,v $
|
|
||||||
*
|
|
||||||
* Purpose : README file to give a short intro.
|
|
||||||
*
|
|
||||||
* Copyright : Written by and Copyright (C) 2001-2009 the SourceForge
|
|
||||||
* Privoxy team. http://www.privoxy.org/
|
|
||||||
*
|
|
||||||
* Based on the Internet Junkbuster originally written
|
|
||||||
* by and Copyright (C) 1997 Anonymous Coders and
|
|
||||||
* Junkbusters Corporation. http://www.junkbusters.com
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it
|
|
||||||
* and/or modify it under the terms of the GNU General
|
|
||||||
* Public License as published by the Free Software
|
|
||||||
* Foundation; either version 2 of the License, or (at
|
|
||||||
* your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will
|
|
||||||
* be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
* implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
* PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
* License for more details.
|
|
||||||
*
|
|
||||||
* The GNU General Public License should be included with
|
|
||||||
* this file. If not, you can view it at
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
* or write to the Free Software Foundation, Inc.,
|
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA
|
|
||||||
*
|
|
||||||
*********************************************************************/
|
|
||||||
</literallayout>
|
|
||||||
</msgtext>
|
|
||||||
</literal>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<!-- include some conditional text -->
|
|
||||||
This README is included with <![%p-not-stable;[ the development version of]]>
|
|
||||||
Privoxy &p-version;. See http://www.privoxy.org/ for more information. The current code maturity
|
|
||||||
level is <quote>&p-status;</quote><![%p-not-stable;[, but seems stable to us :)]]>.
|
|
||||||
</para>
|
|
||||||
</abstract>
|
|
||||||
</artheader>
|
|
||||||
|
|
||||||
<!-- Include privoxy.sgml boilerplate: -->
|
|
||||||
&p-intro;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="importantchanges" ><title>IMPORTANT CHANGES</title>
|
|
||||||
<para>
|
|
||||||
March 2009, Privoxy 3.0.12 is released.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
This is primarily a bug fix release. See the "ChangeLog", and the "What's
|
|
||||||
New" section and the "Upgrader's Notes" in <citetitle>the User
|
|
||||||
Manual</citetitle> for details.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
February 2009, Privoxy 3.0.11 is released.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
As usual there are changes that effect the configuration. See the "ChangeLog",
|
|
||||||
and the "What's New" section and the "Upgrader's Notes" in
|
|
||||||
<citetitle>the User Manual</citetitle> for details and specifics.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
This is a stable release, and marks a departure for Privoxy development.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Previously, odd numbered releases were considered beta versions and
|
|
||||||
were only released at the end of the development cycle when the code
|
|
||||||
was already believed to be stable. Usually it was, so the stable release
|
|
||||||
contained pretty much the same code, but got a higher version number.
|
|
||||||
In the future we intend to release several snapshots between stable releases.
|
|
||||||
There will probably still be about two stable releases per year,
|
|
||||||
but hopefully about six snapshots instead of the two betas we have now.
|
|
||||||
The intentions is to make testing without CVS access easier.
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="install" ><title>INSTALL</title>
|
|
||||||
<para>
|
|
||||||
See the <filename>INSTALL</filename> file in this directory, for installing
|
|
||||||
from raw source, and the <citetitle>User Manual</citetitle>, for all other
|
|
||||||
installation types.
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="run"><title>RUN</title>
|
|
||||||
<para>
|
|
||||||
privoxy [--help] [--version]
|
|
||||||
[--no-daemon] [--pidfile PIDFILE] [--user USER[.GROUP]] [--chroot] [--pre-chroot-nslookup
|
|
||||||
HOSTNAME ][config_file]
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
See the man page or <citetitle>User Manual</citetitle> for an explanation of each option, and
|
|
||||||
other configuration and usage issues.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
If no config_file is specified on the command line, Privoxy will look for a
|
|
||||||
file named 'config' in the current directory (except Win32 which will look
|
|
||||||
for 'config.txt'). If no config_file is found, Privoxy will fail to start.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Or for Red Hat and Fedora based distributions: /etc/rc.d/init.d/privoxy start
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Or Debian and Ubuntu: /etc/init.d/privoxy start
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="configuration"><title>CONFIGURATION</title>
|
|
||||||
<para>
|
|
||||||
See: 'config', 'default.action', 'user.action', 'default.filter', and
|
|
||||||
'user.filter'. 'user.action' and 'user.filter' are for personal and local
|
|
||||||
configuration preferences. These are all well commented. Most of the magic is
|
|
||||||
in '*.action' files. 'user.action' should be used for any actions
|
|
||||||
customizations. On Unix-like systems, these files are typically installed in
|
|
||||||
/etc/privoxy. On Windows, then wherever the executable itself is installed.
|
|
||||||
There are many significant changes and advances from earlier versions. The
|
|
||||||
<citetitle>User Manual</citetitle> has an explanation of all configuration
|
|
||||||
options, and examples: http://www.privoxy.org/user-manual/.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Be sure to set your browser(s) for HTTP/HTTPS Proxy at <IP>:<Port>, or
|
|
||||||
whatever you specify in the config file under 'listen-address'. DEFAULT is
|
|
||||||
localhost:8118. Note that Privoxy ONLY proxies HTTP (and HTTPS) traffic. Do not try it
|
|
||||||
with FTP or other protocols for the simple reason it does not work.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The actions list can be configured via the web interface accessed via
|
|
||||||
http://p.p/, as well other options.
|
|
||||||
</para>
|
|
||||||
<![%p-not-stable;[
|
|
||||||
<para>
|
|
||||||
All configuration files are subject to unannounced changes during the
|
|
||||||
development process.
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="documentation"><title>DOCUMENTATION</title>
|
|
||||||
<para>
|
|
||||||
There should be documentation in the 'doc' subdirectory<![%p-not-stable;[, but it
|
|
||||||
may not be completed at this point]]>. In particular, see the
|
|
||||||
<citetitle>User Manual</citetitle> there,
|
|
||||||
the <citetitle>FAQ</citetitle>, and those interested in Privoxy development, should look at
|
|
||||||
<citetitle>developer-manual</citetitle>.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
<![%p-not-stable;[
|
|
||||||
The most up to date source of information on the current development version,
|
|
||||||
may still be either comments in the source code, or the included
|
|
||||||
configuration files. ]]>The source and configuration files are all well
|
|
||||||
commented. The main configuration files are: 'config', 'default.action', and
|
|
||||||
'default.filter'<![%p-not-stable;[ in the top-level source directory]]>.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Included documentation may vary according to platform and packager. All
|
|
||||||
documentation is posted on http://www.privoxy.org, in case you don't have it,
|
|
||||||
or can't find it.
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 id="contact"><title>CONTACTING THE DEVELOPERS, BUG REPORTING AND FEATURE REQUESTS</title>
|
|
||||||
<!-- Include contacting.sgml boilerplate: -->
|
|
||||||
&contacting;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!-- <para> -->
|
|
||||||
<!-- <LiteralLayout> -->
|
|
||||||
<!-- ------------------------------------------------------------------------- -->
|
|
||||||
<!-- ijbswa-developers@lists.sourceforge.net -->
|
|
||||||
<!-- </LiteralLayout> -->
|
|
||||||
<!-- </para> -->
|
|
||||||
<!-- <para> -->
|
|
||||||
<!-- $Id: readme.sgml,v 2.26 2009/03/21 11:32:38 hal9 Exp $ -->
|
|
||||||
<!-- </para> -->
|
|
||||||
|
|
||||||
</article>
|
|
|
@ -1,113 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/seealso.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: seealso.sgml,v 2.12 2009/02/23 10:42:58 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
privoxy-man-page
|
|
||||||
user-manual
|
|
||||||
faq
|
|
||||||
developer-manual
|
|
||||||
|
|
||||||
NOTE: 04/05/02, HB Removed tags. They were causing docbook2man
|
|
||||||
to barf.
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Other references and sites of interest to <application>Privoxy</application>
|
|
||||||
users:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink
|
|
||||||
url="http://www.privoxy.org/">http://www.privoxy.org/</ulink>,
|
|
||||||
the <application>Privoxy</application> Home page.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink
|
|
||||||
url="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/</ulink>,
|
|
||||||
the <application>Privoxy</application> FAQ.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink
|
|
||||||
url="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/</ulink>,
|
|
||||||
the <application>Privoxy</application> developer manual.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/</ulink>,
|
|
||||||
the Project Page for <application>Privoxy</application> on
|
|
||||||
<ulink url="http://sourceforge.net">SourceForge</ulink>.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="http://config.privoxy.org/">http://config.privoxy.org/</ulink>,
|
|
||||||
the web-based user interface. <application>Privoxy</application> must be
|
|
||||||
running for this to work. Shortcut: <ulink url="http://p.p/">http://p.p/</ulink>
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="https://sourceforge.net/tracker/?group_id=11118&atid=460288">https://sourceforge.net/tracker/?group_id=11118&atid=460288</ulink>, to submit <quote>misses</quote> and other
|
|
||||||
configuration related suggestions to the developers.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<![%seealso-extra;[
|
|
||||||
<!-- This part only goes into user-manual -->
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="http://www.junkbusters.com/ht/en/cookies.html">http://www.junkbusters.com/ht/en/cookies.html</ulink>,
|
|
||||||
an explanation how cookies are used to track web users.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="http://www.junkbusters.com/ijb.html">http://www.junkbusters.com/ijb.html</ulink>,
|
|
||||||
the original Internet Junkbuster.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="http://www.squid-cache.org/">http://www.squid-cache.org/</ulink>, a popular
|
|
||||||
caching proxy, which is often used together with <application>Privoxy</application>.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="http://www.pps.jussieu.fr/~jch/software/polipo/">http://www.pps.jussieu.fr/~jch/software/polipo/</ulink>,
|
|
||||||
<application>Polipo</application> is a caching proxy with advanced features
|
|
||||||
like pipelining, multiplexing and caching of partial instances. In many setups
|
|
||||||
it can be used as <application>Squid</application> replacement.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
<simplelist>
|
|
||||||
<member>
|
|
||||||
<ulink url="https://www.torproject.org/">https://www.torproject.org/</ulink>,
|
|
||||||
<application>Tor</application> can help anonymize web browsing,
|
|
||||||
web publishing, instant messaging, IRC, SSH, and other applications.
|
|
||||||
</member>
|
|
||||||
</simplelist>
|
|
||||||
]]>
|
|
||||||
</para>
|
|
|
@ -1,46 +0,0 @@
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/supported.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Entity included in other project documents.
|
|
||||||
|
|
||||||
$Id: supported.sgml,v 2.9 2008/01/17 01:49:51 hal9 Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2008 Privoxy Developers http://www.privoxy.org/
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
======================================================================
|
|
||||||
This file used for inclusion with other documents only.
|
|
||||||
======================================================================
|
|
||||||
|
|
||||||
If you make changes to this file, please verify the finished
|
|
||||||
docs all display as intended.
|
|
||||||
|
|
||||||
This file is included into:
|
|
||||||
|
|
||||||
user-manual
|
|
||||||
faq
|
|
||||||
newfeatures
|
|
||||||
announce
|
|
||||||
|
|
||||||
-->
|
|
||||||
<para>
|
|
||||||
At present, <application>Privoxy</application> is known to run on
|
|
||||||
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
|
|
||||||
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD,
|
|
||||||
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<![%p-supp-userman;[
|
|
||||||
<para>
|
|
||||||
But any operating system that runs TCP/IP, can conceivably take advantage of
|
|
||||||
<application>Privoxy</application> in a networked situation where
|
|
||||||
<application>Privoxy</application> would run as a server on a LAN gateway.
|
|
||||||
Then only the <quote>gateway</quote> needs to be running one of the above
|
|
||||||
operating systems.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Source code is freely available, so porting to other operating systems
|
|
||||||
is always a possibility.
|
|
||||||
</para>
|
|
||||||
]]>
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
'refentry:PRIVOXY' => 'privoxy(1)',
|
|
||||||
'' => ''
|
|
||||||
}
|
|
|
@ -1,372 +0,0 @@
|
||||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
|
|
||||||
<!entity % dummy "IGNORE">
|
|
||||||
<!entity p-intro SYSTEM "privoxy.sgml">
|
|
||||||
<!entity contacting SYSTEM "contacting.sgml">
|
|
||||||
<!entity history SYSTEM "history.sgml">
|
|
||||||
<!entity copyright SYSTEM "copyright.sgml">
|
|
||||||
<!entity license SYSTEM "license.sgml">
|
|
||||||
<!entity p-version "3.0.11">
|
|
||||||
<!entity p-status "stable">
|
|
||||||
<!entity % p-not-stable "IGNORE">
|
|
||||||
<!entity % p-stable "INCLUDE">
|
|
||||||
<!entity my-copy "©"> <!-- kludge for docbook2man -->
|
|
||||||
<!entity % p-homepage "IGNORE"> <!-- toggle for webserver index.html -->
|
|
||||||
<!entity % p-index "IGNORE"> <!-- toggle for local doc index -->
|
|
||||||
]>
|
|
||||||
<!--
|
|
||||||
File : $Source: /cvsroot/ijbswa/current/doc/source/webserver/index.sgml,v $
|
|
||||||
|
|
||||||
Purpose : Index file of the project's homepage and also documentation index
|
|
||||||
This file belongs into
|
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
|
||||||
|
|
||||||
$Id: index.sgml,v 2.9 2009/02/19 14:12:02 fabiankeil Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
|
||||||
See LICENSE.
|
|
||||||
|
|
||||||
========================================================================
|
|
||||||
NOTE: Please read developer-manual/documentation.html before touching
|
|
||||||
anything in this, or other Privoxy documentation.
|
|
||||||
========================================================================
|
|
||||||
|
|
||||||
Note: This is the Privoxy home page *and* builds a page that can be
|
|
||||||
used with local documentation as a focal point for docs or other points
|
|
||||||
of interest. The Makefile is adding additional meta data and content via
|
|
||||||
perl.
|
|
||||||
|
|
||||||
Generates: index.html, for webserver home page.
|
|
||||||
privoxy-index.html, for packaging with docs
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
<article id="index">
|
|
||||||
<artheader>
|
|
||||||
<title>Privoxy - <![%p-homepage;[Home Page]]><![%p-index;[The Privacy Enhancing Proxy]]></title>
|
|
||||||
<![%p-index;[<subtitle>Project Index Page v&p-version;</subtitle>]]>
|
|
||||||
|
|
||||||
<!-- copyright is at bottom of page -->
|
|
||||||
|
|
||||||
<keywordset>
|
|
||||||
<keyword>privoxy</keyword> <keyword>HTTP</keyword> <keyword>proxy</keyword> <keyword>privacy</keyword>
|
|
||||||
<keyword>popups</keyword> <keyword>po-ups</keyword> <keyword>HTML</keyword> <keyword>JavaScript</keyword>
|
|
||||||
<keyword>cleaning</keyword> <keyword>blocking</keyword> <keyword>cleaner</keyword> <keyword>blocker</keyword>
|
|
||||||
<keyword>filter</keyword> <keyword>proxy</keyword> <keyword>junk</keyword> <keyword>ad</keyword>
|
|
||||||
<keyword>advertisement</keyword> <keyword>banner</keyword> <keyword>webbugs</keyword>
|
|
||||||
<keyword>web-bugs</keyword> <keyword>werbung</keyword> <keyword>junkbusters</keyword>
|
|
||||||
<keyword>junkbuster</keyword>
|
|
||||||
</keywordset>
|
|
||||||
|
|
||||||
<abstract>
|
|
||||||
|
|
||||||
<![%dummy;[
|
|
||||||
<para>
|
|
||||||
<comment>
|
|
||||||
This is here to keep vim syntax file from breaking :/
|
|
||||||
If I knew enough to fix it, I would.
|
|
||||||
PLEASE DO NOT REMOVE! HB: hal@foobox.net
|
|
||||||
</comment>
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
<!-- Include privoxy.sgml boilerplate: -->
|
|
||||||
&p-intro;
|
|
||||||
<!-- end boilerplate -->
|
|
||||||
|
|
||||||
<![%p-homepage;[
|
|
||||||
<para>
|
|
||||||
The most recent release is <ulink url="announce.txt">&p-version; (&p-status;)</ulink>.
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
</abstract>
|
|
||||||
</artheader>
|
|
||||||
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
|
|
||||||
|
|
||||||
<sect1 renderas="sect2" id="download" label=""><title>Download</title>
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="https://sourceforge.net/project/showfiles.php?group_id=11118">Download recent releases</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<!--
|
|
||||||
deprecated
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="http://cvs.sourceforge.net/cvstarballs/ijbswa-cvsroot.tar.bz2">Download the latest CVS snapshot (source tarball)</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
-->
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/quickstart.html">Quickstart after installation</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 renderas="sect2" id="docs" label=""><title>Documentation</title>
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/index.html">User manual</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="faq/index.html">Frequently Asked Questions</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="developer-manual/index.html">Developer Manual</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="man-page/privoxy-man-page.html">Classic Man Page</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1 renderas="sect2" id="moreinfo" label=""><title>More information</title>
|
|
||||||
<para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/contact.html">Support & Service</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/copyright.html">Copyright, License, History & Authors</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/introduction.html#FEATURES">List of (new) Features</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="https://sourceforge.net/projects/ijbswa/">The project page</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<ulink url="user-manual/seealso.html">Related links</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
<!-- please leave this link absolute so this file can be bundled with -->
|
|
||||||
<!-- documentation and still used locally -->
|
|
||||||
<ulink url="http://privoxy.org/team/index.html">Pictures of the Privoxy Team</ulink>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<![%p-homepage;[
|
|
||||||
<!-- ~~~~~ New section ~~~~~ -->
|
|
||||||
<sect1 label="">
|
|
||||||
<!-- dummy section, for spacing -->
|
|
||||||
<title></title>
|
|
||||||
<para>
|
|
||||||
<!-- show the SF logo per AUP -->
|
|
||||||
<informaltable frame=none label="" pgwide="1">
|
|
||||||
<tgroup cols=1 align="center" colsep=1 rowsep=1>
|
|
||||||
<colspec colname=c1 align="center">
|
|
||||||
<tbody>
|
|
||||||
<row>
|
|
||||||
<entry align="center">Privoxy is developed on:</entry>
|
|
||||||
</row>
|
|
||||||
<row>
|
|
||||||
<entry align="center">
|
|
||||||
<ulink url="http://sourceforge.net/">
|
|
||||||
<inlinegraphic fileref="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif"></inlinegraphic>
|
|
||||||
</ulink>
|
|
||||||
</entry>
|
|
||||||
</row>
|
|
||||||
</tbody>
|
|
||||||
</tgroup>
|
|
||||||
</informaltable>
|
|
||||||
</para>
|
|
||||||
]]>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<informalfigure pgwide="1">
|
|
||||||
<ulink url="http://sourceforge.net/">
|
|
||||||
<inlinegraphic align="center" fileref="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif"></inlinegraphic>
|
|
||||||
</ulink>
|
|
||||||
</informalfigure>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<![%p-index;[
|
|
||||||
<sect1 label=""><title></title>
|
|
||||||
<!-- dummy section for layout and spacing -->
|
|
||||||
]]>
|
|
||||||
|
|
||||||
<!-- Formal copyright markup does not work here. HB. -->
|
|
||||||
<!-- NOTE: I could not get docbook to completely ignore © -->
|
|
||||||
<!-- GNUMakefile is inserting this now -->
|
|
||||||
<para>
|
|
||||||
<subscript>
|
|
||||||
Copyright __copy 2001-2009 by Privoxy Developers
|
|
||||||
</subscript>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it
|
|
||||||
and/or modify it under the terms of the GNU General
|
|
||||||
Public License as published by the Free Software
|
|
||||||
Foundation; either version 2 of the License, or (at
|
|
||||||
your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will
|
|
||||||
be useful, but WITHOUT ANY WARRANTY; without even the
|
|
||||||
implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. See the GNU General Public
|
|
||||||
License for more details.
|
|
||||||
|
|
||||||
The GNU General Public License should be included with
|
|
||||||
this file. If not, you can view it at
|
|
||||||
http://www.gnu.org/copyleft/gpl.html
|
|
||||||
or write to the Free Software Foundation, Inc., 59
|
|
||||||
Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
|
|
||||||
$Log: index.sgml,v $
|
|
||||||
Revision 2.9 2009/02/19 14:12:02 fabiankeil
|
|
||||||
Change link to the project page to https://.
|
|
||||||
|
|
||||||
Revision 2.8 2009/02/12 16:09:44 fabiankeil
|
|
||||||
Declare the code stable.
|
|
||||||
|
|
||||||
Revision 2.7 2009/01/13 16:50:36 fabiankeil
|
|
||||||
The standard.action file is gone.
|
|
||||||
|
|
||||||
Revision 2.6 2008/08/16 08:51:28 fabiankeil
|
|
||||||
Update version-related entities.
|
|
||||||
|
|
||||||
Revision 2.5 2008/06/18 17:42:13 fabiankeil
|
|
||||||
- Remove link to soon-to-be-removed PDFs.
|
|
||||||
- Use https for the download URL.
|
|
||||||
- Update copyright year.
|
|
||||||
|
|
||||||
Revision 2.4 2006/08/28 01:08:57 hal9
|
|
||||||
Remove reference to defunct nightly cvs tarballs.
|
|
||||||
|
|
||||||
Revision 2.3 2006/07/18 14:48:51 david__schmidt
|
|
||||||
Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch)
|
|
||||||
with what was really the latest development (the v_3_0_branch branch)
|
|
||||||
|
|
||||||
Revision 1.16.2.12 2004/01/30 14:33:41 oes
|
|
||||||
Vi(m) syntax voodoo now hidden; copyright updated
|
|
||||||
|
|
||||||
Revision 1.16.2.11 2003/08/16 12:16:30 hal9
|
|
||||||
Update cvs tarball URL (to bz2)
|
|
||||||
|
|
||||||
Revision 1.16.2.10 2003/03/28 03:33:09 hal9
|
|
||||||
Include link for announce.txt, and change handling of ©.
|
|
||||||
|
|
||||||
Revision 1.16.2.9 2003/03/26 02:03:45 oes
|
|
||||||
Updated hard-coded copyright dates
|
|
||||||
|
|
||||||
Revision 1.16.2.8 2002/08/16 03:05:42 hal9
|
|
||||||
Put all pdf docs in a zip archive now.
|
|
||||||
|
|
||||||
Revision 1.16.2.7 2002/08/14 16:40:00 hal9
|
|
||||||
Add links to pdf docs.
|
|
||||||
|
|
||||||
Revision 1.16.2.6 2002/07/26 15:22:15 oes
|
|
||||||
Most recent release now inserted automatically (again)
|
|
||||||
|
|
||||||
Revision 1.16.2.5 2002/06/09 18:59:16 hal9
|
|
||||||
Correct typo.
|
|
||||||
|
|
||||||
Revision 1.16.2.4 2002/06/09 16:36:33 hal9
|
|
||||||
Clarifications on filtering and MIME. Hardcode 'latest release' in index.html.
|
|
||||||
|
|
||||||
Revision 1.16.2.3 2002/05/28 02:31:38 hal9
|
|
||||||
New file, privoxy-index.html, for bundling with documentation. Built from
|
|
||||||
index.sgml, like homepage, but with content toggles more suitable for this use.
|
|
||||||
|
|
||||||
Revision 1.16.2.2 2002/05/26 22:04:46 hal9
|
|
||||||
Add several comments, and reworded 'most recent release', ie we don't officially
|
|
||||||
release odd numbered versions.
|
|
||||||
|
|
||||||
Revision 1.16.2.1 2002/05/26 17:40:02 hal9
|
|
||||||
Make team pictures link absolute for docs.
|
|
||||||
|
|
||||||
Revision 1.16 2002/05/24 10:06:31 oes
|
|
||||||
Nit
|
|
||||||
|
|
||||||
Revision 1.15 2002/05/24 00:02:05 oes
|
|
||||||
Tried to make more useful and concise:
|
|
||||||
Reordered, no more TOC, link to instead of include info,
|
|
||||||
added some links. Should we use the free space to better
|
|
||||||
describe what Privoxy is good for?
|
|
||||||
|
|
||||||
Revision 1.14 2002/05/10 01:48:20 hal9
|
|
||||||
This is mostly proposed copyright/licensing additions and changes. Docs
|
|
||||||
are still GPL, but licensing and copyright are more visible. Also, copyright
|
|
||||||
changed in doc header comments (eliminate references to JB except FAQ).
|
|
||||||
|
|
||||||
Revision 1.13 2002/05/05 20:29:59 hal9
|
|
||||||
Ooops, fixing an accidental delete of title element.
|
|
||||||
|
|
||||||
Revision 1.12 2002/05/05 20:26:02 hal9
|
|
||||||
Sorting out license vs copyright in these docs.
|
|
||||||
|
|
||||||
Revision 1.11 2002/05/04 08:44:45 swa
|
|
||||||
bumped version
|
|
||||||
|
|
||||||
Revision 1.10 2002/04/26 17:24:31 swa
|
|
||||||
bookmarks cleaned, changed structure of user manual, screen and programlisting cleanups, and numerous other changes that I forgot
|
|
||||||
|
|
||||||
Revision 1.9 2002/04/14 01:00:07 hal9
|
|
||||||
Fix the logo properly with docbook.
|
|
||||||
|
|
||||||
Revision 1.7 2002/04/12 10:11:53 swa
|
|
||||||
changed bookmarklet text so that users can easily find the bookmark
|
|
||||||
|
|
||||||
Revision 1.6 2002/04/12 08:34:18 swa
|
|
||||||
added link to new page
|
|
||||||
|
|
||||||
Revision 1.5 2002/04/12 02:05:19 david__schmidt
|
|
||||||
Tiny English fix: infos -> info
|
|
||||||
Add copyright date 2002
|
|
||||||
|
|
||||||
Revision 1.4 2002/04/08 20:42:07 swa
|
|
||||||
fixed JB spelling
|
|
||||||
|
|
||||||
Revision 1.3 2002/04/07 20:27:18 hal9
|
|
||||||
Fix meta data.
|
|
||||||
|
|
||||||
Revision 1.2 2002/04/07 09:06:45 swa
|
|
||||||
users can now completely browse offline
|
|
||||||
|
|
||||||
Revision 1.1 2002/04/07 08:10:48 swa
|
|
||||||
create some of the webserver docs
|
|
||||||
automatically (in particular if
|
|
||||||
those docs recycle other documentation
|
|
||||||
fragments). Now committed webserver's
|
|
||||||
index file.
|
|
||||||
|
|
||||||
|
|
||||||
-->
|
|
||||||
|
|
||||||
</article>
|
|
|
@ -1,9 +0,0 @@
|
||||||
All files contained in this directory should eventually be
|
|
||||||
on the project's homepage
|
|
||||||
|
|
||||||
ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
|
|
||||||
|
|
||||||
which is indeed http://ijbswa.sourceforge.net
|
|
||||||
and http://www.privoxy.org/.
|
|
||||||
|
|
||||||
-Stefan, April 2002
|
|
|
@ -1,126 +0,0 @@
|
||||||
Announcing Privoxy v.3.0.12
|
|
||||||
-----------------------------------------------------------------
|
|
||||||
|
|
||||||
Privoxy 3.0.12-stable is primarily a bugfix release.
|
|
||||||
|
|
||||||
See http://www.privoxy.org/3.0.12/user-manual/whatsnew.html for details.
|
|
||||||
|
|
||||||
--------------------------------------------------------------------
|
|
||||||
ChangeLog for Privoxy
|
|
||||||
--------------------------------------------------------------------
|
|
||||||
*** Version 3.0.12 ***
|
|
||||||
|
|
||||||
- The socket-timeout option now also works on platforms whose
|
|
||||||
select() implementation modifies the timeout structure.
|
|
||||||
Previously the timeout was triggered even if the connection
|
|
||||||
didn't stall. Reported by cyberpatrol.
|
|
||||||
- The Connection: keep-alive code properly deals with files
|
|
||||||
larger than 2GB. Previously the connection was closed too
|
|
||||||
early.
|
|
||||||
- The content length for files above 2GB is logged correctly.
|
|
||||||
- The user-manual directive on the show-status page links to
|
|
||||||
the documentation location specified with the directive,
|
|
||||||
not to the Privoxy website.
|
|
||||||
- When running in daemon mode, Privoxy doesn't log anything
|
|
||||||
to the console unless there are errors before the logfile
|
|
||||||
has been opened.
|
|
||||||
- The show-status page prints warnings about invalid directives
|
|
||||||
on the same line as the directives themselves.
|
|
||||||
- Fixed several justified (but harmless) compiler warnings,
|
|
||||||
mostly on 64 bit platforms.
|
|
||||||
- The mingw32 version explicitly requests the default charset
|
|
||||||
to prevent display problems with some fonts available on more
|
|
||||||
recent Windows versions. Patch by Burberry.
|
|
||||||
- The mingw32 version uses the Privoxy icon in the alt-tab
|
|
||||||
windows. Patch by Burberry.
|
|
||||||
- The timestamp and the thread id is omitted in the "Fatal error"
|
|
||||||
message box on mingw32.
|
|
||||||
- Fixed two related mingw32-only buffer overflows. Triggering
|
|
||||||
them required control over the configuration file, therefore
|
|
||||||
this isn't seen as a security issue.
|
|
||||||
- In verbose mode, or if the new option --show-skipped-tests
|
|
||||||
is used, Privoxy-Regression-Test logs skipped tests and the
|
|
||||||
skip reason.
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------------
|
|
||||||
About Privoxy:
|
|
||||||
-----------------------------------------------------------------
|
|
||||||
|
|
||||||
Privoxy is a non-caching web proxy with advanced filtering capabilities for
|
|
||||||
enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and
|
|
||||||
tastes. It has application for both stand-alone systems and multi-user
|
|
||||||
networks.
|
|
||||||
|
|
||||||
Privoxy is Free Software and licensed under the GPL2.
|
|
||||||
|
|
||||||
Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
Donations are welcome: http://www.privoxy.org/faq/general.html#DONATE
|
|
||||||
|
|
||||||
At present, Privoxy is known to run on Windows(95, 98, ME, 2000,
|
|
||||||
XP, Vista), Linux (Ubuntu, RedHat, SuSE, Debian, Fedora, Gentoo and
|
|
||||||
others), Mac OSX, OS/2, AmigaOS, FreeBSD, NetBSD, OpenBSD, Solaris, and
|
|
||||||
various other flavors of Unix.
|
|
||||||
|
|
||||||
In addition to the core features of ad blocking and cookie management,
|
|
||||||
Privoxy provides many supplemental features, that give the end-user
|
|
||||||
more control, more privacy and more freedom:
|
|
||||||
|
|
||||||
|
|
||||||
* Can keep outgoing connections alive and reuse them later on.
|
|
||||||
|
|
||||||
* Supports tagging which allows to change the behaviour based on client
|
|
||||||
and server headers.
|
|
||||||
|
|
||||||
* Can be run as an "intercepting" proxy, which obviates the need to
|
|
||||||
configure browsers individually.
|
|
||||||
|
|
||||||
* Sophisticated actions and filters for manipulating both server and
|
|
||||||
client headers.
|
|
||||||
|
|
||||||
* Can be chained with other proxies.
|
|
||||||
|
|
||||||
* Integrated browser based configuration and control utility at
|
|
||||||
http://config.privoxy.org/ (shortcut: http://p.p/). Browser-based
|
|
||||||
tracing of rule and filter effects. Remote toggling.
|
|
||||||
|
|
||||||
* Web page filtering (text replacements, removes banners based on size,
|
|
||||||
invisible "web-bugs", JavaScript and HTML annoyances, pop-up windows,
|
|
||||||
etc.)
|
|
||||||
|
|
||||||
* Modularized configuration that allows for standard settings and user
|
|
||||||
settings to reside in separate files, so that installing updated actions
|
|
||||||
files won't overwrite individual user settings.
|
|
||||||
|
|
||||||
* Support for Perl Compatible Regular Expressions in the configuration
|
|
||||||
files, and a more sophisticated and flexible configuration syntax.
|
|
||||||
|
|
||||||
* Improved cookie management features (e.g. session based cookies).
|
|
||||||
|
|
||||||
* GIF de-animation.
|
|
||||||
|
|
||||||
* Bypass many click-tracking scripts (avoids script redirection).
|
|
||||||
|
|
||||||
* Multi-threaded (POSIX and native threads).
|
|
||||||
|
|
||||||
* User-customizable HTML templates for most proxy-generated pages (e.g.
|
|
||||||
"blocked" page).
|
|
||||||
|
|
||||||
* Auto-detection and re-reading of config file changes.
|
|
||||||
|
|
||||||
* Improved signal handling, and a true daemon mode (Unix).
|
|
||||||
|
|
||||||
* Every feature now controllable on a per-site or per-location basis,
|
|
||||||
configuration more powerful and versatile over-all.
|
|
||||||
|
|
||||||
|
|
||||||
Download location:
|
|
||||||
http://sourceforge.net/project/showfiles.php?group_id=11118
|
|
||||||
|
|
||||||
Home Page:
|
|
||||||
http://www.privoxy.org/
|
|
||||||
|
|
||||||
|
|
||||||
- Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
|
|
@ -1,510 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Update the Webserver"
|
|
||||||
HREF="webserver-update.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Privoxy Copyright, License and History"
|
|
||||||
HREF="copyright.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="webserver-update.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT"
|
|
||||||
>8. Contacting the developers, Bug Reporting and Feature Requests</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> We value your feedback. In fact, we rely on it to improve
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> and its configuration.
|
|
||||||
However, please note the following hints, so we can
|
|
||||||
provide you with the best support:</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-SUPPORT"
|
|
||||||
>8.1. Get Support</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> For casual users, our
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
|
||||||
TARGET="_top"
|
|
||||||
>support forum at SourceForge</A
|
|
||||||
>
|
|
||||||
is probably best suited:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> All users are of course welcome to discuss their issues on the <A
|
|
||||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
|
||||||
TARGET="_top"
|
|
||||||
>users
|
|
||||||
mailing list</A
|
|
||||||
>, where the developers also hang around.</P
|
|
||||||
><P
|
|
||||||
> Please don't sent private support requests to individual Privoxy
|
|
||||||
developers, either use the mailing lists or the support trackers.</P
|
|
||||||
><P
|
|
||||||
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
|
||||||
addresses have to be accepted manually by a moderator. This may cause a
|
|
||||||
delay of several days and if you use a subject that doesn't clearly
|
|
||||||
mention Privoxy or one of its features, your message may be accidentally
|
|
||||||
discarded as spam.</P
|
|
||||||
><P
|
|
||||||
> If you aren't subscribed, you should therefore spend a few seconds
|
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
|
||||||
the mailing list only, and you won't see them.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="REPORTING"
|
|
||||||
>8.2. Reporting Problems</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
><SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Problems"</SPAN
|
|
||||||
> for our purposes, come in two forms:</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Configuration issues, such as ads that slip through, or sites that
|
|
||||||
don't function properly due to one <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"action"</SPAN
|
|
||||||
> or another being turned <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"on"</SPAN
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Bugs"</SPAN
|
|
||||||
> in the programming code that makes up
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, such as that might cause a crash.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT3"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT3"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-ADS"
|
|
||||||
>8.2.1. Reporting Ads or Other Configuration Problems</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Please send feedback on ads that slipped through, innocent images that were
|
|
||||||
blocked, sites that don't work properly, and other configuration related problem of
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>default.action</TT
|
|
||||||
> file, to
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
|
||||||
TARGET="_top"
|
|
||||||
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
|
||||||
>,
|
|
||||||
the Actions File Tracker.</P
|
|
||||||
><P
|
|
||||||
> New, improved <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>default.action</TT
|
|
||||||
> files may occasionally be made
|
|
||||||
available based on your feedback. These will be announced on the <A
|
|
||||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
|
||||||
TARGET="_top"
|
|
||||||
>ijbswa-announce</A
|
|
||||||
>
|
|
||||||
list and available from our the <A
|
|
||||||
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>files section</A
|
|
||||||
> of
|
|
||||||
our <A
|
|
||||||
HREF="http://sf.net/projects/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>project page</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT3"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT3"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-BUGS"
|
|
||||||
>8.2.2. Reporting Bugs</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Please report all bugs through our bug tracker:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
|
||||||
>. </P
|
|
||||||
><P
|
|
||||||
> Before doing so, please make sure that the bug has <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>not already been submitted</I
|
|
||||||
></SPAN
|
|
||||||
>
|
|
||||||
and observe the additional hints at the top of the <A
|
|
||||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
|
||||||
TARGET="_top"
|
|
||||||
>submit
|
|
||||||
form</A
|
|
||||||
>. If already submitted, please feel free to add any info to the
|
|
||||||
original report that might help to solve the issue.</P
|
|
||||||
><P
|
|
||||||
> Please try to verify that it is a <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> bug,
|
|
||||||
and not a browser or site bug or documented behaviour that just happens
|
|
||||||
to be different than what you expected. If unsure,
|
|
||||||
try <A
|
|
||||||
HREF="http://config.privoxy.org/toggle?set=disable"
|
|
||||||
TARGET="_top"
|
|
||||||
>toggling
|
|
||||||
off</A
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, and see if the problem persists.</P
|
|
||||||
><P
|
|
||||||
> If you are using your own custom configuration, please try
|
|
||||||
the stock configs to see if the problem is configuration related.
|
|
||||||
If you're having problems with a feature that is disabled by default,
|
|
||||||
please ask around on the mailing list if others can reproduce the problem.</P
|
|
||||||
><P
|
|
||||||
> If you aren't using the latest Privoxy version, the bug may have been found
|
|
||||||
and fixed in the meantime. We would appreciate if you could take the time
|
|
||||||
to <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/installation.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>upgrade
|
|
||||||
to the latest version</A
|
|
||||||
> (or even the latest CVS snapshot) and verify
|
|
||||||
that your bug still exists.</P
|
|
||||||
><P
|
|
||||||
>Please be sure to provide the following information:</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The exact <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> version you are using
|
|
||||||
(if you got the source from CVS, please also provide the source code revisions
|
|
||||||
as shown in <A
|
|
||||||
HREF="http://config.privoxy.org/show-version"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://config.privoxy.org/show-version</A
|
|
||||||
>).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The operating system and versions you run
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> on, (e.g. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Windows
|
|
||||||
XP SP2</SPAN
|
|
||||||
>), if you are using a Unix flavor,
|
|
||||||
sending the output of <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"uname -a"</SPAN
|
|
||||||
> should do,
|
|
||||||
in case of GNU/Linux, please also name the distribution.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The name, platform, and version of the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>browser</SPAN
|
|
||||||
>
|
|
||||||
you were using (e.g. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet Explorer v5.5</SPAN
|
|
||||||
> for Mac).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The URL where the problem occurred, or some way for us to duplicate the
|
|
||||||
problem (e.g. <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>http://somesite.example.com/?somethingelse=123</TT
|
|
||||||
>).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether your version of <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is one supplied
|
|
||||||
by the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> developers via SourceForge,
|
|
||||||
or if you got your copy somewhere else.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether you are using <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> in tandem with
|
|
||||||
another proxy such as <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Tor</SPAN
|
|
||||||
>. If so, please
|
|
||||||
temporary disable the other proxy to see if the symptoms change.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether you are using a personal firewall product. If so, does
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> work without it?
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Any other pertinent information to help identify the problem such as config
|
|
||||||
or log file excerpts (yes, you should have log file entries for each
|
|
||||||
action taken).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> You don't have to tell us your actual name when filing a problem
|
|
||||||
report, but please use a nickname so we can differentiate between
|
|
||||||
your messages and the ones entered by other "anonymous" users that
|
|
||||||
may respond to your request if they have the same problem or already
|
|
||||||
found a solution.</P
|
|
||||||
><P
|
|
||||||
> Please also check the status of your request a few days after submitting
|
|
||||||
it, as we may request additional information. If you use a SF id,
|
|
||||||
you should automatically get a mail when someone responds to your request.</P
|
|
||||||
><P
|
|
||||||
> The <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
|
||||||
TARGET="_top"
|
|
||||||
>appendix
|
|
||||||
of the Privoxy User Manual</A
|
|
||||||
> also has helpful information
|
|
||||||
on understanding <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>actions</TT
|
|
||||||
>, and <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>action</TT
|
|
||||||
> debugging. </P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-FEATURE"
|
|
||||||
>8.3. Request New Features</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> You are welcome to submit ideas on new features or other proposals
|
|
||||||
for improvement through our feature request tracker at
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?atid=361118&group_id=11118</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-OTHER"
|
|
||||||
>8.4. Other</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
>For any other issues, feel free to use the mailing lists. Technically interested users
|
|
||||||
and people who wish to contribute to the project are also welcome on the developers list!
|
|
||||||
You can find an overview of all <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>-related mailing lists,
|
|
||||||
including list archives, at:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/mail/?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/mail/?group_id=11118</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="webserver-update.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Update the Webserver</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Privoxy Copyright, License and History</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,298 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy Copyright, License and History</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
|
||||||
HREF="contact.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="See also"
|
|
||||||
HREF="seealso.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="seealso.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="COPYRIGHT"
|
|
||||||
>9. Privoxy Copyright, License and History</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
|
||||||
CLASS="EMAIL"
|
|
||||||
><<A
|
|
||||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
|
||||||
>ijbswa-developers@lists.sourceforge.net</A
|
|
||||||
>></CODE
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
|
||||||
and Junkbusters, Inc. and licensed under the <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public
|
|
||||||
License</I
|
|
||||||
>.</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="AEN1223"
|
|
||||||
>9.1. License</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is free software; you can
|
|
||||||
redistribute it and/or modify it under the terms of the
|
|
||||||
<I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public License</I
|
|
||||||
>, version 2,
|
|
||||||
as published by the Free Software Foundation.</P
|
|
||||||
><P
|
|
||||||
> This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
|
||||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
|
||||||
TARGET="_top"
|
|
||||||
> <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public License</I
|
|
||||||
></A
|
|
||||||
> for details.</P
|
|
||||||
><P
|
|
||||||
> You should have received a copy of the <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU GPL</I
|
|
||||||
>
|
|
||||||
along with this program; if not, write to the <P
|
|
||||||
CLASS="ADDRESS"
|
|
||||||
> Free Software<br>
|
|
||||||
Foundation, Inc. <SPAN
|
|
||||||
CLASS="STREET"
|
|
||||||
>51 Franklin Street, Fifth Floor</SPAN
|
|
||||||
><br>
|
|
||||||
<SPAN
|
|
||||||
CLASS="CITY"
|
|
||||||
>Boston</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="STATE"
|
|
||||||
>MA</SPAN
|
|
||||||
> <SPAN
|
|
||||||
CLASS="POSTCODE"
|
|
||||||
>02110-1301</SPAN
|
|
||||||
><br>
|
|
||||||
<SPAN
|
|
||||||
CLASS="COUNTRY"
|
|
||||||
>USA</SPAN
|
|
||||||
> </P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="AEN1239"
|
|
||||||
>9.2. History</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> A long time ago, there was the
|
|
||||||
<A
|
|
||||||
HREF="http://www.junkbusters.com/ijb.html"
|
|
||||||
TARGET="_top"
|
|
||||||
><SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet Junkbuster</SPAN
|
|
||||||
></A
|
|
||||||
>,
|
|
||||||
by Anonymous Coders and <A
|
|
||||||
HREF="http://www.junkbusters.com/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Junkbusters
|
|
||||||
Corporation</A
|
|
||||||
>. This saved many users a lot of pain in the early days of
|
|
||||||
web advertising and user tracking.</P
|
|
||||||
><P
|
|
||||||
> But the web, its protocols and standards, and with it, the techniques for
|
|
||||||
forcing ads on users, give up autonomy over their browsing, and
|
|
||||||
for tracking them, keeps evolving. Unfortunately, the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet
|
|
||||||
Junkbuster</SPAN
|
|
||||||
> did not. Version 2.0.2, published in 1998, was
|
|
||||||
(and is) the last official
|
|
||||||
<A
|
|
||||||
HREF="http://www.junkbusters.com/ijbdist.html#release"
|
|
||||||
TARGET="_top"
|
|
||||||
>release</A
|
|
||||||
>
|
|
||||||
available from <A
|
|
||||||
HREF="http://www.junkbusters.com"
|
|
||||||
TARGET="_top"
|
|
||||||
>Junkbusters Corporation</A
|
|
||||||
>.
|
|
||||||
Fortunately, it had been released under the GNU
|
|
||||||
<A
|
|
||||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>GPL</A
|
|
||||||
>,
|
|
||||||
which allowed further development by others.</P
|
|
||||||
><P
|
|
||||||
> So Stefan Waldherr started maintaining an improved version of the
|
|
||||||
software, to which eventually a number of people contributed patches.
|
|
||||||
It could already replace banners with a transparent image, and had a first
|
|
||||||
version of pop-up killing, but it was still very closely based on the
|
|
||||||
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
|
||||||
flexible per-site configuration, or content modification. The last release
|
|
||||||
from this effort was version 2.0.2-10, published in 2000.</P
|
|
||||||
><P
|
|
||||||
> Then, some
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
|
|
||||||
TARGET="_top"
|
|
||||||
>developers</A
|
|
||||||
>
|
|
||||||
picked up the thread, and started turning the software inside out, upside down,
|
|
||||||
and then reassembled it, adding many
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
|
||||||
TARGET="_top"
|
|
||||||
>new
|
|
||||||
features</A
|
|
||||||
> along the way.</P
|
|
||||||
><P
|
|
||||||
> The result of this is <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, whose first
|
|
||||||
stable version, 3.0, was released August, 2002.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="seealso.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>See also</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,330 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>The CVS Repository</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Introduction"
|
|
||||||
HREF="introduction.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Documentation Guidelines"
|
|
||||||
HREF="documentation.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="introduction.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="documentation.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="CVS"
|
|
||||||
>2. The CVS Repository</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> If you become part of the active development team, you will eventually
|
|
||||||
need write access to our holy grail, the CVS repository. One of the
|
|
||||||
team members will need to set this up for you. Please read
|
|
||||||
this chapter completely before accessing via CVS.
|
|
||||||
</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CVSACCESS"
|
|
||||||
>2.1. Access to CVS</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> The project's CVS repository is hosted on
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/"
|
|
||||||
TARGET="_top"
|
|
||||||
>SourceForge.</A
|
|
||||||
>
|
|
||||||
Please refer to the chapters 6 and 7 in
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/docman/?group_id=1"
|
|
||||||
TARGET="_top"
|
|
||||||
>SF's site
|
|
||||||
documentation</A
|
|
||||||
> for the technical access details for your
|
|
||||||
operating system. For historical reasons, the CVS server is
|
|
||||||
called <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>ijbswa.cvs.sourceforge.net</TT
|
|
||||||
>, the repository is
|
|
||||||
called <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>ijbswa</TT
|
|
||||||
>, and the source tree module is called
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>current</TT
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CVSBRANCHES"
|
|
||||||
>2.2. Branches</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> Within the CVS repository, there are modules and branches. As
|
|
||||||
mentioned, the sources are in the <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>current</TT
|
|
||||||
>
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"module"</SPAN
|
|
||||||
>. Other modules are present for platform specific
|
|
||||||
issues. There is a webview of the CVS hierarchy at <A
|
|
||||||
HREF="http://ijbswa.cvs.sourceforge.net/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://ijbswa.cvs.sourceforge.net/ijbswa/</A
|
|
||||||
>,
|
|
||||||
which might help with visualizing how these pieces fit together.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Branches are used to fork a sub-development path from the main trunk.
|
|
||||||
Within the <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>current</TT
|
|
||||||
> module where the sources are, there
|
|
||||||
is always at least one <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"branch"</SPAN
|
|
||||||
> from the main trunk
|
|
||||||
devoted to a stable release series. The main trunk is where active
|
|
||||||
development takes place for the next stable series (e.g. 3.2.x).
|
|
||||||
So just prior to each stable series (e.g. 3.0.x), a branch is created
|
|
||||||
just for stable series releases (e.g. 3.0.0 -> 3.0.1 -> 3.0.2, etc).
|
|
||||||
Once the initial stable release of any stable branch has taken place,
|
|
||||||
this branch is <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>only used for bugfixes</I
|
|
||||||
></SPAN
|
|
||||||
>, which have
|
|
||||||
had prior testing before being committed to CVS. (See <A
|
|
||||||
HREF="newrelease.html#VERSIONNUMBERS"
|
|
||||||
>Version Numbers</A
|
|
||||||
> below for details on
|
|
||||||
versioning.)
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> At one time there were two distinct branches: stable and unstable. The
|
|
||||||
more drastic changes were to be in the unstable branch. These branches
|
|
||||||
have now been merged to minimize time and effort of maintaining two
|
|
||||||
branches.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CVSCOMMIT"
|
|
||||||
>2.3. CVS Commit Guidelines</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> The source tree is the heart of every software project. Every effort must
|
|
||||||
be made to ensure that it is readable, compilable and consistent at all
|
|
||||||
times. There are differing guidelines for the stable branch and the
|
|
||||||
main development trunk, and we ask anyone with CVS access to strictly
|
|
||||||
adhere to the following guidelines:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Basic Guidelines, for all branches:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Please don't commit even
|
|
||||||
a small change without testing it thoroughly first. When we're
|
|
||||||
close to a public release, ask a fellow developer to review your
|
|
||||||
changes.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Your commit message should give a concise overview of <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>what you
|
|
||||||
changed</I
|
|
||||||
></SPAN
|
|
||||||
> (no big details) and <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>why you changed it</I
|
|
||||||
></SPAN
|
|
||||||
>
|
|
||||||
Just check previous messages for good examples.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Don't use the same message on multiple files, unless it equally applies to
|
|
||||||
all those files.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> If your changes span multiple files, and the code won't recompile unless
|
|
||||||
all changes are committed (e.g. when changing the signature of a function),
|
|
||||||
then commit all files one after another, without long delays in between.
|
|
||||||
If necessary, prepare the commit messages in advance.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Before changing things on CVS, make sure that your changes are in line
|
|
||||||
with the team's general consensus on what should be done.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Note that near a major public release, we get more cautious.
|
|
||||||
There is always the possibility to submit a patch to the <A
|
|
||||||
HREF="http://sourceforge.net/tracker/?atid=311118&group_id=11118&func=browse"
|
|
||||||
TARGET="_top"
|
|
||||||
>patch
|
|
||||||
tracker</A
|
|
||||||
> instead.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="introduction.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="documentation.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Introduction</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Documentation Guidelines</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,944 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Documentation Guidelines</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="The CVS Repository"
|
|
||||||
HREF="cvs.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Coding Guidelines"
|
|
||||||
HREF="coding.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="coding.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="DOCUMENTATION"
|
|
||||||
>3. Documentation Guidelines</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> All formal documents are maintained in Docbook SGML and located in the
|
|
||||||
<SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>doc/source/*</SAMP
|
|
||||||
> directory. You will need
|
|
||||||
<A
|
|
||||||
HREF="http://www.docbook.org"
|
|
||||||
TARGET="_top"
|
|
||||||
>Docbook</A
|
|
||||||
>, the Docbook
|
|
||||||
DTD's and the Docbook modular stylesheets (or comparable alternatives),
|
|
||||||
and either <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>jade</SPAN
|
|
||||||
> or
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>openjade</SPAN
|
|
||||||
> (recommended) installed in order to
|
|
||||||
build docs from source. Currently there is <A
|
|
||||||
HREF="../user-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
><I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>user-manual</I
|
|
||||||
></A
|
|
||||||
>,
|
|
||||||
<A
|
|
||||||
HREF="../faq/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
><I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>FAQ</I
|
|
||||||
></A
|
|
||||||
>, and, of
|
|
||||||
course this, the <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>developer-manual</I
|
|
||||||
> in this format.
|
|
||||||
The <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>README</I
|
|
||||||
>, <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>AUTHORS</I
|
|
||||||
>,
|
|
||||||
<I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>INSTALL</I
|
|
||||||
>,
|
|
||||||
<I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>privoxy.1</I
|
|
||||||
> (man page), and
|
|
||||||
<I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>config</I
|
|
||||||
> files are also now maintained as Docbook
|
|
||||||
SGML. These files, when built, in the top-level source directory are
|
|
||||||
generated files! Also, the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>index.html</TT
|
|
||||||
> (and a
|
|
||||||
variation on this file, <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>privoxy-index.html</TT
|
|
||||||
>,
|
|
||||||
meant for inclusion with doc packages), are maintained as SGML as well.
|
|
||||||
<SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>DO NOT edit these directly</I
|
|
||||||
></SPAN
|
|
||||||
>. Edit the SGML source, or
|
|
||||||
contact someone involved in the documentation.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>config</TT
|
|
||||||
> requires some special handling. The reason it
|
|
||||||
is maintained this way is so that the extensive comments in the file
|
|
||||||
mirror those in <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>user-manual</I
|
|
||||||
>. But the conversion
|
|
||||||
process requires going from SGML to HTML to text to special formatting
|
|
||||||
required for the embedded comments. Some of this does not survive so
|
|
||||||
well. Especially some of the examples that are longer than 80 characters.
|
|
||||||
The build process for this file outputs to <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>config.new</TT
|
|
||||||
>,
|
|
||||||
which should be reviewed for errors and mis-formatting. Once satisfied
|
|
||||||
that it is correct, then it should be hand copied to
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>config</TT
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Other, less formal documents (e.g. <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>LICENSE</TT
|
|
||||||
>) are
|
|
||||||
maintained as plain text files in the top-level source directory.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Packagers are encouraged to include this documentation. For those without
|
|
||||||
the ability to build the docs locally, text versions of each are kept in
|
|
||||||
CVS. HTML versions are also being kept in CVS under
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/*</TT
|
|
||||||
>. And PDF version are kept in
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/pdf/*</TT
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Formal documents are built with the Makefile targets of
|
|
||||||
<SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make dok</SAMP
|
|
||||||
>, or alternately
|
|
||||||
<SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make redhat-dok</SAMP
|
|
||||||
>. If you have problems,
|
|
||||||
try both. The build process uses the document SGML sources in
|
|
||||||
<SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>doc/source/*/*</SAMP
|
|
||||||
> to update all text files in
|
|
||||||
<SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>doc/text/</SAMP
|
|
||||||
> and to update all HTML
|
|
||||||
documents in <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>doc/webserver/</SAMP
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Documentation writers should please make sure documents build
|
|
||||||
successfully before committing to CVS, if possible.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> How do you update the webserver (i.e. the pages on privoxy.org)?
|
|
||||||
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><OL
|
|
||||||
TYPE="1"
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> First, build the docs by running <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make
|
|
||||||
dok</SAMP
|
|
||||||
> (or alternately <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make
|
|
||||||
redhat-dok</SAMP
|
|
||||||
>). For PDF docs, do <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make
|
|
||||||
dok-pdf</SAMP
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Run <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>make webserver</SAMP
|
|
||||||
> which copies all
|
|
||||||
files from <SAMP
|
|
||||||
CLASS="COMPUTEROUTPUT"
|
|
||||||
>doc/webserver</SAMP
|
|
||||||
> to the
|
|
||||||
sourceforge webserver via scp.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></OL
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Finished docs should be occasionally submitted to CVS
|
|
||||||
(<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/*/*.html</TT
|
|
||||||
>) so that those without
|
|
||||||
the ability to build them locally, have access to them if needed.
|
|
||||||
This is especially important just prior to a new release! Please
|
|
||||||
do this <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>after</I
|
|
||||||
></SPAN
|
|
||||||
> the <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>$VERSION</TT
|
|
||||||
> and
|
|
||||||
other release specific data in <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>configure.in</TT
|
|
||||||
> has been
|
|
||||||
updated (this is done just prior to a new release).
|
|
||||||
</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="SGML"
|
|
||||||
>3.1. Quickstart to Docbook and SGML</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> If you are not familiar with SGML, it is a markup language similar to HTML.
|
|
||||||
Actually, not a mark up language per se, but a language used to define
|
|
||||||
markup languages. In fact, HTML is an SGML application. Both will use
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"tags"</SPAN
|
|
||||||
> to format text and other content. SGML tags can be much
|
|
||||||
more varied, and flexible, but do much of the same kinds of things. The tags,
|
|
||||||
or <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"elements"</SPAN
|
|
||||||
>, are definable in SGML. There is no set
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"standards"</SPAN
|
|
||||||
>. Since we are using
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Docbook</SPAN
|
|
||||||
>, our tags are those that are defined by
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Docbook</SPAN
|
|
||||||
>. Much of how the finish document is
|
|
||||||
rendered is determined by the <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"stylesheets"</SPAN
|
|
||||||
>.
|
|
||||||
The stylesheets determine how each tag gets translated to HTML, or other
|
|
||||||
formats.</P
|
|
||||||
><P
|
|
||||||
> Tags in Docbook SGML need to be always <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"closed"</SPAN
|
|
||||||
>. If not, you
|
|
||||||
will likely generate errors. Example: <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><title>My
|
|
||||||
Title</title></TT
|
|
||||||
>. They are also case-insensitive, but we
|
|
||||||
strongly suggest using all lower case. This keeps compatibility with
|
|
||||||
[Docbook] <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>XML</SPAN
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
> Our documents use <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"sections"</SPAN
|
|
||||||
> for the most part. Sections
|
|
||||||
will be processed into HTML headers (e.g. <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>h1</TT
|
|
||||||
> for
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>sect1</TT
|
|
||||||
>). The <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Docbook</SPAN
|
|
||||||
> stylesheets
|
|
||||||
will use these to also generate the Table of Contents for each doc. Our
|
|
||||||
TOC's are set to a depth of three. Meaning <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>sect1</TT
|
|
||||||
>,
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>sect2</TT
|
|
||||||
>, and <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>sect3</TT
|
|
||||||
> will have TOC
|
|
||||||
entries, but <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>sect4</TT
|
|
||||||
> will not. Each section requires
|
|
||||||
a <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><title></TT
|
|
||||||
> element, and at least one
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><para></TT
|
|
||||||
>. There is a limit of five section
|
|
||||||
levels in Docbook, but generally three should be sufficient for our
|
|
||||||
purposes.</P
|
|
||||||
><P
|
|
||||||
> Some common elements that you likely will use: </P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><para></para></I
|
|
||||||
></SPAN
|
|
||||||
>, paragraph delimiter. Most
|
|
||||||
text needs to be within paragraph elements (there are some exceptions).
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><emphasis></emphasis></I
|
|
||||||
></SPAN
|
|
||||||
>, the stylesheets
|
|
||||||
make this italics.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><filename></filename></I
|
|
||||||
></SPAN
|
|
||||||
>, files and directories.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><command></command></I
|
|
||||||
></SPAN
|
|
||||||
>, command examples.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><literallayout></literallayout></I
|
|
||||||
></SPAN
|
|
||||||
>, like
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><pre></TT
|
|
||||||
>, more or less.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><itemizedlist></itemizedlist></I
|
|
||||||
></SPAN
|
|
||||||
>, list with bullets.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><listitem></listitem></I
|
|
||||||
></SPAN
|
|
||||||
>, member of the above.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><screen></screen></I
|
|
||||||
></SPAN
|
|
||||||
>, screen output, implies
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><literallayout></TT
|
|
||||||
>.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><ulink url="example.com"></ulink></I
|
|
||||||
></SPAN
|
|
||||||
>, like
|
|
||||||
HTML <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><a></TT
|
|
||||||
> tag.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
><quote></quote></I
|
|
||||||
></SPAN
|
|
||||||
>, for, doh, quoting text.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> Look at any of the existing docs for examples of all these and more.</P
|
|
||||||
><P
|
|
||||||
> You might also find <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"<A
|
|
||||||
HREF="http://opensource.bureau-cornavin.com/crash-course/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Writing Documentation
|
|
||||||
Using DocBook - A Crash Course</A
|
|
||||||
>"</SPAN
|
|
||||||
> useful.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="DOCSTYLE"
|
|
||||||
>3.2. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> Documentation Style</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> It will be easier if everyone follows a similar writing style. This
|
|
||||||
just makes it easier to read what someone else has written if it
|
|
||||||
is all done in a similar fashion.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Here it is:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> All tags should be lower case.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Tags delimiting a <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>block</I
|
|
||||||
></SPAN
|
|
||||||
> of text (even small
|
|
||||||
blocks) should be on their own line. Like:
|
|
||||||
<P
|
|
||||||
CLASS="LITERALLAYOUT"
|
|
||||||
> <para><br>
|
|
||||||
Some text goes here.<br>
|
|
||||||
</para><br>
|
|
||||||
</P
|
|
||||||
>
|
|
||||||
Tags marking individual words, or few words, should be in-line:
|
|
||||||
<P
|
|
||||||
CLASS="LITERALLAYOUT"
|
|
||||||
> Just to <emphasis>emphasize</emphasis>, some text goes here.<br>
|
|
||||||
</P
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Tags should be nested and step indented for block text like: (except
|
|
||||||
in-line tags)
|
|
||||||
<P
|
|
||||||
CLASS="LITERALLAYOUT"
|
|
||||||
> <para><br>
|
|
||||||
<itemizedlist><br>
|
|
||||||
<para><br>
|
|
||||||
<listitem><br>
|
|
||||||
Some text goes here in our list example.<br>
|
|
||||||
</listitem><br>
|
|
||||||
</para><br>
|
|
||||||
</itemizedlist><br>
|
|
||||||
</para><br>
|
|
||||||
</P
|
|
||||||
>
|
|
||||||
This makes it easier to find the text amongst the tags ;-)
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Use white space to separate logical divisions within a document,
|
|
||||||
like between sections. Running everything together consistently
|
|
||||||
makes it harder to read and work on.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Do not hesitate to make comments. Comments can either use the
|
|
||||||
<comment> element, or the <!-- --> style comment
|
|
||||||
familiar from HTML. (Note in Docbook v4.x <comment> is
|
|
||||||
replaced by <remark>.)
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> We have an international audience. Refrain from slang, or English
|
|
||||||
idiosyncrasies (too many to list :). Humor also does not translate
|
|
||||||
well sometimes.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Try to keep overall line lengths in source files to 80 characters or less
|
|
||||||
for obvious reasons. This is not always possible, with lengthy URLs for
|
|
||||||
instance.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Our documents are available in differing formats. Right now, they
|
|
||||||
are just plain text, HTML, and PDF, but others are always a
|
|
||||||
future possibility. Be careful with URLs (<ulink>), and avoid
|
|
||||||
this mistake:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> My favorite site is <ulink url="http://example.com">here</ulink>.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> This will render as <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"My favorite site is here"</SPAN
|
|
||||||
>, which is
|
|
||||||
not real helpful in a text doc. Better like this:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> My favorite site is <ulink url="http://example.com">example.com</ulink>.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> All documents should be spell checked occasionally.
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>aspell</SPAN
|
|
||||||
> can check SGML with the
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>-H</TT
|
|
||||||
> option. (<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>ispell</SPAN
|
|
||||||
> I think
|
|
||||||
too.)
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="AEN217"
|
|
||||||
>3.3. Privoxy Custom Entities</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> documentation is using
|
|
||||||
a number of customized <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"entities"</SPAN
|
|
||||||
> to facilitate
|
|
||||||
documentation maintenance.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> We are using a set of <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"boilerplate"</SPAN
|
|
||||||
> files with generic text,
|
|
||||||
that is used by multiple docs. This way we can write something once, and use
|
|
||||||
it repeatedly without having to re-write the same content over and over again.
|
|
||||||
If editing such a file, keep in mind that it should be
|
|
||||||
<SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>generic</I
|
|
||||||
></SPAN
|
|
||||||
>. That is the purpose; so it can be used in varying
|
|
||||||
contexts without additional modifications.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> We are also using what <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Docbook</SPAN
|
|
||||||
> calls
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"internal entities"</SPAN
|
|
||||||
>. These are like variables in
|
|
||||||
programming. Well, sort of. For instance, we have the
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>p-version</TT
|
|
||||||
> entity that contains the current
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> version string. You are strongly
|
|
||||||
encouraged to use these where possible. Some of these obviously
|
|
||||||
require re-setting with each release (done by the Makefile). A sampling of
|
|
||||||
custom entities are listed below. See any of the main docs for examples.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Re- <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"boilerplate"</SPAN
|
|
||||||
> text entities are defined like:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
><!entity supported SYSTEM "supported.sgml"></TT
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> In this example, the contents of the file,
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>supported.sgml</TT
|
|
||||||
> is available for inclusion anywhere
|
|
||||||
in the doc. To make this happen, just reference the now defined
|
|
||||||
entity: <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>&supported;</TT
|
|
||||||
> (starts with an ampersand
|
|
||||||
and ends with a semi-colon), and the contents will be dumped into
|
|
||||||
the finished doc at that point.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Commonly used <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"internal entities"</SPAN
|
|
||||||
>:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>p-version</I
|
|
||||||
></SPAN
|
|
||||||
>: the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
version string, e.g. <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"3.0.12"</SPAN
|
|
||||||
>.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>p-status</I
|
|
||||||
></SPAN
|
|
||||||
>: the project status, either
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"alpha"</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"beta"</SPAN
|
|
||||||
>, or <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"stable"</SPAN
|
|
||||||
>.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>p-not-stable</I
|
|
||||||
></SPAN
|
|
||||||
>: use to conditionally include
|
|
||||||
text in <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"not stable"</SPAN
|
|
||||||
> releases (e.g. <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"beta"</SPAN
|
|
||||||
>).
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>p-stable</I
|
|
||||||
></SPAN
|
|
||||||
>: just the opposite.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>p-text</I
|
|
||||||
></SPAN
|
|
||||||
>: this doc is only generated as text.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> There are others in various places that are defined for a specific
|
|
||||||
purpose. Read the source!
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="coding.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>The CVS Repository</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Coding Guidelines</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,688 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy Developer Manual</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Introduction"
|
|
||||||
HREF="introduction.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
><DIV
|
|
||||||
CLASS="TITLEPAGE"
|
|
||||||
><H1
|
|
||||||
CLASS="TITLE"
|
|
||||||
><A
|
|
||||||
NAME="AEN2"
|
|
||||||
>Privoxy Developer Manual</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
CLASS="PUBDATE"
|
|
||||||
> <SUB
|
|
||||||
>
|
|
||||||
|
|
||||||
<A
|
|
||||||
HREF="copyright.html"
|
|
||||||
>Copyright</A
|
|
||||||
> © 2001-2009 by
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Privoxy Developers</A
|
|
||||||
>
|
|
||||||
</SUB
|
|
||||||
>
|
|
||||||
<BR></P
|
|
||||||
><P
|
|
||||||
CLASS="PUBDATE"
|
|
||||||
>$Id: index.html,v 1.42 2009/03/21 12:59:32 fabiankeil Exp $<BR></P
|
|
||||||
><DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="ABSTRACT"
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><A
|
|
||||||
NAME="AEN9"
|
|
||||||
></A
|
|
||||||
><P
|
|
||||||
> The developer manual provides guidance on coding, testing, packaging, documentation
|
|
||||||
and other issues of importance to those involved with
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> development. It is mandatory (and helpful!) reading
|
|
||||||
for anyone who wants to join the team. Note that it's currently out of date
|
|
||||||
and may not be entirely correct. As always, patches are welcome.</P
|
|
||||||
><P
|
|
||||||
> Please note that this document is constantly evolving. This copy represents
|
|
||||||
the state at the release of version 3.0.12.
|
|
||||||
You can find the latest version of the this manual at <A
|
|
||||||
HREF="http://www.privoxy.org/developer-manual/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.privoxy.org/developer-manual/</A
|
|
||||||
>.
|
|
||||||
Please see <A
|
|
||||||
HREF="contact.html"
|
|
||||||
>the Contact section</A
|
|
||||||
>
|
|
||||||
on how to contact the developers.</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><HR></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="TOC"
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
><B
|
|
||||||
>Table of Contents</B
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1. <A
|
|
||||||
HREF="introduction.html"
|
|
||||||
>Introduction</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>1.1. <A
|
|
||||||
HREF="introduction.html#QUICKSTART"
|
|
||||||
>Quickstart to Privoxy Development</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>2. <A
|
|
||||||
HREF="cvs.html"
|
|
||||||
>The CVS Repository</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>2.1. <A
|
|
||||||
HREF="cvs.html#CVSACCESS"
|
|
||||||
>Access to CVS</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.2. <A
|
|
||||||
HREF="cvs.html#CVSBRANCHES"
|
|
||||||
>Branches</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.3. <A
|
|
||||||
HREF="cvs.html#CVSCOMMIT"
|
|
||||||
>CVS Commit Guidelines</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>3. <A
|
|
||||||
HREF="documentation.html"
|
|
||||||
>Documentation Guidelines</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>3.1. <A
|
|
||||||
HREF="documentation.html#SGML"
|
|
||||||
>Quickstart to Docbook and SGML</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.2. <A
|
|
||||||
HREF="documentation.html#DOCSTYLE"
|
|
||||||
><SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> Documentation Style</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.3. <A
|
|
||||||
HREF="documentation.html#AEN217"
|
|
||||||
>Privoxy Custom Entities</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4. <A
|
|
||||||
HREF="coding.html"
|
|
||||||
>Coding Guidelines</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.1. <A
|
|
||||||
HREF="coding.html#S1"
|
|
||||||
>Introduction</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2. <A
|
|
||||||
HREF="coding.html#S2"
|
|
||||||
>Using Comments</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.2.1. <A
|
|
||||||
HREF="coding.html#S3"
|
|
||||||
>Comment, Comment, Comment</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2.2. <A
|
|
||||||
HREF="coding.html#S4"
|
|
||||||
>Use blocks for comments</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2.3. <A
|
|
||||||
HREF="coding.html#S5"
|
|
||||||
>Keep Comments on their own line</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2.4. <A
|
|
||||||
HREF="coding.html#S6"
|
|
||||||
>Comment each logical step</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2.5. <A
|
|
||||||
HREF="coding.html#S7"
|
|
||||||
>Comment All Functions Thoroughly</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2.6. <A
|
|
||||||
HREF="coding.html#S8"
|
|
||||||
>Comment at the end of braces if the
|
|
||||||
content is more than one screen length</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.3. <A
|
|
||||||
HREF="coding.html#S9"
|
|
||||||
>Naming Conventions</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.3.1. <A
|
|
||||||
HREF="coding.html#S10"
|
|
||||||
>Variable Names</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.3.2. <A
|
|
||||||
HREF="coding.html#S11"
|
|
||||||
>Function Names</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.3.3. <A
|
|
||||||
HREF="coding.html#S12"
|
|
||||||
>Header file prototypes</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.3.4. <A
|
|
||||||
HREF="coding.html#S13"
|
|
||||||
>Enumerations, and #defines</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.3.5. <A
|
|
||||||
HREF="coding.html#S14"
|
|
||||||
>Constants</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.4. <A
|
|
||||||
HREF="coding.html#S15"
|
|
||||||
>Using Space</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.4.1. <A
|
|
||||||
HREF="coding.html#S16"
|
|
||||||
>Put braces on a line by themselves.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.2. <A
|
|
||||||
HREF="coding.html#S17"
|
|
||||||
>ALL control statements should have a
|
|
||||||
block</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.3. <A
|
|
||||||
HREF="coding.html#S18"
|
|
||||||
>Do not belabor/blow-up boolean
|
|
||||||
expressions</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.4. <A
|
|
||||||
HREF="coding.html#S19"
|
|
||||||
>Use white space freely because it is
|
|
||||||
free</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.5. <A
|
|
||||||
HREF="coding.html#S20"
|
|
||||||
>Don't use white space around structure
|
|
||||||
operators</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.6. <A
|
|
||||||
HREF="coding.html#S21"
|
|
||||||
>Make the last brace of a function stand
|
|
||||||
out</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4.7. <A
|
|
||||||
HREF="coding.html#S22"
|
|
||||||
>Use 3 character indentions</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.5. <A
|
|
||||||
HREF="coding.html#S23"
|
|
||||||
>Initializing</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.5.1. <A
|
|
||||||
HREF="coding.html#S24"
|
|
||||||
>Initialize all variables</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.6. <A
|
|
||||||
HREF="coding.html#S25"
|
|
||||||
>Functions</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.6.1. <A
|
|
||||||
HREF="coding.html#S26"
|
|
||||||
>Name functions that return a boolean as a
|
|
||||||
question.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.2. <A
|
|
||||||
HREF="coding.html#S27"
|
|
||||||
>Always specify a return type for a
|
|
||||||
function.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.3. <A
|
|
||||||
HREF="coding.html#S28"
|
|
||||||
>Minimize function calls when iterating by
|
|
||||||
using variables</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.4. <A
|
|
||||||
HREF="coding.html#S29"
|
|
||||||
>Pass and Return by Const Reference</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.5. <A
|
|
||||||
HREF="coding.html#S30"
|
|
||||||
>Pass and Return by Value</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.6. <A
|
|
||||||
HREF="coding.html#S31"
|
|
||||||
>Names of include files</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.7. <A
|
|
||||||
HREF="coding.html#S32"
|
|
||||||
>Provide multiple inclusion
|
|
||||||
protection</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.8. <A
|
|
||||||
HREF="coding.html#S33"
|
|
||||||
>Use `extern "C"` when appropriate</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6.9. <A
|
|
||||||
HREF="coding.html#S34"
|
|
||||||
>Where Possible, Use Forward Struct
|
|
||||||
Declaration Instead of Includes</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.7. <A
|
|
||||||
HREF="coding.html#S35"
|
|
||||||
>General Coding Practices</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.7.1. <A
|
|
||||||
HREF="coding.html#S36"
|
|
||||||
>Turn on warnings</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.2. <A
|
|
||||||
HREF="coding.html#S37"
|
|
||||||
>Provide a default case for all switch
|
|
||||||
statements</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.3. <A
|
|
||||||
HREF="coding.html#S38"
|
|
||||||
>Try to avoid falling through cases in a
|
|
||||||
switch statement.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.4. <A
|
|
||||||
HREF="coding.html#S39"
|
|
||||||
>Use 'long' or 'short' Instead of
|
|
||||||
'int'</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.5. <A
|
|
||||||
HREF="coding.html#S40"
|
|
||||||
>Don't mix size_t and other types</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.6. <A
|
|
||||||
HREF="coding.html#S41"
|
|
||||||
>Declare each variable and struct on its
|
|
||||||
own line.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.7. <A
|
|
||||||
HREF="coding.html#S42"
|
|
||||||
>Use malloc/zalloc sparingly</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.8. <A
|
|
||||||
HREF="coding.html#S43"
|
|
||||||
>The Programmer Who Uses 'malloc' is
|
|
||||||
Responsible for Ensuring 'free'</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.9. <A
|
|
||||||
HREF="coding.html#S44"
|
|
||||||
>Add loaders to the `file_list' structure
|
|
||||||
and in order</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7.10. <A
|
|
||||||
HREF="coding.html#S45"
|
|
||||||
>"Uncertain" new code and/or changes to
|
|
||||||
existing code, use FIXME or XXX</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4.8. <A
|
|
||||||
HREF="coding.html#S46"
|
|
||||||
>Addendum: Template for files and function
|
|
||||||
comment blocks:</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>5. <A
|
|
||||||
HREF="testing.html"
|
|
||||||
>Testing Guidelines</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>5.1. <A
|
|
||||||
HREF="testing.html#TESTING-PLAN"
|
|
||||||
>Testplan for releases</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.2. <A
|
|
||||||
HREF="testing.html#TESTING-REPORT"
|
|
||||||
>Test reports</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>6. <A
|
|
||||||
HREF="newrelease.html"
|
|
||||||
>Releasing a New Version</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>6.1. <A
|
|
||||||
HREF="newrelease.html#VERSIONNUMBERS"
|
|
||||||
>Version numbers</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.2. <A
|
|
||||||
HREF="newrelease.html#BEFORERELEASE"
|
|
||||||
>Before the Release: Freeze</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3. <A
|
|
||||||
HREF="newrelease.html#THERELEASE"
|
|
||||||
>Building and Releasing the Packages</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>6.3.1. <A
|
|
||||||
HREF="newrelease.html#PACK-GUIDELINES"
|
|
||||||
>Note on Privoxy Packaging</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.2. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-TARBALL"
|
|
||||||
>Source Tarball</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.3. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-RPM"
|
|
||||||
>SuSE, Conectiva or Red Hat RPM</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.4. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-OS2"
|
|
||||||
>OS/2</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.5. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-SOLARIS"
|
|
||||||
>Solaris</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.6. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-WINDOWS"
|
|
||||||
>Windows</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.7. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-DEBIAN"
|
|
||||||
>Debian</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.8. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-MACOSX"
|
|
||||||
>Mac OS X</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.9. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-FREEBSD"
|
|
||||||
>FreeBSD</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.10. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-HPUX"
|
|
||||||
>HP-UX 11</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.11. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-AMIGA"
|
|
||||||
>Amiga OS</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.3.12. <A
|
|
||||||
HREF="newrelease.html#NEWRELEASE-AIX"
|
|
||||||
>AIX</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>6.4. <A
|
|
||||||
HREF="newrelease.html#RELEASING"
|
|
||||||
>Uploading and Releasing Your Package</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.5. <A
|
|
||||||
HREF="newrelease.html#AFTERRELEASE"
|
|
||||||
>After the Release</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>7. <A
|
|
||||||
HREF="webserver-update.html"
|
|
||||||
>Update the Webserver</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>8. <A
|
|
||||||
HREF="contact.html"
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>8.1. <A
|
|
||||||
HREF="contact.html#CONTACT-SUPPORT"
|
|
||||||
>Get Support</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>8.2. <A
|
|
||||||
HREF="contact.html#REPORTING"
|
|
||||||
>Reporting Problems</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>8.2.1. <A
|
|
||||||
HREF="contact.html#CONTACT-ADS"
|
|
||||||
>Reporting Ads or Other Configuration Problems</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>8.2.2. <A
|
|
||||||
HREF="contact.html#CONTACT-BUGS"
|
|
||||||
>Reporting Bugs</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>8.3. <A
|
|
||||||
HREF="contact.html#CONTACT-FEATURE"
|
|
||||||
>Request New Features</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>8.4. <A
|
|
||||||
HREF="contact.html#CONTACT-OTHER"
|
|
||||||
>Other</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>9. <A
|
|
||||||
HREF="copyright.html"
|
|
||||||
>Privoxy Copyright, License and History</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>9.1. <A
|
|
||||||
HREF="copyright.html#AEN1223"
|
|
||||||
>License</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>9.2. <A
|
|
||||||
HREF="copyright.html#AEN1239"
|
|
||||||
>History</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>10. <A
|
|
||||||
HREF="seealso.html"
|
|
||||||
>See also</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="introduction.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Introduction</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,199 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Introduction</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="The CVS Repository"
|
|
||||||
HREF="cvs.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="INTRODUCTION"
|
|
||||||
>1. Introduction</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, as an heir to
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Junkbuster</SPAN
|
|
||||||
>, is a Free Software project
|
|
||||||
and the code is licensed under the GNU General Public License version 2.
|
|
||||||
As such, <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> development is potentially open
|
|
||||||
to anyone who has the time, knowledge, and desire to contribute
|
|
||||||
in any capacity. Our goals are simply to continue the mission,
|
|
||||||
to improve <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, and
|
|
||||||
to make it available to as wide an audience as possible.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> One does not have to be a programmer to contribute. Packaging, testing,
|
|
||||||
documenting and porting, are all important jobs as well.
|
|
||||||
</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="QUICKSTART"
|
|
||||||
>1.1. Quickstart to Privoxy Development</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> The first step is to join the <A
|
|
||||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
|
||||||
TARGET="_top"
|
|
||||||
>developer's mailing list</A
|
|
||||||
>.
|
|
||||||
You can submit your ideas, or even better patches. Patches are best
|
|
||||||
submitted to the Sourceforge tracker set up for this purpose, but
|
|
||||||
can be sent to the list for review too.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> You will also need to have a cvs package installed, which will
|
|
||||||
entail having ssh installed as well (which seems to be a requirement of
|
|
||||||
SourceForge), in order to access the cvs repository. Having the GNU build
|
|
||||||
tools is also going to be important (particularly, autoconf and gmake).
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> For the time being (read, this section is under construction), you can
|
|
||||||
also refer to the extensive comments in the source code. In fact,
|
|
||||||
reading the code is recommended in any case.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Privoxy Developer Manual</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>The CVS Repository</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,150 +0,0 @@
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Quickstart to Privoxy Development</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
|
|
||||||
"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Introduction"
|
|
||||||
HREF="introduction.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="The CVS Repository"
|
|
||||||
HREF="cvs.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="introduction.html"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="QUICKSTART"
|
|
||||||
>3. Quickstart to Privoxy Development</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> You'll need an account on <A
|
|
||||||
HREF="http://sourceforge.net/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Sourceforge</A
|
|
||||||
> to support our
|
|
||||||
development. Mail your ID to <A
|
|
||||||
HREF="mailto:developers@privoxy.org"
|
|
||||||
TARGET="_top"
|
|
||||||
>the list</A
|
|
||||||
> and wait until a
|
|
||||||
project manager has added you.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> For the time being (read, this section is under construction), please
|
|
||||||
refer to the extensive comments in the source code.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="introduction.html"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="cvs.html"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Introduction</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>The CVS Repository</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,405 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>See also</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Privoxy Copyright, License and History"
|
|
||||||
HREF="copyright.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="SEEALSO"
|
|
||||||
>10. See also</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> Other references and sites of interest to <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
users:</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.privoxy.org/</A
|
|
||||||
>,
|
|
||||||
the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> Home page.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.privoxy.org/faq/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.privoxy.org/faq/</A
|
|
||||||
>,
|
|
||||||
the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> FAQ.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.privoxy.org/developer-manual/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.privoxy.org/developer-manual/</A
|
|
||||||
>,
|
|
||||||
the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> developer manual.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/projects/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>https://sourceforge.net/projects/ijbswa/</A
|
|
||||||
>,
|
|
||||||
the Project Page for <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> on
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net"
|
|
||||||
TARGET="_top"
|
|
||||||
>SourceForge</A
|
|
||||||
>.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://config.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://config.privoxy.org/</A
|
|
||||||
>,
|
|
||||||
the web-based user interface. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> must be
|
|
||||||
running for this to work. Shortcut: <A
|
|
||||||
HREF="http://p.p/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://p.p/</A
|
|
||||||
>
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
|
||||||
TARGET="_top"
|
|
||||||
>https://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
|
||||||
>, to submit <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"misses"</SPAN
|
|
||||||
> and other
|
|
||||||
configuration related suggestions to the developers.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
|
|
||||||
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.junkbusters.com/ht/en/cookies.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.junkbusters.com/ht/en/cookies.html</A
|
|
||||||
>,
|
|
||||||
an explanation how cookies are used to track web users.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.junkbusters.com/ijb.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.junkbusters.com/ijb.html</A
|
|
||||||
>,
|
|
||||||
the original Internet Junkbuster.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.squid-cache.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.squid-cache.org/</A
|
|
||||||
>, a popular
|
|
||||||
caching proxy, which is often used together with <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="http://www.pps.jussieu.fr/~jch/software/polipo/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.pps.jussieu.fr/~jch/software/polipo/</A
|
|
||||||
>,
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Polipo</SPAN
|
|
||||||
> is a caching proxy with advanced features
|
|
||||||
like pipelining, multiplexing and caching of partial instances. In many setups
|
|
||||||
it can be used as <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Squid</SPAN
|
|
||||||
> replacement.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
> <A
|
|
||||||
HREF="https://www.torproject.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>https://www.torproject.org/</A
|
|
||||||
>,
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Tor</SPAN
|
|
||||||
> can help anonymize web browsing,
|
|
||||||
web publishing, instant messaging, IRC, SSH, and other applications.
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Privoxy Copyright, License and History</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,259 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Testing Guidelines</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Coding Guidelines"
|
|
||||||
HREF="coding.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Releasing a New Version"
|
|
||||||
HREF="newrelease.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="coding.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="newrelease.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="TESTING"
|
|
||||||
>5. Testing Guidelines</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
>To be filled.</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="TESTING-PLAN"
|
|
||||||
>5.1. Testplan for releases</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> Explain release numbers. major, minor. developer releases. etc.
|
|
||||||
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><OL
|
|
||||||
TYPE="1"
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Remove any existing rpm with rpm -e</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Remove any file that was left over. This includes (but is not limited to)
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>/var/log/privoxy</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>/etc/privoxy</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>/usr/sbin/privoxy</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>/etc/init.d/privoxy</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>/usr/doc/privoxy*</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Install the rpm. Any error messages?</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>start,stop,status <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> with the specific script
|
|
||||||
(e.g. /etc/rc.d/init/privoxy stop). Reboot your machine. Does
|
|
||||||
autostart work?</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Start browsing. Does <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> work? Logfile written?</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Remove the rpm. Any error messages? All files removed?</P
|
|
||||||
></LI
|
|
||||||
></OL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="TESTING-REPORT"
|
|
||||||
>5.2. Test reports</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
>Please submit test reports only with the <A
|
|
||||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=395005"
|
|
||||||
TARGET="_top"
|
|
||||||
>test form</A
|
|
||||||
>
|
|
||||||
at sourceforge. Three simple steps:
|
|
||||||
<P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Select category: the distribution you test on.</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Select group: the version of <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> that we are about to release.</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>Fill the Summary and Detailed Description with something
|
|
||||||
intelligent (keep it short and precise).</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
>
|
|
||||||
Do not mail to the mailing list (we cannot keep track on issues there).
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="coding.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="newrelease.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Coding Guidelines</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Releasing a New Version</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,260 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Update the Webserver</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Developer Manual"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Releasing a New Version"
|
|
||||||
HREF="newrelease.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
|
||||||
HREF="contact.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Developer Manual</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="newrelease.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="WEBSERVER-UPDATE"
|
|
||||||
>7. Update the Webserver</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> The webserver should be updated at least with each stable release. When
|
|
||||||
updating, please follow these steps to make sure that no broken links,
|
|
||||||
inconsistent contents or permission problems will occur (as it has many
|
|
||||||
times in the past!):
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> If you have changed anything in the stable-branch documentation source
|
|
||||||
SGML files, do:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <TABLE
|
|
||||||
BORDER="0"
|
|
||||||
BGCOLOR="#E0E0E0"
|
|
||||||
WIDTH="100%"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
><PRE
|
|
||||||
CLASS="PROGRAMLISTING"
|
|
||||||
> make dok dok-pdf # (or 'make redhat-dok dok-pdf' if 'make dok' doesn't work for you)</PRE
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> That will generate <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/user-manual</TT
|
|
||||||
>,
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/developer-manual</TT
|
|
||||||
>,
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/faq</TT
|
|
||||||
>,
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/pdf/*.pdf</TT
|
|
||||||
> and
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/index.html</TT
|
|
||||||
> automatically.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> If you changed the manual page sources, generate
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/man-page/privoxy-man-page.html</TT
|
|
||||||
>
|
|
||||||
by running <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"<B
|
|
||||||
CLASS="COMMAND"
|
|
||||||
>make man</B
|
|
||||||
>"</SPAN
|
|
||||||
>. (This is
|
|
||||||
a separate target due to dependencies on some obscure perl scripts
|
|
||||||
[now in CVS, but not well tested]. See comments in <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>GNUmakefile</TT
|
|
||||||
>.)
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> If you want to add new files to the webserver, create them locally in
|
|
||||||
the <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver/*</TT
|
|
||||||
> directory (or
|
|
||||||
create new directories under <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>doc/webserver</TT
|
|
||||||
>).
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Next, commit any changes from the above steps to CVS. All set?
|
|
||||||
If these are docs in the stable branch, then do:
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <TABLE
|
|
||||||
BORDER="0"
|
|
||||||
BGCOLOR="#E0E0E0"
|
|
||||||
WIDTH="100%"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
><PRE
|
|
||||||
CLASS="PROGRAMLISTING"
|
|
||||||
> make webserver</PRE
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> This will do the upload to <A
|
|
||||||
HREF="http://www.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>the
|
|
||||||
webserver</A
|
|
||||||
> (www.privoxy.org) and ensure all files and directories
|
|
||||||
there are group writable.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> Please do <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>NOT</I
|
|
||||||
></SPAN
|
|
||||||
> use any other means of transferring
|
|
||||||
files to the webserver to avoid permission problems. Also, please do not
|
|
||||||
upload docs from development branches or versions. The publicly posted
|
|
||||||
docs should be in sync with the last official release.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="newrelease.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Releasing a New Version</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,510 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Frequently Asked Questions"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Troubleshooting"
|
|
||||||
HREF="trouble.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Privoxy Copyright, License and History"
|
|
||||||
HREF="copyright.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Frequently Asked Questions</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="trouble.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT"
|
|
||||||
>6. Contacting the developers, Bug Reporting and Feature Requests</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> We value your feedback. In fact, we rely on it to improve
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> and its configuration.
|
|
||||||
However, please note the following hints, so we can
|
|
||||||
provide you with the best support:</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-SUPPORT"
|
|
||||||
>6.1. Get Support</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> For casual users, our
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
|
||||||
TARGET="_top"
|
|
||||||
>support forum at SourceForge</A
|
|
||||||
>
|
|
||||||
is probably best suited:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=211118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?group_id=11118&atid=211118</A
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> All users are of course welcome to discuss their issues on the <A
|
|
||||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-users"
|
|
||||||
TARGET="_top"
|
|
||||||
>users
|
|
||||||
mailing list</A
|
|
||||||
>, where the developers also hang around.</P
|
|
||||||
><P
|
|
||||||
> Please don't sent private support requests to individual Privoxy
|
|
||||||
developers, either use the mailing lists or the support trackers.</P
|
|
||||||
><P
|
|
||||||
> Note that the Privoxy mailing lists are moderated. Posts from unsubscribed
|
|
||||||
addresses have to be accepted manually by a moderator. This may cause a
|
|
||||||
delay of several days and if you use a subject that doesn't clearly
|
|
||||||
mention Privoxy or one of its features, your message may be accidentally
|
|
||||||
discarded as spam.</P
|
|
||||||
><P
|
|
||||||
> If you aren't subscribed, you should therefore spend a few seconds
|
|
||||||
to come up with a proper subject. Additionally you should make it clear
|
|
||||||
that you want to get CC'd. Otherwise some responses will be directed to
|
|
||||||
the mailing list only, and you won't see them.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="REPORTING"
|
|
||||||
>6.2. Reporting Problems</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
><SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Problems"</SPAN
|
|
||||||
> for our purposes, come in two forms:</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Configuration issues, such as ads that slip through, or sites that
|
|
||||||
don't function properly due to one <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"action"</SPAN
|
|
||||||
> or another being turned <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"on"</SPAN
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Bugs"</SPAN
|
|
||||||
> in the programming code that makes up
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, such as that might cause a crash.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT3"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT3"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-ADS"
|
|
||||||
>6.2.1. Reporting Ads or Other Configuration Problems</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Please send feedback on ads that slipped through, innocent images that were
|
|
||||||
blocked, sites that don't work properly, and other configuration related problem of
|
|
||||||
<TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>default.action</TT
|
|
||||||
> file, to
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=460288"
|
|
||||||
TARGET="_top"
|
|
||||||
> http://sourceforge.net/tracker/?group_id=11118&atid=460288</A
|
|
||||||
>,
|
|
||||||
the Actions File Tracker.</P
|
|
||||||
><P
|
|
||||||
> New, improved <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>default.action</TT
|
|
||||||
> files may occasionally be made
|
|
||||||
available based on your feedback. These will be announced on the <A
|
|
||||||
HREF="http://lists.sourceforge.net/lists/listinfo/ijbswa-announce"
|
|
||||||
TARGET="_top"
|
|
||||||
>ijbswa-announce</A
|
|
||||||
>
|
|
||||||
list and available from our the <A
|
|
||||||
HREF="http://sourceforge.net/project/showfiles.php?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>files section</A
|
|
||||||
> of
|
|
||||||
our <A
|
|
||||||
HREF="http://sf.net/projects/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>project page</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT3"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT3"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-BUGS"
|
|
||||||
>6.2.2. Reporting Bugs</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Please report all bugs through our bug tracker:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?group_id=11118&atid=111118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?group_id=11118&atid=111118</A
|
|
||||||
>. </P
|
|
||||||
><P
|
|
||||||
> Before doing so, please make sure that the bug has <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>not already been submitted</I
|
|
||||||
></SPAN
|
|
||||||
>
|
|
||||||
and observe the additional hints at the top of the <A
|
|
||||||
HREF="http://sourceforge.net/tracker/?func=add&group_id=11118&atid=111118"
|
|
||||||
TARGET="_top"
|
|
||||||
>submit
|
|
||||||
form</A
|
|
||||||
>. If already submitted, please feel free to add any info to the
|
|
||||||
original report that might help to solve the issue.</P
|
|
||||||
><P
|
|
||||||
> Please try to verify that it is a <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> bug,
|
|
||||||
and not a browser or site bug or documented behaviour that just happens
|
|
||||||
to be different than what you expected. If unsure,
|
|
||||||
try <A
|
|
||||||
HREF="http://config.privoxy.org/toggle?set=disable"
|
|
||||||
TARGET="_top"
|
|
||||||
>toggling
|
|
||||||
off</A
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, and see if the problem persists.</P
|
|
||||||
><P
|
|
||||||
> If you are using your own custom configuration, please try
|
|
||||||
the stock configs to see if the problem is configuration related.
|
|
||||||
If you're having problems with a feature that is disabled by default,
|
|
||||||
please ask around on the mailing list if others can reproduce the problem.</P
|
|
||||||
><P
|
|
||||||
> If you aren't using the latest Privoxy version, the bug may have been found
|
|
||||||
and fixed in the meantime. We would appreciate if you could take the time
|
|
||||||
to <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/installation.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>upgrade
|
|
||||||
to the latest version</A
|
|
||||||
> (or even the latest CVS snapshot) and verify
|
|
||||||
that your bug still exists.</P
|
|
||||||
><P
|
|
||||||
>Please be sure to provide the following information:</P
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The exact <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> version you are using
|
|
||||||
(if you got the source from CVS, please also provide the source code revisions
|
|
||||||
as shown in <A
|
|
||||||
HREF="http://config.privoxy.org/show-version"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://config.privoxy.org/show-version</A
|
|
||||||
>).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The operating system and versions you run
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> on, (e.g. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Windows
|
|
||||||
XP SP2</SPAN
|
|
||||||
>), if you are using a Unix flavor,
|
|
||||||
sending the output of <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"uname -a"</SPAN
|
|
||||||
> should do,
|
|
||||||
in case of GNU/Linux, please also name the distribution.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The name, platform, and version of the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>browser</SPAN
|
|
||||||
>
|
|
||||||
you were using (e.g. <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet Explorer v5.5</SPAN
|
|
||||||
> for Mac).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> The URL where the problem occurred, or some way for us to duplicate the
|
|
||||||
problem (e.g. <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>http://somesite.example.com/?somethingelse=123</TT
|
|
||||||
>).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether your version of <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is one supplied
|
|
||||||
by the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> developers via SourceForge,
|
|
||||||
or if you got your copy somewhere else.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether you are using <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> in tandem with
|
|
||||||
another proxy such as <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Tor</SPAN
|
|
||||||
>. If so, please
|
|
||||||
temporary disable the other proxy to see if the symptoms change.
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Whether you are using a personal firewall product. If so, does
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> work without it?
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> Any other pertinent information to help identify the problem such as config
|
|
||||||
or log file excerpts (yes, you should have log file entries for each
|
|
||||||
action taken).
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> You don't have to tell us your actual name when filing a problem
|
|
||||||
report, but please use a nickname so we can differentiate between
|
|
||||||
your messages and the ones entered by other "anonymous" users that
|
|
||||||
may respond to your request if they have the same problem or already
|
|
||||||
found a solution.</P
|
|
||||||
><P
|
|
||||||
> Please also check the status of your request a few days after submitting
|
|
||||||
it, as we may request additional information. If you use a SF id,
|
|
||||||
you should automatically get a mail when someone responds to your request.</P
|
|
||||||
><P
|
|
||||||
> The <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/appendix.html#ACTIONSANAT"
|
|
||||||
TARGET="_top"
|
|
||||||
>appendix
|
|
||||||
of the Privoxy User Manual</A
|
|
||||||
> also has helpful information
|
|
||||||
on understanding <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>actions</TT
|
|
||||||
>, and <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>action</TT
|
|
||||||
> debugging. </P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-FEATURE"
|
|
||||||
>6.3. Request New Features</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> You are welcome to submit ideas on new features or other proposals
|
|
||||||
for improvement through our feature request tracker at
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/tracker/?atid=361118&group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/tracker/?atid=361118&group_id=11118</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="CONTACT-OTHER"
|
|
||||||
>6.4. Other</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
>For any other issues, feel free to use the mailing lists. Technically interested users
|
|
||||||
and people who wish to contribute to the project are also welcome on the developers list!
|
|
||||||
You can find an overview of all <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>-related mailing lists,
|
|
||||||
including list archives, at:
|
|
||||||
<A
|
|
||||||
HREF="http://sourceforge.net/mail/?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://sourceforge.net/mail/?group_id=11118</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="trouble.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="copyright.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Troubleshooting</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Privoxy Copyright, License and History</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,301 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy Copyright, License and History</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Frequently Asked Questions"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="Contacting the developers, Bug Reporting and Feature Requests"
|
|
||||||
HREF="contact.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Frequently Asked Questions</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="COPYRIGHT"
|
|
||||||
>7. Privoxy Copyright, License and History</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
> Copyright © 2001-2009 by Privoxy Developers <CODE
|
|
||||||
CLASS="EMAIL"
|
|
||||||
><<A
|
|
||||||
HREF="mailto:ijbswa-developers@lists.sourceforge.net"
|
|
||||||
>ijbswa-developers@lists.sourceforge.net</A
|
|
||||||
>></CODE
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> Some source code is based on code Copyright © 1997 by Anonymous Coders
|
|
||||||
and Junkbusters, Inc. and licensed under the <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public
|
|
||||||
License</I
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
> Portions of this document are <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"borrowed"</SPAN
|
|
||||||
> from the original
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Junkbuster</SPAN
|
|
||||||
> (tm) FAQ, and modified as
|
|
||||||
appropriate for <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="AEN1451"
|
|
||||||
>7.1. License</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is free software; you can
|
|
||||||
redistribute it and/or modify it under the terms of the
|
|
||||||
<I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public License</I
|
|
||||||
>, version 2,
|
|
||||||
as published by the Free Software Foundation.</P
|
|
||||||
><P
|
|
||||||
> This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the <A
|
|
||||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
|
||||||
TARGET="_top"
|
|
||||||
> <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU General Public License</I
|
|
||||||
></A
|
|
||||||
> for details.</P
|
|
||||||
><P
|
|
||||||
> You should have received a copy of the <I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>GNU GPL</I
|
|
||||||
>
|
|
||||||
along with this program; if not, write to the <P
|
|
||||||
CLASS="ADDRESS"
|
|
||||||
> Free Software<br>
|
|
||||||
Foundation, Inc. <SPAN
|
|
||||||
CLASS="STREET"
|
|
||||||
>51 Franklin Street, Fifth Floor</SPAN
|
|
||||||
><br>
|
|
||||||
<SPAN
|
|
||||||
CLASS="CITY"
|
|
||||||
>Boston</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="STATE"
|
|
||||||
>MA</SPAN
|
|
||||||
> <SPAN
|
|
||||||
CLASS="POSTCODE"
|
|
||||||
>02110-1301</SPAN
|
|
||||||
><br>
|
|
||||||
<SPAN
|
|
||||||
CLASS="COUNTRY"
|
|
||||||
>USA</SPAN
|
|
||||||
> </P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H2
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="AEN1467"
|
|
||||||
>7.2. History</A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> A long time ago, there was the
|
|
||||||
<A
|
|
||||||
HREF="http://www.junkbusters.com/ijb.html"
|
|
||||||
TARGET="_top"
|
|
||||||
><SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet Junkbuster</SPAN
|
|
||||||
></A
|
|
||||||
>,
|
|
||||||
by Anonymous Coders and <A
|
|
||||||
HREF="http://www.junkbusters.com/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Junkbusters
|
|
||||||
Corporation</A
|
|
||||||
>. This saved many users a lot of pain in the early days of
|
|
||||||
web advertising and user tracking.</P
|
|
||||||
><P
|
|
||||||
> But the web, its protocols and standards, and with it, the techniques for
|
|
||||||
forcing ads on users, give up autonomy over their browsing, and
|
|
||||||
for tracking them, keeps evolving. Unfortunately, the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet
|
|
||||||
Junkbuster</SPAN
|
|
||||||
> did not. Version 2.0.2, published in 1998, was
|
|
||||||
(and is) the last official
|
|
||||||
<A
|
|
||||||
HREF="http://www.junkbusters.com/ijbdist.html#release"
|
|
||||||
TARGET="_top"
|
|
||||||
>release</A
|
|
||||||
>
|
|
||||||
available from <A
|
|
||||||
HREF="http://www.junkbusters.com"
|
|
||||||
TARGET="_top"
|
|
||||||
>Junkbusters Corporation</A
|
|
||||||
>.
|
|
||||||
Fortunately, it had been released under the GNU
|
|
||||||
<A
|
|
||||||
HREF="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>GPL</A
|
|
||||||
>,
|
|
||||||
which allowed further development by others.</P
|
|
||||||
><P
|
|
||||||
> So Stefan Waldherr started maintaining an improved version of the
|
|
||||||
software, to which eventually a number of people contributed patches.
|
|
||||||
It could already replace banners with a transparent image, and had a first
|
|
||||||
version of pop-up killing, but it was still very closely based on the
|
|
||||||
original, with all its limitations, such as the lack of HTTP/1.1 support,
|
|
||||||
flexible per-site configuration, or content modification. The last release
|
|
||||||
from this effort was version 2.0.2-10, published in 2000.</P
|
|
||||||
><P
|
|
||||||
> Then, some
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/copyright.html#AUTHORS"
|
|
||||||
TARGET="_top"
|
|
||||||
>developers</A
|
|
||||||
>
|
|
||||||
picked up the thread, and started turning the software inside out, upside down,
|
|
||||||
and then reassembled it, adding many
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/introduction.html#FEATURES"
|
|
||||||
TARGET="_top"
|
|
||||||
>new
|
|
||||||
features</A
|
|
||||||
> along the way.</P
|
|
||||||
><P
|
|
||||||
> The result of this is <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>, whose first
|
|
||||||
stable version, 3.0, was released August, 2002.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="contact.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,999 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy Frequently Asked Questions</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="General Information"
|
|
||||||
HREF="general.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
><DIV
|
|
||||||
CLASS="TITLEPAGE"
|
|
||||||
><H1
|
|
||||||
CLASS="TITLE"
|
|
||||||
><A
|
|
||||||
NAME="AEN2"
|
|
||||||
>Privoxy Frequently Asked Questions</A
|
|
||||||
></H1
|
|
||||||
><P
|
|
||||||
CLASS="PUBDATE"
|
|
||||||
> <SUB
|
|
||||||
> <A
|
|
||||||
HREF="copyright.html"
|
|
||||||
>Copyright</A
|
|
||||||
> © 2001-2009 by
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Privoxy Developers</A
|
|
||||||
>
|
|
||||||
</SUB
|
|
||||||
><BR></P
|
|
||||||
><P
|
|
||||||
CLASS="PUBDATE"
|
|
||||||
>$Id: index.html,v 1.51 2009/03/21 12:59:04 fabiankeil Exp $<BR></P
|
|
||||||
><DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="ABSTRACT"
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><A
|
|
||||||
NAME="AEN9"
|
|
||||||
></A
|
|
||||||
><P
|
|
||||||
> This FAQ gives quick answers to frequently asked questions about
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/"
|
|
||||||
TARGET="_top"
|
|
||||||
>Privoxy</A
|
|
||||||
>.
|
|
||||||
It is not a substitute for the
|
|
||||||
<A
|
|
||||||
HREF="../user-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
><I
|
|
||||||
CLASS="CITETITLE"
|
|
||||||
>Privoxy User Manual</I
|
|
||||||
></A
|
|
||||||
>.
|
|
||||||
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
>What is Privoxy?</P
|
|
||||||
><P
|
|
||||||
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and tastes.
|
|
||||||
It has application for both stand-alone systems and multi-user networks.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is Free Software and licensed under the GPL2.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
|
||||||
TARGET="_top"
|
|
||||||
>Donations are welcome</A
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
> Please note that this document is a work in progress. This copy represents
|
|
||||||
the state at the release of version 3.0.12.
|
|
||||||
You can find the latest version of the document at <A
|
|
||||||
HREF="http://www.privoxy.org/faq/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://www.privoxy.org/faq/</A
|
|
||||||
>.
|
|
||||||
Please see the <A
|
|
||||||
HREF="contact.html"
|
|
||||||
>Contact section</A
|
|
||||||
> if you want to
|
|
||||||
contact the developers.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><HR></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="TOC"
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
><B
|
|
||||||
>Table of Contents</B
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1. <A
|
|
||||||
HREF="general.html"
|
|
||||||
>General Information</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>1.1. <A
|
|
||||||
HREF="general.html#WHO-USES"
|
|
||||||
>Who should give <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> a try?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.2. <A
|
|
||||||
HREF="general.html#BESTCHOICE"
|
|
||||||
>Is Privoxy the best choice for
|
|
||||||
me?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.3. <A
|
|
||||||
HREF="general.html#PROXYMORON"
|
|
||||||
>What is a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"proxy"</SPAN
|
|
||||||
>? How does
|
|
||||||
Privoxy work?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.4. <A
|
|
||||||
HREF="general.html#OTHERSTUFF"
|
|
||||||
>Does Privoxy do anything more than ad blocking?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.5. <A
|
|
||||||
HREF="general.html#NEWJB"
|
|
||||||
>What is this new version of
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Junkbuster"</SPAN
|
|
||||||
>?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.6. <A
|
|
||||||
HREF="general.html#AEN78"
|
|
||||||
>Why <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Privoxy"</SPAN
|
|
||||||
>? Why change the name from
|
|
||||||
Junkbuster at all?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.7. <A
|
|
||||||
HREF="general.html#DIFFERS"
|
|
||||||
>How does Privoxy differ
|
|
||||||
from the old Junkbuster?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.8. <A
|
|
||||||
HREF="general.html#WHATSANAD"
|
|
||||||
>How does Privoxy know what is
|
|
||||||
an ad, and what is not?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.9. <A
|
|
||||||
HREF="general.html#AEN160"
|
|
||||||
>Can Privoxy make mistakes?
|
|
||||||
This does not sound very scientific.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.10. <A
|
|
||||||
HREF="general.html#AEN166"
|
|
||||||
>Will I have to configure Privoxy
|
|
||||||
before I can use it?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.11. <A
|
|
||||||
HREF="general.html#LAN"
|
|
||||||
>Can Privoxy run as a server on a network?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.12. <A
|
|
||||||
HREF="general.html#BROWSERS2"
|
|
||||||
>My browser does the same things as
|
|
||||||
Privoxy. Why should I use Privoxy at all?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.13. <A
|
|
||||||
HREF="general.html#WHYTRUST"
|
|
||||||
>Why should I trust Privoxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.14. <A
|
|
||||||
HREF="general.html#LICENSE"
|
|
||||||
>Is there is a license or fee? What about a
|
|
||||||
warranty? Registration?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.15. <A
|
|
||||||
HREF="general.html#SPYWARE"
|
|
||||||
>Can Privoxy remove spyware? Adware? Viruses?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.16. <A
|
|
||||||
HREF="general.html#OTHERADS"
|
|
||||||
>Can I use Privoxy with other ad-blocking software?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.17. <A
|
|
||||||
HREF="general.html#JOINTEAM"
|
|
||||||
>I would like to help you, what can I do?</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>1.17.1. <A
|
|
||||||
HREF="general.html#JOINTEAM-WORK"
|
|
||||||
>Would you like to participate?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>1.17.2. <A
|
|
||||||
HREF="general.html#DONATE"
|
|
||||||
>Would you like to donate?</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>2. <A
|
|
||||||
HREF="installation.html"
|
|
||||||
>Installation</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>2.1. <A
|
|
||||||
HREF="installation.html#WHICHBROWSERS"
|
|
||||||
>Which browsers are supported by Privoxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.2. <A
|
|
||||||
HREF="installation.html#WHICHOS"
|
|
||||||
>Which operating systems are supported?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.3. <A
|
|
||||||
HREF="installation.html#EMAIL-CLIENT"
|
|
||||||
>Can I use Privoxy with my email client?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.4. <A
|
|
||||||
HREF="installation.html#FIRSTSTEP"
|
|
||||||
>I just installed Privoxy. Is there anything
|
|
||||||
special I have to do now?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.5. <A
|
|
||||||
HREF="installation.html#LOCALHOST"
|
|
||||||
>What is the proxy address of Privoxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.6. <A
|
|
||||||
HREF="installation.html#NOTHING"
|
|
||||||
>I just installed Privoxy, and nothing is happening.
|
|
||||||
All the ads are there. What's wrong?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>2.7. <A
|
|
||||||
HREF="installation.html#NOTUSED"
|
|
||||||
>I get a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Privoxy is not being used"</SPAN
|
|
||||||
> dummy page although
|
|
||||||
Privoxy is running and being used.</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>3. <A
|
|
||||||
HREF="configuration.html"
|
|
||||||
>Configuration</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>3.1. <A
|
|
||||||
HREF="configuration.html#AEN354"
|
|
||||||
>What exactly is an <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"actions"</SPAN
|
|
||||||
> file?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.2. <A
|
|
||||||
HREF="configuration.html#ACTIONSS"
|
|
||||||
>The <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"actions"</SPAN
|
|
||||||
> concept confuses me. Please list
|
|
||||||
some of these <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"actions"</SPAN
|
|
||||||
>.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.3. <A
|
|
||||||
HREF="configuration.html#AEN377"
|
|
||||||
>How are actions files configured? What is the easiest
|
|
||||||
way to do this?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.4. <A
|
|
||||||
HREF="configuration.html#AEN386"
|
|
||||||
>There are several different <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"actions"</SPAN
|
|
||||||
> files. What are
|
|
||||||
the differences?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.5. <A
|
|
||||||
HREF="configuration.html#GETUPDATES"
|
|
||||||
>Where can I get updated Actions Files?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.6. <A
|
|
||||||
HREF="configuration.html#NEWCONFIG"
|
|
||||||
>Can I use my old config files?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.7. <A
|
|
||||||
HREF="configuration.html#DIFFICULT"
|
|
||||||
>Why is the configuration so complicated?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.8. <A
|
|
||||||
HREF="configuration.html#YAHOO"
|
|
||||||
>How can I make my Yahoo/Hotmail/Gmail account work?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.9. <A
|
|
||||||
HREF="configuration.html#CONFIGFILES"
|
|
||||||
>What's the difference between the
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Cautious"</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Medium"</SPAN
|
|
||||||
> and <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Advanced"</SPAN
|
|
||||||
> defaults?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.10. <A
|
|
||||||
HREF="configuration.html#BROWSECONFIG"
|
|
||||||
>Why can I change the configuration
|
|
||||||
with a browser? Does that not raise security issues?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.11. <A
|
|
||||||
HREF="configuration.html#AEN481"
|
|
||||||
>What is the <TT
|
|
||||||
CLASS="FILENAME"
|
|
||||||
>default.filter</TT
|
|
||||||
> file? What is a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"filter"</SPAN
|
|
||||||
>?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.12. <A
|
|
||||||
HREF="configuration.html#LANCONFIG"
|
|
||||||
>How can I set up Privoxy to act as a proxy for my
|
|
||||||
LAN?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.13. <A
|
|
||||||
HREF="configuration.html#AEN532"
|
|
||||||
>Instead of ads, now I get a checkerboard pattern. I don't want to see anything.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.14. <A
|
|
||||||
HREF="configuration.html#AEN549"
|
|
||||||
>Why would anybody want to see a checkerboard pattern?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.15. <A
|
|
||||||
HREF="configuration.html#AEN555"
|
|
||||||
>I see some images being replaced with text
|
|
||||||
instead of the checkerboard image. Why and how do I get rid of this?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.16. <A
|
|
||||||
HREF="configuration.html#SRVANY"
|
|
||||||
>Can Privoxy run as a service
|
|
||||||
on Win2K/NT/XP?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.17. <A
|
|
||||||
HREF="configuration.html#OTHERPROXY"
|
|
||||||
>How can I make Privoxy work with other
|
|
||||||
proxies like Squid or Tor?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.18. <A
|
|
||||||
HREF="configuration.html#PORT-80"
|
|
||||||
>Can I just set Privoxy to use port 80
|
|
||||||
and thus avoid individual browser configuration?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.19. <A
|
|
||||||
HREF="configuration.html#TRANSPARENT"
|
|
||||||
>Can Privoxy run as a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"transparent"</SPAN
|
|
||||||
> proxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.20. <A
|
|
||||||
HREF="configuration.html#INTERCEPTING"
|
|
||||||
>Can Privoxy run as a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"intercepting"</SPAN
|
|
||||||
> proxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.21. <A
|
|
||||||
HREF="configuration.html#OUTLOOK"
|
|
||||||
>How can I configure Privoxy for use with Outlook?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.22. <A
|
|
||||||
HREF="configuration.html#OUTLOOK-MORE"
|
|
||||||
>How can I have separate rules just for HTML mail?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.23. <A
|
|
||||||
HREF="configuration.html#SNEAKY-COOKIES"
|
|
||||||
>I sometimes notice cookies sneaking through. How?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.24. <A
|
|
||||||
HREF="configuration.html#EVIL-COOKIES"
|
|
||||||
>Are all cookies bad? Why?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.25. <A
|
|
||||||
HREF="configuration.html#ALLOW-COOKIES"
|
|
||||||
>How can I allow permanent cookies for my trusted sites?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.26. <A
|
|
||||||
HREF="configuration.html#MULTIPLES"
|
|
||||||
>Can I have separate configurations for different users?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.27. <A
|
|
||||||
HREF="configuration.html#WHITELISTS"
|
|
||||||
>Can I set-up Privoxy as a whitelist of
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"good"</SPAN
|
|
||||||
> sites?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.28. <A
|
|
||||||
HREF="configuration.html#NO-ADBLOCK"
|
|
||||||
>How can I turn off ad-blocking?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.29. <A
|
|
||||||
HREF="configuration.html#TEMPLATES"
|
|
||||||
>How can I have custom template pages, like the
|
|
||||||
<SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>BLOCKED</I
|
|
||||||
></SPAN
|
|
||||||
> page?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>3.30. <A
|
|
||||||
HREF="configuration.html#BLOCKALL"
|
|
||||||
>How can I remove the <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Go There Anyway"</SPAN
|
|
||||||
> link from
|
|
||||||
the <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>BLOCKED</I
|
|
||||||
></SPAN
|
|
||||||
> page?</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>4. <A
|
|
||||||
HREF="misc.html"
|
|
||||||
>Miscellaneous</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>4.1. <A
|
|
||||||
HREF="misc.html#AEN729"
|
|
||||||
>How much does Privoxy slow my browsing down? This
|
|
||||||
has to add extra time to browsing.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.2. <A
|
|
||||||
HREF="misc.html#LOADINGTIMES"
|
|
||||||
>I notice considerable
|
|
||||||
delays in page requests. What's wrong?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.3. <A
|
|
||||||
HREF="misc.html#CONFIGURL"
|
|
||||||
>What are "http://config.privoxy.org/" and
|
|
||||||
"http://p.p/"?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.4. <A
|
|
||||||
HREF="misc.html#NEWADS"
|
|
||||||
>How can I submit new ads, or report
|
|
||||||
problems?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.5. <A
|
|
||||||
HREF="misc.html#NEWADS2"
|
|
||||||
>If I do submit missed ads, will
|
|
||||||
they be included in future updates?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.6. <A
|
|
||||||
HREF="misc.html#NOONECARES"
|
|
||||||
>Why doesn't anyone answer my support
|
|
||||||
request?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.7. <A
|
|
||||||
HREF="misc.html#IP"
|
|
||||||
>How can I hide my IP address?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.8. <A
|
|
||||||
HREF="misc.html#AEN794"
|
|
||||||
>Can Privoxy guarantee I am anonymous?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.9. <A
|
|
||||||
HREF="misc.html#AEN812"
|
|
||||||
>A test site says I am not using a Proxy.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.10. <A
|
|
||||||
HREF="misc.html#TOR"
|
|
||||||
>How do I use Privoxy
|
|
||||||
together with Tor?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.11. <A
|
|
||||||
HREF="misc.html#AEN868"
|
|
||||||
>Might some things break because header information or
|
|
||||||
content is being altered?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.12. <A
|
|
||||||
HREF="misc.html#AEN882"
|
|
||||||
>Can Privoxy act as a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"caching"</SPAN
|
|
||||||
> proxy to
|
|
||||||
speed up web browsing?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.13. <A
|
|
||||||
HREF="misc.html#AEN892"
|
|
||||||
>What about as a firewall? Can Privoxy protect me?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.14. <A
|
|
||||||
HREF="misc.html#AEN897"
|
|
||||||
>I have large empty spaces / a checkerboard pattern now where
|
|
||||||
ads used to be. Why?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.15. <A
|
|
||||||
HREF="misc.html#AEN905"
|
|
||||||
>How can Privoxy filter Secure (HTTPS) URLs?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.16. <A
|
|
||||||
HREF="misc.html#AEN919"
|
|
||||||
>Privoxy runs as a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"server"</SPAN
|
|
||||||
>. How
|
|
||||||
secure is it? Do I need to take any special precautions?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.17. <A
|
|
||||||
HREF="misc.html#TURNOFF"
|
|
||||||
>Can I temporarily disable Privoxy?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.18. <A
|
|
||||||
HREF="misc.html#REALLYOFF"
|
|
||||||
>When <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"disabled"</SPAN
|
|
||||||
> is Privoxy totally
|
|
||||||
out of the picture?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.19. <A
|
|
||||||
HREF="misc.html#TURNOFF2"
|
|
||||||
>How can I tell Privoxy to totally ignore certain sites?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.20. <A
|
|
||||||
HREF="misc.html#CRUNCH"
|
|
||||||
>My logs show Privoxy <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"crunches"</SPAN
|
|
||||||
>
|
|
||||||
ads, but also its own internal CGI pages. What is a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"crunch"</SPAN
|
|
||||||
>?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.21. <A
|
|
||||||
HREF="misc.html#DOWNLOADS"
|
|
||||||
>Can Privoxy effect files that I download
|
|
||||||
from a webserver? FTP server?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.22. <A
|
|
||||||
HREF="misc.html#DOWNLOADS2"
|
|
||||||
>I just downloaded a Perl script, and Privoxy
|
|
||||||
altered it! Yikes, what is wrong!</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.23. <A
|
|
||||||
HREF="misc.html#HOSTSFILE"
|
|
||||||
>Should I continue to use a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"HOSTS"</SPAN
|
|
||||||
> file for ad-blocking?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.24. <A
|
|
||||||
HREF="misc.html#SEEALSO"
|
|
||||||
>Where can I find more information about Privoxy
|
|
||||||
and related issues?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.25. <A
|
|
||||||
HREF="misc.html#MICROSUCK"
|
|
||||||
>I've noticed that Privoxy changes <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Microsoft"</SPAN
|
|
||||||
> to
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"MicroSuck"</SPAN
|
|
||||||
>! Why are you manipulating my browsing?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>4.26. <A
|
|
||||||
HREF="misc.html#VALID"
|
|
||||||
>Does Privoxy produce <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"valid"</SPAN
|
|
||||||
> HTML (or XHTML)?</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>5. <A
|
|
||||||
HREF="trouble.html"
|
|
||||||
>Troubleshooting</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>5.1. <A
|
|
||||||
HREF="trouble.html#AEN1084"
|
|
||||||
>I cannot connect to any websites. Or, I am getting
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"connection refused"</SPAN
|
|
||||||
> message with every web page. Why?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.2. <A
|
|
||||||
HREF="trouble.html#ERROR503"
|
|
||||||
>Why am I getting a 503 Error (WSAECONNREFUSED) on every page?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.3. <A
|
|
||||||
HREF="trouble.html#AEN1107"
|
|
||||||
>I just added a new rule, but the steenkin ad is
|
|
||||||
still getting through. How?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.4. <A
|
|
||||||
HREF="trouble.html#BADSITE"
|
|
||||||
>One of my favorite sites does not work with Privoxy.
|
|
||||||
What can I do?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.5. <A
|
|
||||||
HREF="trouble.html#DUN"
|
|
||||||
>After installing Privoxy, I have to log in
|
|
||||||
every time I start IE. What gives?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.6. <A
|
|
||||||
HREF="trouble.html#FTP"
|
|
||||||
>I cannot connect to any FTP sites. Privoxy
|
|
||||||
is blocking me.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.7. <A
|
|
||||||
HREF="trouble.html#MACOSXIE"
|
|
||||||
>In Mac OS X, I can't configure Microsoft Internet Explorer to use
|
|
||||||
Privoxy as the HTTP proxy.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.8. <A
|
|
||||||
HREF="trouble.html#MACOSXUNINSTALL"
|
|
||||||
>In Mac OS X, I dragged the Privoxy folder to the trash in order to
|
|
||||||
uninstall it. Now the finder tells me I don't have sufficient privileges to
|
|
||||||
empty the trash.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.9. <A
|
|
||||||
HREF="trouble.html#MACOSXIMAGES"
|
|
||||||
>In Mac OS X Panther (10.3), images often fail to load and/or I
|
|
||||||
experience random delays in page loading. I'm using
|
|
||||||
<TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>localhost</TT
|
|
||||||
> as my browser's proxy setting.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.10. <A
|
|
||||||
HREF="trouble.html#BLANKPAGE"
|
|
||||||
>I get a completely blank page at one site. <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"View Source"</SPAN
|
|
||||||
>
|
|
||||||
shows only: <SPAN
|
|
||||||
CLASS="MARKUP"
|
|
||||||
><html><body></body></html></SPAN
|
|
||||||
>. Without
|
|
||||||
Privoxy the page loads fine.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.11. <A
|
|
||||||
HREF="trouble.html#NOHOSTNAME"
|
|
||||||
>My logs show many <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Unable to get my own hostname"</SPAN
|
|
||||||
> lines.
|
|
||||||
Why?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.12. <A
|
|
||||||
HREF="trouble.html#INUSE"
|
|
||||||
>When I try to launch Privoxy, I get an
|
|
||||||
error message <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"port 8118 is already in use"</SPAN
|
|
||||||
> (or similar wording).
|
|
||||||
Why?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.13. <A
|
|
||||||
HREF="trouble.html#DEMORONIZER"
|
|
||||||
>Pages with UTF-8 fonts are garbled.</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.14. <A
|
|
||||||
HREF="trouble.html#DEMORONIZER2"
|
|
||||||
>Why are binary files (such as images) corrupted when Privoxy
|
|
||||||
is used?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.15. <A
|
|
||||||
HREF="trouble.html#DEMORONIZER3"
|
|
||||||
>What is the <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"demoronizer"</SPAN
|
|
||||||
> and why is it there?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.16. <A
|
|
||||||
HREF="trouble.html#WINDOWOPEN"
|
|
||||||
>Why do I keep seeing <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"PrivoxyWindowOpen()"</SPAN
|
|
||||||
> in raw source code?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.17. <A
|
|
||||||
HREF="trouble.html#DNSERRORS"
|
|
||||||
>I am getting too many DNS errors like <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"404 No Such Domain"</SPAN
|
|
||||||
>. Why
|
|
||||||
can't Privoxy do this better?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.18. <A
|
|
||||||
HREF="trouble.html#ALLCPU"
|
|
||||||
>At one site Privoxy just hangs, and starts taking
|
|
||||||
all CPU. Why is this?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.19. <A
|
|
||||||
HREF="trouble.html#SLOWCRAWL"
|
|
||||||
>I just installed Privoxy, and all my
|
|
||||||
browsing has slowed to a crawl. What gives?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.20. <A
|
|
||||||
HREF="trouble.html#PREVENTCOMP"
|
|
||||||
>Why do my filters work on some sites but not on others?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.21. <A
|
|
||||||
HREF="trouble.html#SSL-WARNINGS"
|
|
||||||
>On some HTTPS sites my browser warns me about unauthenticated content,
|
|
||||||
the URL bar doesn't get highlighted and the lock symbol appears to be broken.
|
|
||||||
What's going on?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.22. <A
|
|
||||||
HREF="trouble.html#SE-LINUX"
|
|
||||||
>I get selinux error messages. How can I fix this?</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>5.23. <A
|
|
||||||
HREF="trouble.html#GENTOO-RICERS"
|
|
||||||
>I compiled <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> with Gentoo's portage and it appears to be very slow. Why?</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>6. <A
|
|
||||||
HREF="contact.html"
|
|
||||||
>Contacting the developers, Bug Reporting and Feature Requests</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>6.1. <A
|
|
||||||
HREF="contact.html#CONTACT-SUPPORT"
|
|
||||||
>Get Support</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.2. <A
|
|
||||||
HREF="contact.html#REPORTING"
|
|
||||||
>Reporting Problems</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>6.2.1. <A
|
|
||||||
HREF="contact.html#CONTACT-ADS"
|
|
||||||
>Reporting Ads or Other Configuration Problems</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.2.2. <A
|
|
||||||
HREF="contact.html#CONTACT-BUGS"
|
|
||||||
>Reporting Bugs</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>6.3. <A
|
|
||||||
HREF="contact.html#CONTACT-FEATURE"
|
|
||||||
>Request New Features</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>6.4. <A
|
|
||||||
HREF="contact.html#CONTACT-OTHER"
|
|
||||||
>Other</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
><DT
|
|
||||||
>7. <A
|
|
||||||
HREF="copyright.html"
|
|
||||||
>Privoxy Copyright, License and History</A
|
|
||||||
></DT
|
|
||||||
><DD
|
|
||||||
><DL
|
|
||||||
><DT
|
|
||||||
>7.1. <A
|
|
||||||
HREF="copyright.html#AEN1451"
|
|
||||||
>License</A
|
|
||||||
></DT
|
|
||||||
><DT
|
|
||||||
>7.2. <A
|
|
||||||
HREF="copyright.html#AEN1467"
|
|
||||||
>History</A
|
|
||||||
></DT
|
|
||||||
></DL
|
|
||||||
></DD
|
|
||||||
></DL
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="general.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>General Information</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,569 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Installation</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
|
|
||||||
REL="HOME"
|
|
||||||
TITLE="Privoxy Frequently Asked Questions"
|
|
||||||
HREF="index.html"><LINK
|
|
||||||
REL="PREVIOUS"
|
|
||||||
TITLE="General Information"
|
|
||||||
HREF="general.html"><LINK
|
|
||||||
REL="NEXT"
|
|
||||||
TITLE="Configuration"
|
|
||||||
HREF="configuration.html"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="../p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="SECT1"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVHEADER"
|
|
||||||
><TABLE
|
|
||||||
SUMMARY="Header navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TH
|
|
||||||
COLSPAN="3"
|
|
||||||
ALIGN="center"
|
|
||||||
>Privoxy Frequently Asked Questions</TH
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="general.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="80%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="bottom"
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="10%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="bottom"
|
|
||||||
><A
|
|
||||||
HREF="configuration.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H1
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="INSTALLATION"
|
|
||||||
>2. Installation</A
|
|
||||||
></H1
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="WHICHBROWSERS"
|
|
||||||
>2.1. Which browsers are supported by Privoxy?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Any browser that can be configured to use a proxy, which
|
|
||||||
should be virtually all browsers, including
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Firefox</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Internet
|
|
||||||
Explorer</SPAN
|
|
||||||
>, <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Opera</SPAN
|
|
||||||
>, and
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Safari</SPAN
|
|
||||||
> among others.
|
|
||||||
Direct browser support is not an absolute requirement since
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> runs as a separate application and talks
|
|
||||||
to the browser in the standardized HTTP protocol, just like a web server
|
|
||||||
does.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="WHICHOS"
|
|
||||||
>2.2. Which operating systems are supported?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> At present, <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is known to run on
|
|
||||||
Windows(95, 98, ME, 2000, XP, Vista), GNU/Linux (RedHat, SuSE, Debian,
|
|
||||||
Fedora, Gentoo, Slackware and others), Mac OSX, OS/2, AmigaOS, FreeBSD,
|
|
||||||
NetBSD, OpenBSD, Solaris, and various other flavors of Unix.</P
|
|
||||||
><P
|
|
||||||
> But any operating system that runs TCP/IP, can conceivably take advantage of
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> in a networked situation where
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> would run as a server on a LAN gateway.
|
|
||||||
Then only the <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"gateway"</SPAN
|
|
||||||
> needs to be running one of the above
|
|
||||||
operating systems.</P
|
|
||||||
><P
|
|
||||||
> Source code is freely available, so porting to other operating systems
|
|
||||||
is always a possibility.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="EMAIL-CLIENT"
|
|
||||||
>2.3. Can I use Privoxy with my email client?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> As long as there is some way to set a HTTP proxy for the client, then yes,
|
|
||||||
any application can be used, whether it is strictly speaking a
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"browser"</SPAN
|
|
||||||
> or not. Though this may not be the best approach for
|
|
||||||
dealing with some of the common abuses of HTML in email. See <A
|
|
||||||
HREF="configuration.html#OUTLOOK"
|
|
||||||
>How can I configure <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
with <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Outlook</SPAN
|
|
||||||
>?</A
|
|
||||||
> below for more on
|
|
||||||
this. </P
|
|
||||||
><P
|
|
||||||
> Be aware that HTML email presents a number of unique security and privacy
|
|
||||||
related issues, that can require advanced skills to overcome. The developers
|
|
||||||
recommend using email clients that can be configured to convert HTML to plain
|
|
||||||
text for these reasons.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="FIRSTSTEP"
|
|
||||||
>2.4. I just installed Privoxy. Is there anything
|
|
||||||
special I have to do now?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> All browsers should be told to use <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
as a proxy by specifying the correct proxy address and port number
|
|
||||||
in the appropriate configuration area for the browser. It's possible
|
|
||||||
to combine <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> with a packet filter to intercept HTTP requests
|
|
||||||
even if the client isn't explicitly configured to use <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>,
|
|
||||||
but where possible, configuring the client is recommended. See
|
|
||||||
<A
|
|
||||||
HREF="../user-manual/startup.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>the User Manual for more
|
|
||||||
details</A
|
|
||||||
>. You should also flush your browser's memory and disk
|
|
||||||
cache to get rid of any cached junk items, and remove any stored
|
|
||||||
<A
|
|
||||||
HREF="http://en.wikipedia.org/wiki/Browser_cookie"
|
|
||||||
TARGET="_top"
|
|
||||||
>cookies</A
|
|
||||||
>. </P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="LOCALHOST"
|
|
||||||
>2.5. What is the proxy address of Privoxy?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> If you set up the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> to run on
|
|
||||||
the computer you browse from (rather than your ISP's server or some
|
|
||||||
networked computer on a LAN), the proxy will be on <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>127.0.0.1</TT
|
|
||||||
>
|
|
||||||
(sometimes referred to as <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"localhost"</SPAN
|
|
||||||
>,
|
|
||||||
which is the special name used by every computer on the Internet to refer
|
|
||||||
to itself) and the port will be 8118 (unless you used the <A
|
|
||||||
HREF="../user-manual/config.html#LISTEN-ADDRESS"
|
|
||||||
TARGET="_top"
|
|
||||||
>listen-address</A
|
|
||||||
>
|
|
||||||
config option to tell <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> to run on
|
|
||||||
a different port).
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> When configuring your browser's proxy settings you typically enter
|
|
||||||
the word <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"localhost"</SPAN
|
|
||||||
> or the IP address <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"127.0.0.1"</SPAN
|
|
||||||
>
|
|
||||||
in the boxes next to <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"HTTP"</SPAN
|
|
||||||
> and <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Secure"</SPAN
|
|
||||||
> (HTTPS) and
|
|
||||||
then the number <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"8118"</SPAN
|
|
||||||
> for <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"port"</SPAN
|
|
||||||
>.
|
|
||||||
This tells your browser to send all web requests to <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
instead of directly to the Internet.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> can also be used to proxy for
|
|
||||||
a Local Area Network. In this case, your would enter either the IP
|
|
||||||
address of the LAN host where <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
is running, or the equivalent hostname, e.g. <TT
|
|
||||||
CLASS="LITERAL"
|
|
||||||
>192.168.1.1</TT
|
|
||||||
>.
|
|
||||||
Port assignment would be same as above. Note that
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> doesn't listen on any LAN interfaces by
|
|
||||||
default.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
> <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> does not currently handle
|
|
||||||
any other protocols such as FTP, SMTP, IM, IRC, ICQ, etc.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="NOTHING"
|
|
||||||
>2.6. I just installed Privoxy, and nothing is happening.
|
|
||||||
All the ads are there. What's wrong?</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> Did you configure your browser to use <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>
|
|
||||||
as a proxy? It does not sound like it. See above. You might also try flushing
|
|
||||||
the browser's caches to force a full re-reading of pages. You can verify
|
|
||||||
that <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is running, and your browser
|
|
||||||
is correctly configured by entering the special URL:
|
|
||||||
<A
|
|
||||||
HREF="http://p.p/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://p.p/</A
|
|
||||||
>.
|
|
||||||
|
|
||||||
This should take you to a page titled <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"This is Privoxy.."</SPAN
|
|
||||||
> with
|
|
||||||
access to <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy's</SPAN
|
|
||||||
> internal configuration.
|
|
||||||
If you see this, then you are good to go. If you receive a page saying
|
|
||||||
<SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Privoxy is not running"</SPAN
|
|
||||||
>, then the browser is not set up to use
|
|
||||||
your <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> installation.
|
|
||||||
If you receive anything else (probably nothing at all), it could either
|
|
||||||
be that the browser is not set up correctly, or that
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> is not running at all. Check the <A
|
|
||||||
HREF="../user-manual/config.html#LOGFILE"
|
|
||||||
TARGET="_top"
|
|
||||||
>log file</A
|
|
||||||
>. For instructions
|
|
||||||
on starting <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> and browser configuration,
|
|
||||||
see the <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/startup.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>chapter
|
|
||||||
on starting <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
></A
|
|
||||||
> in the
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/"
|
|
||||||
TARGET="_top"
|
|
||||||
>User Manual</A
|
|
||||||
>.</P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT2"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT2"
|
|
||||||
><A
|
|
||||||
NAME="NOTUSED"
|
|
||||||
>2.7. I get a <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"Privoxy is not being used"</SPAN
|
|
||||||
> dummy page although
|
|
||||||
Privoxy is running and being used.</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> First, make sure that Privoxy is <SPAN
|
|
||||||
CLASS="emphasis"
|
|
||||||
><I
|
|
||||||
CLASS="EMPHASIS"
|
|
||||||
>really</I
|
|
||||||
></SPAN
|
|
||||||
> running and
|
|
||||||
being used by visiting <A
|
|
||||||
HREF="http://p.p/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://p.p/</A
|
|
||||||
>. You
|
|
||||||
should see the <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> main page. If not, see
|
|
||||||
the <A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/startup.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>chapter
|
|
||||||
on starting <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
></A
|
|
||||||
> in the
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/user-manual/"
|
|
||||||
TARGET="_top"
|
|
||||||
>User Manual</A
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
> Now if <A
|
|
||||||
HREF="http://p.p/"
|
|
||||||
TARGET="_top"
|
|
||||||
>http://p.p/</A
|
|
||||||
> works for you, but
|
|
||||||
other parts of <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
>'s web interface show
|
|
||||||
the dummy page, your browser has cached a redirection it encountered before
|
|
||||||
<SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Privoxy</SPAN
|
|
||||||
> was being used. You need to clear your
|
|
||||||
browser's cache. Note that shift-reloading the dummy page won't help, since
|
|
||||||
that'll only refresh the dummy page, not the redirection that lead you there.</P
|
|
||||||
><P
|
|
||||||
> The procedure for clearing the cache varies from browser to browser. For
|
|
||||||
example, <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Mozilla/Netscape</SPAN
|
|
||||||
> users would click
|
|
||||||
<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Edit</SPAN
|
|
||||||
> --> <SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Preferences</SPAN
|
|
||||||
> -->
|
|
||||||
<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Advanced</SPAN
|
|
||||||
> --> <SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Cache</SPAN
|
|
||||||
> and
|
|
||||||
then click both <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Clear Memory Cache</SPAN
|
|
||||||
>"</SPAN
|
|
||||||
>
|
|
||||||
and <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Clear Disk Cache</SPAN
|
|
||||||
>"</SPAN
|
|
||||||
>.
|
|
||||||
In some <SPAN
|
|
||||||
CLASS="APPLICATION"
|
|
||||||
>Firefox</SPAN
|
|
||||||
> versions it's
|
|
||||||
<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Tools</SPAN
|
|
||||||
> --> <SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Options</SPAN
|
|
||||||
> -->
|
|
||||||
<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Privacy</SPAN
|
|
||||||
> --> <SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Cache</SPAN
|
|
||||||
> and
|
|
||||||
then click <SPAN
|
|
||||||
CLASS="QUOTE"
|
|
||||||
>"<SPAN
|
|
||||||
CLASS="GUIBUTTON"
|
|
||||||
>Clear Cache Now</SPAN
|
|
||||||
>"</SPAN
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="NAVFOOTER"
|
|
||||||
><HR
|
|
||||||
ALIGN="LEFT"
|
|
||||||
WIDTH="100%"><TABLE
|
|
||||||
SUMMARY="Footer navigation table"
|
|
||||||
WIDTH="100%"
|
|
||||||
BORDER="0"
|
|
||||||
CELLPADDING="0"
|
|
||||||
CELLSPACING="0"
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="general.html"
|
|
||||||
ACCESSKEY="P"
|
|
||||||
>Prev</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="index.html"
|
|
||||||
ACCESSKEY="H"
|
|
||||||
>Home</A
|
|
||||||
></TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
><A
|
|
||||||
HREF="configuration.html"
|
|
||||||
ACCESSKEY="N"
|
|
||||||
>Next</A
|
|
||||||
></TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="left"
|
|
||||||
VALIGN="top"
|
|
||||||
>General Information</TD
|
|
||||||
><TD
|
|
||||||
WIDTH="34%"
|
|
||||||
ALIGN="center"
|
|
||||||
VALIGN="top"
|
|
||||||
> </TD
|
|
||||||
><TD
|
|
||||||
WIDTH="33%"
|
|
||||||
ALIGN="right"
|
|
||||||
VALIGN="top"
|
|
||||||
>Configuration</TD
|
|
||||||
></TR
|
|
||||||
></TABLE
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 32 KiB |
|
@ -1,328 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy - Home Page</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="privoxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="HTTP"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="proxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="privacy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="popups"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="po-ups"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="HTML"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="JavaScript"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="cleaning"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="blocking"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="cleaner"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="blocker"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="filter"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="proxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junk"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="ad"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="advertisement"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="banner"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="webbugs"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="web-bugs"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="werbung"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junkbusters"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junkbuster"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1">
|
|
||||||
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
|
||||||
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
><DIV
|
|
||||||
CLASS="TITLEPAGE"
|
|
||||||
><H1
|
|
||||||
CLASS="TITLE"
|
|
||||||
><A
|
|
||||||
NAME="AEN2"
|
|
||||||
>Privoxy - Home Page</A
|
|
||||||
></H1
|
|
||||||
><DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="ABSTRACT"
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><A
|
|
||||||
NAME="AEN28"
|
|
||||||
></A
|
|
||||||
><P
|
|
||||||
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and tastes.
|
|
||||||
It has application for both stand-alone systems and multi-user networks.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is Free Software and licensed under the GPL2.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
|
||||||
TARGET="_top"
|
|
||||||
>Donations are welcome</A
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
> The most recent release is <A
|
|
||||||
HREF="announce.txt"
|
|
||||||
TARGET="_top"
|
|
||||||
>3.0.12 (stable)</A
|
|
||||||
>.
|
|
||||||
</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><HR></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="DOWNLOAD"
|
|
||||||
>Download</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>Download recent releases</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/quickstart.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Quickstart after installation</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="DOCS"
|
|
||||||
>Documentation</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>User manual</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="faq/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Frequently Asked Questions</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="developer-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Developer Manual</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="man-page/privoxy-man-page.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Classic Man Page</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="MOREINFO"
|
|
||||||
>More information</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/contact.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Support & Service</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/copyright.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Copyright, License, History & Authors</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/introduction.html#FEATURES"
|
|
||||||
TARGET="_top"
|
|
||||||
>List of (new) Features</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/projects/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>The project page</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/seealso.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Related links</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>
|
|
||||||
|
|
||||||
<A
|
|
||||||
HREF="http://privoxy.org/team/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Pictures of the Privoxy Team</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H2
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="AEN83"
|
|
||||||
></A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
><DIV
|
|
||||||
CLASS="INFORMALTABLE"
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><A
|
|
||||||
NAME="AEN86"
|
|
||||||
></A
|
|
||||||
><TABLE
|
|
||||||
BORDER="0"
|
|
||||||
FRAME="void"
|
|
||||||
RULES="all"
|
|
||||||
WIDTH="100%"
|
|
||||||
CLASS="CALSTABLE"
|
|
||||||
><COL
|
|
||||||
WIDTH="100%"
|
|
||||||
ALIGN="CENTER"
|
|
||||||
TITLE="C1"><TBODY
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
ALIGN="CENTER"
|
|
||||||
>Privoxy is developed on:</TD
|
|
||||||
></TR
|
|
||||||
><TR
|
|
||||||
><TD
|
|
||||||
ALIGN="CENTER"
|
|
||||||
> <A
|
|
||||||
HREF="http://sourceforge.net/"
|
|
||||||
TARGET="_top"
|
|
||||||
> <IMG
|
|
||||||
SRC="http://sourceforge.net/sflogo.php?group_id=11118&type=1&dummy=.gif">
|
|
||||||
</A
|
|
||||||
>
|
|
||||||
</TD
|
|
||||||
></TR
|
|
||||||
></TBODY
|
|
||||||
></TABLE
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></P
|
|
||||||
><P
|
|
||||||
> <SUB
|
|
||||||
> Copyright © 2001-2009 by Privoxy Developers
|
|
||||||
</SUB
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,294 +0,0 @@
|
||||||
|
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
||||||
<HTML><HEAD><TITLE>Man page of PRIVOXY</TITLE>
|
|
||||||
<LINK REL="STYLESHEET" TYPE="text/css" HREF="../p_doc.css"></HEAD><BODY>
|
|
||||||
<H1>PRIVOXY</H1>
|
|
||||||
Section: (1)<BR>Updated: 21 March 2009<BR><A HREF="#index">Index</A>
|
|
||||||
<HR>
|
|
||||||
|
|
||||||
<A NAME="lbAB"> </A>
|
|
||||||
<H2>NAME</H2>
|
|
||||||
|
|
||||||
privoxy - Privacy Enhancing Proxy
|
|
||||||
<A NAME="lbAC"> </A>
|
|
||||||
<H2>SYNOPSIS</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
<B>privoxy</B> [<B>--help</B> ] [<B>--version</B> ] [<B>--no-daemon</B> ] [<B>--pidfile </B><I>pidfile</I><B></B> ] [<B>--user </B><I>user[.group]</I><B></B> ] [<B>--chroot</B> ] [<B>--pre-chroot-nslookup </B><I>hostname</I><B></B> ] [<B></B><I>configfile</I><B></B> ]
|
|
||||||
<P>
|
|
||||||
<A NAME="lbAD"> </A>
|
|
||||||
<H2>OPTIONS</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>Privoxy</B> may be invoked with the following command line
|
|
||||||
options:
|
|
||||||
<DL COMPACT>
|
|
||||||
<DT><B>--help</B><DD>
|
|
||||||
Print brief usage info and exit.
|
|
||||||
<DT><B>--version</B><DD>
|
|
||||||
Print version info and exit.
|
|
||||||
<DT><B>--no-daemon</B><DD>
|
|
||||||
Don't become a daemon, i.e. don't fork and become process group
|
|
||||||
leader, don't detach from controlling tty, and do all logging there.
|
|
||||||
<DT><B>--pidfile </B><I>pidfile</I><B></B><DD>
|
|
||||||
On startup, write the process ID to <I>pidfile</I>.
|
|
||||||
Delete the <I>pidfile</I> on exit.
|
|
||||||
Failure to create or delete the <I>pidfile</I>
|
|
||||||
is non-fatal. If no <B>--pidfile</B> option is given, no PID file will be used.
|
|
||||||
<DT><B>--user </B><I>user[.group]</I><B></B><DD>
|
|
||||||
After (optionally) writing the PID file, assume the user ID of
|
|
||||||
<I>user</I> and the GID of
|
|
||||||
<I>group</I>, or, if the optional
|
|
||||||
<I>group</I> was not given, the default group of
|
|
||||||
<I>user</I>. Exit if the privileges are not
|
|
||||||
sufficient to do so.
|
|
||||||
<DT><B>--chroot</B><DD>
|
|
||||||
Before changing to the user ID given in the --user option, chroot to
|
|
||||||
that user's home directory, i.e. make the kernel pretend to the
|
|
||||||
<B>Privoxy</B> process that the directory tree starts
|
|
||||||
there. If set up carefully, this can limit the impact of possible
|
|
||||||
vulnerabilities in <B>Privoxy</B> to the files contained in
|
|
||||||
that hierarchy.
|
|
||||||
<DT><B>--pre-chroot-nslookup </B><I>hostname</I><B></B><DD>
|
|
||||||
Initialize the resolver library using <I>hostname</I>
|
|
||||||
before chroot'ing. On some systems this reduces the number of files
|
|
||||||
that must be copied into the chroot tree.
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
If the <I>configfile</I> is not specified on the command line,
|
|
||||||
<B>Privoxy</B> will look for a file named
|
|
||||||
<I>config</I> in the current directory. If no
|
|
||||||
<I>configfile</I> is found, <B>Privoxy</B> will
|
|
||||||
fail to start.
|
|
||||||
<A NAME="lbAE"> </A>
|
|
||||||
<H2>DESCRIPTION</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Privoxy is a non-caching web proxy with advanced filtering capabilities
|
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and tastes.
|
|
||||||
It has application for both stand-alone systems and multi-user networks.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Privoxy is Free Software and licensed under the GPL2.
|
|
||||||
<A NAME="lbAF"> </A>
|
|
||||||
<H2>INSTALLATION AND USAGE</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Browsers can either be individually configured to use
|
|
||||||
<B>Privoxy</B> as a HTTP proxy (recommended),
|
|
||||||
or <B>Privoxy</B> can be combined with a packet
|
|
||||||
filter to build an intercepting proxy
|
|
||||||
(see <I>config</I>). The default setting is for
|
|
||||||
localhost, on port 8118 (configurable in the main config file). To set the
|
|
||||||
HTTP proxy in Firefox, go through: <B>Tools</B>;
|
|
||||||
<B>Options</B>; <B>General</B>;
|
|
||||||
<B>Connection Settings</B>;
|
|
||||||
<B>Manual Proxy Configuration</B>.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
For Internet Explorer, go through: <B>Tools</B>;
|
|
||||||
<B>Internet Properties</B>; <B>Connections</B>;
|
|
||||||
<B>LAN Settings</B>.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The Secure (SSL) Proxy should also be set to the same values, otherwise
|
|
||||||
https: URLs will not be proxied. Note: <B>Privoxy</B> can only
|
|
||||||
proxy HTTP and HTTPS traffic. Do not try it with FTP or other protocols.
|
|
||||||
HTTPS presents some limitations, and not all features will work with HTTPS
|
|
||||||
connections.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
For other browsers, check the documentation.
|
|
||||||
<A NAME="lbAG"> </A>
|
|
||||||
<H2>CONFIGURATION</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>Privoxy</B> can be configured with the various configuration
|
|
||||||
files. The default configuration files are: <I>config</I>,
|
|
||||||
<I>default.filter</I>, <I>default.action</I> and
|
|
||||||
<I>default.action</I>. <I>user.action</I> should
|
|
||||||
be used for locally defined exceptions to the default rules in
|
|
||||||
<I>match-all.action</I> and <I>default.action</I>,
|
|
||||||
and <I>user.filter</I> for locally defined filters. These are
|
|
||||||
well commented. On Unix and Unix-like systems, these are located in
|
|
||||||
<I>/etc/privoxy/</I> by default.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>Privoxy</B> uses the concept of <B>actions</B>
|
|
||||||
in order to manipulate the data stream between the browser and remote sites.
|
|
||||||
There are various actions available with specific functions for such things
|
|
||||||
as blocking web sites, managing cookies, etc. These actions can be invoked
|
|
||||||
individually or combined, and used against individual URLs, or groups of URLs
|
|
||||||
that can be defined using wildcards and regular expressions. The result is
|
|
||||||
that the user has greatly enhanced control and freedom.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The actions list (ad blocks, etc) can also be configured with your
|
|
||||||
web browser at <A HREF="http://config.privoxy.org/">http://config.privoxy.org/</A>
|
|
||||||
(assuming the configuration allows it).
|
|
||||||
<B>Privoxy's</B> configuration parameters can also be viewed at
|
|
||||||
the same page. In addition, <B>Privoxy</B> can be toggled on/off.
|
|
||||||
This is an internal page, and does not require Internet access.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
See the <I>User Manual</I> for a detailed
|
|
||||||
explanation of installation, general usage, all configuration options, new
|
|
||||||
features and notes on upgrading.
|
|
||||||
<A NAME="lbAH"> </A>
|
|
||||||
<H2>FILES</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
<PRE>
|
|
||||||
|
|
||||||
<I>/usr/sbin/privoxy</I>
|
|
||||||
<I>/etc/privoxy/config</I>
|
|
||||||
<I>/etc/privoxy/match-all.action</I>
|
|
||||||
<I>/etc/privoxy/default.action</I>
|
|
||||||
<I>/etc/privoxy/user.action</I>
|
|
||||||
<I>/etc/privoxy/default.filter</I>
|
|
||||||
<I>/etc/privoxy/user.filter</I>
|
|
||||||
<I>/etc/privoxy/trust</I>
|
|
||||||
<I>/etc/privoxy/templates/*</I>
|
|
||||||
<I>/var/log/privoxy/logfile</I>
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Various other files should be included, but may vary depending on platform
|
|
||||||
and build configuration. Additional documentation should be included in the local
|
|
||||||
documentation directory.
|
|
||||||
<A NAME="lbAI"> </A>
|
|
||||||
<H2>SIGNALS</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>Privoxy</B> terminates on the <B>SIGINT</B>,
|
|
||||||
<B>SIGTERM</B> and <B>SIGABRT</B> signals. Log
|
|
||||||
rotation scripts may cause a re-opening of the logfile by sending a
|
|
||||||
<B>SIGHUP</B> to <B>Privoxy</B>. Note that unlike
|
|
||||||
other daemons, <B>Privoxy</B> does not need to be made aware of
|
|
||||||
config file changes by <B>SIGHUP</B> -- it will detect them
|
|
||||||
automatically.
|
|
||||||
<A NAME="lbAJ"> </A>
|
|
||||||
<H2>NOTES</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Please see the <I>User Manual</I> on how to contact the
|
|
||||||
developers, for feature requests, reporting problems, and other questions.
|
|
||||||
<A NAME="lbAK"> </A>
|
|
||||||
<H2>SEE ALSO</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Other references and sites of interest to <B>Privoxy</B>
|
|
||||||
users:
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
<A HREF="http://www.privoxy.org/">http://www.privoxy.org/,</A>
|
|
||||||
the <B>Privoxy</B> Home page.
|
|
||||||
<P>
|
|
||||||
<A HREF="http://www.privoxy.org/faq/">http://www.privoxy.org/faq/,</A>
|
|
||||||
the <B>Privoxy</B> FAQ.
|
|
||||||
<P>
|
|
||||||
<A HREF="http://www.privoxy.org/developer-manual/">http://www.privoxy.org/developer-manual/,</A>
|
|
||||||
the <B>Privoxy</B> developer manual.
|
|
||||||
<P>
|
|
||||||
<A HREF="https://sourceforge.net/projects/ijbswa/">https://sourceforge.net/projects/ijbswa/,</A>
|
|
||||||
the Project Page for <B>Privoxy</B> on
|
|
||||||
SourceForge.
|
|
||||||
<P>
|
|
||||||
<A HREF="http://config.privoxy.org/">http://config.privoxy.org/,</A>
|
|
||||||
the web-based user interface. <B>Privoxy</B> must be
|
|
||||||
running for this to work. Shortcut: <A HREF="http://p.p/">http://p.p/</A>
|
|
||||||
<P>
|
|
||||||
<A HREF="https://sourceforge.net/tracker/?group_id=11118">https://sourceforge.net/tracker/?group_id=11118</A>&atid=460288, to submit ``misses'' and other
|
|
||||||
configuration related suggestions to the developers.
|
|
||||||
<A NAME="lbAL"> </A>
|
|
||||||
<H2>DEVELOPMENT TEAM</H2>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
<PRE>
|
|
||||||
Fabian Keil, lead developer
|
|
||||||
David Schmidt, developer
|
|
||||||
|
|
||||||
Hal Burgiss
|
|
||||||
Mark Miller
|
|
||||||
Gerry Murphy
|
|
||||||
Lee Rian
|
|
||||||
Roland Rosenfeld
|
|
||||||
Jörg Strohmayer
|
|
||||||
</PRE>
|
|
||||||
|
|
||||||
<A NAME="lbAM"> </A>
|
|
||||||
<H2>COPYRIGHT AND LICENSE</H2>
|
|
||||||
|
|
||||||
<A NAME="lbAN"> </A>
|
|
||||||
<H3>COPYRIGHT</H3>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Copyright (C) 2001-2009 by Privoxy Developers <<A HREF="mailto:ijbswa-developers@lists.sourceforge.net">ijbswa-developers@lists.sourceforge.net</A>>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
Some source code is based on code Copyright (C) 1997 by Anonymous Coders
|
|
||||||
and Junkbusters, Inc. and licensed under the <I>GNU General Public
|
|
||||||
License</I>.
|
|
||||||
<A NAME="lbAO"> </A>
|
|
||||||
<H3>LICENSE</H3>
|
|
||||||
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<B>Privoxy</B> is free software; you can
|
|
||||||
redistribute it and/or modify it under the terms of the
|
|
||||||
<I>GNU General Public License</I>, version 2,
|
|
||||||
as published by the Free Software Foundation.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE. See the <I>GNU General Public License</I> for details.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
You should have received a copy of the <I>GNU GPL</I>
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc. 51 Franklin Street, Fifth Floor
|
|
||||||
Boston, MA 02110-1301
|
|
||||||
USA
|
|
||||||
<P>
|
|
||||||
|
|
||||||
<HR>
|
|
||||||
<A NAME="index"> </A><H2>Index</H2>
|
|
||||||
<DL>
|
|
||||||
<DT><A HREF="#lbAB">NAME</A><DD>
|
|
||||||
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
||||||
<DT><A HREF="#lbAD">OPTIONS</A><DD>
|
|
||||||
<DT><A HREF="#lbAE">DESCRIPTION</A><DD>
|
|
||||||
<DT><A HREF="#lbAF">INSTALLATION AND USAGE</A><DD>
|
|
||||||
<DT><A HREF="#lbAG">CONFIGURATION</A><DD>
|
|
||||||
<DT><A HREF="#lbAH">FILES</A><DD>
|
|
||||||
<DT><A HREF="#lbAI">SIGNALS</A><DD>
|
|
||||||
<DT><A HREF="#lbAJ">NOTES</A><DD>
|
|
||||||
<DT><A HREF="#lbAK">SEE ALSO</A><DD>
|
|
||||||
<DT><A HREF="#lbAL">DEVELOPMENT TEAM</A><DD>
|
|
||||||
<DT><A HREF="#lbAM">COPYRIGHT AND LICENSE</A><DD>
|
|
||||||
<DL>
|
|
||||||
<DT><A HREF="#lbAN">COPYRIGHT</A><DD>
|
|
||||||
<DT><A HREF="#lbAO">LICENSE</A><DD>
|
|
||||||
</DL>
|
|
||||||
</DL>
|
|
||||||
<HR>
|
|
||||||
This document was created by
|
|
||||||
man2html,
|
|
||||||
using the manual pages.<BR>
|
|
||||||
Time: 11:32:52 GMT, March 21, 2009
|
|
||||||
</BODY>
|
|
||||||
</HTML>
|
|
|
@ -1,66 +0,0 @@
|
||||||
/*
|
|
||||||
* CSS for Privoxy documentation
|
|
||||||
*
|
|
||||||
* $Id: p_doc.css,v 1.5 2006/09/09 19:13:42 hal9 Exp $
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Global fonts, colors, margins:
|
|
||||||
*/
|
|
||||||
body,td,th { font-family: arial, helvetica, sans-serif; }
|
|
||||||
body { margin: 4%; color: #000000; background-color: #eeeeee; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Headings hierarchy in terms of size and color:
|
|
||||||
*/
|
|
||||||
h1 { color: #4c000f; font-size: 160%; }
|
|
||||||
h2 { color: #660014; font-size: 140%; }
|
|
||||||
h3 { color: #820019; font-size: 120%; }
|
|
||||||
h4 { color: #99001d; font-size: 110%; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Make headings stand out:
|
|
||||||
* Indent all content in chapters, by additional 2%,
|
|
||||||
* and then pull the headings back left.
|
|
||||||
*/
|
|
||||||
div.sect1 { margin-left: 2%; }
|
|
||||||
h1,h2,h3,h4 {margin-left: -2%; }
|
|
||||||
h1.title { margin-left: 0; }
|
|
||||||
h2.subtitle { margin-left: 0; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Underlined links disturb the examples;
|
|
||||||
* Let them get darker instead of purple after visited.
|
|
||||||
*/
|
|
||||||
a { text-decoration: none; }
|
|
||||||
a:link { color: #0c29ff; }
|
|
||||||
a:visited { color: #071899; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Special highlighting:
|
|
||||||
* Code examples in embedded in the text flow become half-bold,
|
|
||||||
* Emphasis gets h4-red.
|
|
||||||
* Warnings get the same bg as in privoxy.css
|
|
||||||
*/
|
|
||||||
tt.literal { font-weight: 600; }
|
|
||||||
i.emphasis { color: #99001d; }
|
|
||||||
table.warning { border: 0; background-color: #ffdddd;}
|
|
||||||
span.guibutton {
|
|
||||||
white-space: nowrap;
|
|
||||||
width: auto;
|
|
||||||
padding: 2px;
|
|
||||||
background-color: #dddddd;
|
|
||||||
color: #000000;
|
|
||||||
text-decoration: none;
|
|
||||||
border-top: 1px solid #ffffff;
|
|
||||||
border-left: 1px solid #ffffff;
|
|
||||||
border-bottom: 1px solid #000000;
|
|
||||||
border-right: 1px solid #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Misc:
|
|
||||||
*/
|
|
||||||
ul { list-style-type: square; }
|
|
||||||
/* Privoxy, of course */
|
|
||||||
.application {font-weight: bold; font-size:105%; color: #99001d;}
|
|
|
@ -1,9 +0,0 @@
|
||||||
/*
|
|
||||||
* Vary the gereneral Privoxy Stlyesheet to
|
|
||||||
* meet the needs of small popups:
|
|
||||||
*
|
|
||||||
* $Id: p_feedback.css,v 1.4 2002/04/09 13:03:42 oes Exp $
|
|
||||||
*/
|
|
||||||
body,td,th { font-size:10px; }
|
|
||||||
div.info { width: 60%; }
|
|
||||||
div.warning { width: 60%; text-align: left; }
|
|
|
@ -1,283 +0,0 @@
|
||||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
|
|
||||||
<HTML
|
|
||||||
><HEAD
|
|
||||||
><TITLE
|
|
||||||
>Privoxy - The Privacy Enhancing Proxy</TITLE
|
|
||||||
><META
|
|
||||||
NAME="GENERATOR"
|
|
||||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="privoxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="HTTP"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="proxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="privacy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="popups"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="po-ups"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="HTML"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="JavaScript"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="cleaning"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="blocking"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="cleaner"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="blocker"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="filter"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="proxy"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junk"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="ad"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="advertisement"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="banner"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="webbugs"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="web-bugs"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="werbung"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junkbusters"><META
|
|
||||||
NAME="KEYWORD"
|
|
||||||
CONTENT="junkbuster"><LINK
|
|
||||||
REL="STYLESHEET"
|
|
||||||
TYPE="text/css"
|
|
||||||
HREF="p_doc.css"><META
|
|
||||||
HTTP-EQUIV="Content-Type"
|
|
||||||
CONTENT="text/html;
|
|
||||||
charset=ISO-8859-1">
|
|
||||||
<meta name="description" content="Privoxy helps users to protect their privacy.">
|
|
||||||
<meta name="MSSmartTagsPreventParsing" content="TRUE"></HEAD
|
|
||||||
><BODY
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
BGCOLOR="#EEEEEE"
|
|
||||||
TEXT="#000000"
|
|
||||||
LINK="#0000FF"
|
|
||||||
VLINK="#840084"
|
|
||||||
ALINK="#0000FF"
|
|
||||||
><DIV
|
|
||||||
CLASS="ARTICLE"
|
|
||||||
><DIV
|
|
||||||
CLASS="TITLEPAGE"
|
|
||||||
><H1
|
|
||||||
CLASS="TITLE"
|
|
||||||
><A
|
|
||||||
NAME="AEN2"
|
|
||||||
>Privoxy - The Privacy Enhancing Proxy</A
|
|
||||||
></H1
|
|
||||||
><H2
|
|
||||||
CLASS="SUBTITLE"
|
|
||||||
>Project Index Page v3.0.12</H2
|
|
||||||
><DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="ABSTRACT"
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
><A
|
|
||||||
NAME="AEN29"
|
|
||||||
></A
|
|
||||||
><P
|
|
||||||
> Privoxy is a non-caching web proxy with advanced filtering capabilities
|
|
||||||
for enhancing privacy, modifying web page data and HTTP headers, controlling
|
|
||||||
access, and removing ads and other obnoxious Internet junk. Privoxy has a
|
|
||||||
flexible configuration and can be customized to suit individual needs and tastes.
|
|
||||||
It has application for both stand-alone systems and multi-user networks.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is Free Software and licensed under the GPL2.</P
|
|
||||||
><P
|
|
||||||
> Privoxy is an associated project of Software in the Public Interest (SPI).
|
|
||||||
<A
|
|
||||||
HREF="http://www.privoxy.org/faq/general.html#DONATE"
|
|
||||||
TARGET="_top"
|
|
||||||
>Donations are welcome</A
|
|
||||||
>.</P
|
|
||||||
><P
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
><HR></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="DOWNLOAD"
|
|
||||||
>Download</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/project/showfiles.php?group_id=11118"
|
|
||||||
TARGET="_top"
|
|
||||||
>Download recent releases</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/quickstart.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Quickstart after installation</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="DOCS"
|
|
||||||
>Documentation</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>User manual</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="faq/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Frequently Asked Questions</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="developer-manual/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Developer Manual</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="man-page/privoxy-man-page.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Classic Man Page</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H3
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="MOREINFO"
|
|
||||||
>More information</A
|
|
||||||
></H3
|
|
||||||
><P
|
|
||||||
> <P
|
|
||||||
></P
|
|
||||||
><UL
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/contact.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Support & Service</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/copyright.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Copyright, License, History & Authors</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/introduction.html#FEATURES"
|
|
||||||
TARGET="_top"
|
|
||||||
>List of (new) Features</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="https://sourceforge.net/projects/ijbswa/"
|
|
||||||
TARGET="_top"
|
|
||||||
>The project page</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
> <A
|
|
||||||
HREF="user-manual/seealso.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Related links</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
><LI
|
|
||||||
><P
|
|
||||||
>
|
|
||||||
|
|
||||||
<A
|
|
||||||
HREF="http://privoxy.org/team/index.html"
|
|
||||||
TARGET="_top"
|
|
||||||
>Pictures of the Privoxy Team</A
|
|
||||||
>
|
|
||||||
</P
|
|
||||||
></LI
|
|
||||||
></UL
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
><DIV
|
|
||||||
CLASS="SECT1"
|
|
||||||
><HR><H2
|
|
||||||
CLASS="SECT1"
|
|
||||||
><A
|
|
||||||
NAME="AEN82"
|
|
||||||
></A
|
|
||||||
></H2
|
|
||||||
><P
|
|
||||||
> <SUB
|
|
||||||
> Copyright © 2001-2009 by Privoxy Developers
|
|
||||||
</SUB
|
|
||||||
></P
|
|
||||||
></DIV
|
|
||||||
></DIV
|
|
||||||
></BODY
|
|
||||||
></HTML
|
|
||||||
>
|
|
|
@ -1,69 +0,0 @@
|
||||||
/*
|
|
||||||
* CSS for Privoxy CGI and script output
|
|
||||||
*
|
|
||||||
* $Id: privoxy.css,v 1.2 2002/04/09 11:55:20 oes Exp $
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General rules: Font, Color, Headings, Margins, Links
|
|
||||||
*/
|
|
||||||
body,td,th { font-family: arial, helvetica, helv, sans-serif; }
|
|
||||||
body { background-color: #ffffff; color: #000000; }
|
|
||||||
|
|
||||||
h1 { font-size: 140%; margin: 0px; }
|
|
||||||
h2 { font-size: 120%; margin: 0px; }
|
|
||||||
h3 { font-size: 110%; margin: 0px; }
|
|
||||||
|
|
||||||
p,pre { margin-left: 15px; }
|
|
||||||
li { margin: 2px 15px; }
|
|
||||||
dl { margin: 2px 15px; }
|
|
||||||
|
|
||||||
a:link { color: #0000dd; text-decoration: none; }
|
|
||||||
a:visited { color: #330099; text-decoration: none; }
|
|
||||||
a:active { color: #3333ff; text-decoration: none; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Boxen as Table elements:
|
|
||||||
*/
|
|
||||||
td.title { border: solid black 1px; background-color: #dddddd; }
|
|
||||||
td.box { border: solid black 1px; background-color: #eeeeee; }
|
|
||||||
td.info { border: solid black 1px; background-color: #ccccff; }
|
|
||||||
td.warning { border: solid black 1px; background-color: #ffdddd; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Special Table Boxen: for nesting, naked container and for
|
|
||||||
* the Status field in CGI Output:
|
|
||||||
*/
|
|
||||||
td.wrapbox { border: solid black 1px; padding: 5px; }
|
|
||||||
td.container { padding: 0px; }
|
|
||||||
td.status { border: solid black 1px; background-color: #ff0000; color: #ffffff; font-size: 300%; font-weight: bolder; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Same Boxen as <div>s:
|
|
||||||
*/
|
|
||||||
div.title { border: solid black 1px; background-color: #dddddd; margin: 20px; padding: 20px; }
|
|
||||||
div.box { border: solid black 1px; background-color: #eeeeee; margin: 20px; padding: 20px; }
|
|
||||||
div.info { border: solid black 1px; background-color: #ccccff; margin: 20px; padding: 20px; }
|
|
||||||
div.warning { border: solid black 1px; background-color: #ffdddd; margin: 20px; padding: 20px; }
|
|
||||||
div.wrapbox { border: solid black 1px; margin: 20px; padding: 5px; }
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Bold definitions in <dl>s, Grey BG for Table headings
|
|
||||||
*/
|
|
||||||
dt { font-weight: bold; }
|
|
||||||
th { background-color: #dddddd; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Special purpose paragraphs: Small for page footers,
|
|
||||||
* Important for quoting wrong or dangerous examples,
|
|
||||||
* Whiteframed for the toggle?mini=y CGI
|
|
||||||
*/
|
|
||||||
p.small { font-size: 10px; margin: 0px; }
|
|
||||||
p.important { border: solid black 1px; background-color: #ffdddd; font-weight: bold; padding: 2px; }
|
|
||||||
p.whiteframed { margin: 5px; padding: 5px; border: solid black 1px; text-align: center; background-color: #eeeeee; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Special red emphasis:
|
|
||||||
*/
|
|
||||||
em.warning { color: #ff0000 }
|
|
|
@ -1,17 +0,0 @@
|
||||||
# This is the Privoxy web site.
|
|
||||||
#
|
|
||||||
# If the robot is connecting through Privoxy, then the
|
|
||||||
# control interface is at /config. It isn't very useful
|
|
||||||
# to index it, and you're likely to break stuff. So go away!
|
|
||||||
#
|
|
||||||
# Even if you're not connected through Privoxy, the
|
|
||||||
# one "Privoxy is not working" page there is not very
|
|
||||||
# interesting.
|
|
||||||
|
|
||||||
User-agent: *
|
|
||||||
Disallow: /config/
|
|
||||||
Disallow: /actions/
|
|
||||||
Disallow: /submit/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 932 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 932 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 932 B |