]>
Privoxy Frequently Asked Questions $Id: faq.sgml,v 1.51 2002/04/26 17:24:31 swa Exp $ By: Privoxy Developers 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 ]]> This FAQ gives users and developers alike answers to frequently asked questions about Privoxy . Test of text doc only. ]]> &p-intro; You can find the latest version of the document at http://www.privoxy.org/faq/. Please see the Contact section if you want to contact the developers. General Information What is this new version of <application>Privoxy</application>? The original Internet Junkbuster (tm) is a copyrighted product of Junkbusters Corporation. Development of this effort stopped some time ago as of version 2.0.2. Stefan Waldherr started the ijbswa project on Sourceforge to rekindle development. Other developers subsequently joined with Stefan, and have since added many new features, refinements and enhancements. The result of this effort is Privoxy. Privoxy has evolved from the Junkbuster 2.0.2 code base, and has advanced significantly at this point. Please see the History section for more information on the history of Junkbuster and Privoxy. Why <quote>Privoxy</quote>? Why a name change at all? Privoxy is the Privacy Enhancing Proxy. There are potential legal complications from the continued use of the Junkbuster name, which is a registered trademark of Junkbusters Corporation. And thus they own the rights to the name. (There are, however, no objections from Junkbusters Corporation to the Privoxy project itself, and they, in fact, still share our ideals and goals.) The developers also believed that there are so many changes from the original code, that it was time to make a clean break from the past and make a name in their own right. How does <application>Privoxy</application> differ from the old <application>Junkbuster?</application> Privoxy picks up where Junkbuster left off. All the old features remain. The new Privoxy still blocks ads and banners, still manages cookies, and still helps protect your privacy. But, these are all enhanced, and many new features have been added, all in the same vein. The configuration has changed significantly as well. This is something that users will notice right off the bat if you are upgrading from Junkbuster 2.0.x. The blocklist file does not exist any more. This is replaced by actions files, such as default.actions. This is where most of the per site configuration is now. What are some of the new features? &newfeatures; What is a <quote>proxy</quote>? How does <application>Privoxy</application> work? When you connect to a web site with Privoxy, you are really connecting to your locally running version of Privoxy. Privoxy intercepts your requests for the web page, and relays that to the real web site. The web site sends the HTTP data stream back to Privoxy, where Privoxy can work its magic before it relays this data back to your web browser. Since Privoxy sits between you and the WWW, it is in a position to intercept and completely manage all web traffic and HTTP content before it gets to your browser. Privoxy uses various programming methods to do this, all of which is under your control via the various configuration files and options. There are many kinds of proxies. Privoxy best fits the filtering proxy category. How does <application>Privoxy</application> know what is an ad, and what is not? Privoxy processes all the raw content of every web page. So it reads everything on each page. It then compares this to the rules as set up in the configuration files, and looks for any matches to these rules. Privoxy makes heavy use of regular expressions. (If you are not familiar with regular expressions, it is explained briefly in the user manual.) Regular expressions facilitate matching of one text string against another, using wildcards to build complex patterns. So Privoxy will typically look for URLs and other content that match certain key words and expressions as defined in the configuration files. For instance a URL that contains /banners, has a high probability of containing ad banners, and thus would be a prime candidate to have a matching rule. So Privoxy will look for these kinds of obvious looking culprits. And also, will use lists of known organizations that specialize in ads. Again, using complex patterns to match as many potential combinations as possible since there tend to be many, many variations used by advertisers, and new ones are being introduced all the time. Can <application>Privoxy</application> make mistakes? This does not sound very scientific. Actually, it's a black art ;-) And yes, it is always possible to have a broad rule accidentally block something by mistake. There is a good chance you may run into such a situation at some point. It is tricky writing rules to cover every conceivable possibility, and not occasionally get false positives. But this should not be a big concern since the Privoxy configuration is very flexible, and includes tools to help identify these types of situations so they can be addressed as needed, allowing you to customize your installation. (See the Troubleshooting section below.) My browser does the same things as <application>Privoxy</application>. Why should I use <application>Privoxy</application> at all? Modern browsers do indeed have some of the same functionality as Privoxy. Maybe this is adequate for you. But Privoxy is much more versatile and powerful, and can do a number of things that browsers just can't. In addition, a proxy is good choice if you use multiple browsers, or have a LAN with multiple computers. This way all the configuration is in one place, and you don't have to maintain a similar configuration for possibly many browsers. Is there is a license or fee? What about a warranty? Registration? Privoxy is licensed under the GNU General Public License (GPL). It is free to use, copy, modify or distribute as you wish under the terms of this license. Please see the Copyright section for more information on the license and copyright. There is no warranty of any kind, expressed, implied or otherwise. That is something that would cost real money ;-) There is no registration either. Privoxy really is free in every respect! I would like to help you, what do I do? Money Money Money We, of course, welcome donations and use the money for domain registering, regular world-wide get-togethers (hahaha). Anyway, we'll soon describe the process how to donate money to the team. You want to work with us? Well, helping the team is always a good idea. We welcome new developers, RPM gurus or documentation makers. Simply get an account on sourceforge.net and mail your id to the developer mailing list. Then read the section Quickstart in the Developer's Manual. Once we have added you to the team, you'll have write access to the CVS repository, and together we'll find a suitable task for you. Installation Which browsers are supported by <application>Privoxy</application>? Any browser that can be configured to use a proxy, which should be virtually all browsers. Direct browser support is not necessary since Privoxy runs as a separate application and just exchanges standard HTML data with your browser, just like a web server does. Which operating systems are supported? &supported; Can I install <application>Privoxy</application> over <application>Junkbuster</application>? We recommend you uninstall Junkbuster first to minimize conflicts and confusion. You may want to save your old configuration files for future reference. The configuration is substantially changed. See the user-manual for platform specific installation instructions. Note: Some installers may automatically uninstall Junkbuster, if present! I just installed <application>Privoxy</application>. Is there anything special I have to do now? All browsers must be told to use Privoxy as a proxy by specifying the correct proxy address and port number in the appropriate configuration area for the browser. See below. Also, you should flush your browser's memory and disk cache to get rid of any cached items. What is the proxy address of <application>Privoxy</application>? If you set up the Privoxy 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 localhost (which is the special name used by every computer on the Internet to refer to itself) and the port will be 8118 (unless you have Privoxy to run on a different port with the listen-address config option). When configuring your browser's proxy settings you typically enter the word localhost in the boxes next to HTTP and Secure (HTTPS) and then the number 8118 for port. This tells your browser to send all web requests to Privoxy instead of directly to the Internet. Privoxy 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 Privoxy is running, or the equivalent hostname. Port assignment would be same as above. Privoxy does not currently handle protocols such as FTP, SMTP, IM, IRC, ICQ, or other Internet protocols. I just installed <application>Privoxy</application>, and nothing is happening. All the ads are there. What's wrong? Did you configure your browser to use Privoxy 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 Privoxy is running, and your browser is correctly configured by entering the special URL: http://p.p/. This should give you a banner that says This is Privoxy and access to Privoxy's internal configuration. If you see this, then you are good to go. If not, the browser or Privoxy are not set up correctly. Configuration Can I use my old config files? There are major changes to Junkbuster/ Privoxy configuration from version 2.0.x to 2.9.x and later. Most of the older files will not work at all. This is especially true of blocklist. If this is the case, you will need to re-enter your old data into the new configuration structure. This is probably also a good recommendation even if upgrading from 2.9.x to 3.x since there were many minor changes along the way. What is an <quote>actions</quote> file? actions files are where various actions that Privoxy might take, are configured. Typically, you would define a set of default actions that apply to all URLs, then add exceptions to these defaults where needed. Actions can be defined on a per site basis, or for groups of sites. Actions can also be grouped together and then applied to one or more sites. There are many possible actions that might apply to any given site. As an example, if we are blocking cookies as one of our default actions, but need to accept cookies from a given site, we would define this in our actions file. The <quote>actions</quote> concept confuses me. Please list some of these <quote>actions</quote>. These are all explained in the user-manual. Please refer to that. How are actions files configured? What is the easiest way to do this? The easiest way to do this, is to access Privoxy with your web browser at http://p.p/, and then select "View & change the current configuration" from the selection list. You can also do this by editing the appropriate file with a text editor. Please see the user-manual for a detailed explanation of these and other configuration files, and their various options and syntax. There are several different <quote>actions</quote> files. What are the differences? As of Privoxy v2.9.15, three actions files are being included, to be used for different purposes. These are default.action, standard.action, and user.action. Please see the User Manual for an explanation of each. Earlier versions included three different versions default.action files. The new scheme allows for greater flexibility of local configuration, and for browser based configuration. Why can I change the configuration with a browser? Does that not raise security issues? What I don't understand, is how I can browser edit the config file as a regular user, while the whole /etc/privoxy hierarchy belongs to the user privoxy, with only 644 permissions. When you use the browser-based editor, Privoxy itself is writing to the config files. Because Privoxy is running as the user privoxy, it can update the config files. If you don't like this, setting enable-edit-actions 0 in the config file will disable the browser-based editor. If you're that paranoid, you should also consider setting enable-remote-toggle 0 to prevent browser-based enabling/disabling of Privoxy. Note that normally only local users can connect to Privoxy, so this is not (normally) a security problem. What is <quote>default.filter</quote>? The default.filter file is where filters are defined, which are used to filter any web page content. By filtering we mean it can modify, remove, or change anything on the page, including HTML tags, and JavaScript. Regular expressions are used to accomplish this, and operate on a line by line basis. This is potentially a very powerful feature, but requires some expertise. If you are familiar with regular expressions, and HTML, you can look at the provided default.filter with a text editor and see some of things it can be used for. Presently, there is no GUI editor option for this part of the configuration, but you can disable/enable various sections of the included default file with the View & change the current configuration from your browser. How can I set up <application>Privoxy</application> to act as a proxy for my LAN? By default, Privoxy only responds to requests from localhost. To have it act as a server for a network, this needs to be changed in the main config file where the Privoxy configuration is located. In that file is a listen-address option. It may be commented out with a # symbol. Make sure it is uncommented, and assign it the address of the LAN gateway interface, and port number to use: listen-address 192.168.1.1:8118 Save the file, and restart Privoxy. Configure all browsers on the network then to use this address and port number. Instead of ads, now I get a checkerboard pattern. I don't want to see anything. This is a configuration option for images that Privoxy is stopping. You have the choice of a checkerboard pattern, a transparent 1x1 GIF image (aka blank), or a custom URL of your choice. Note that to fit this category, the URL must match both the +handle-as-image and +block actions. If you want to see nothing, then change the +set-image-blocker action to +image-blocker{blank}. This can be done from the View & change the current configuration selection at http://p.p/. Or by hand editing the appropriate actions file. This will only effect what is defined as images though. Also, some URLs that generate the bright red Blocked banner, can be moved to the +set-image-blocker section for the same reason, but there are some limits and risks to this (see below). Why would anybody want to see a checkerboard pattern? This can be helpful for troubleshooting problems. It might also be good for anyone new to Privoxy so that they can see if their favorite pages are displaying correctly, and Privoxy is not inadvertently removing something important. I see large red banners on some pages that say <quote>Blocked</quote>. Why and how do I get rid of this? These are URLs that match something in one of Privoxy's block actions (+block). It is meant to be a warning so that you know something has been blocked and an easy way for you to see why. These are handled differently than what has been defined explicitly as images (e.g. ads that are GIF image files). Depending on the URL itself, it is sometimes hard for Privoxy to really know whether there is indeed an ad image there or not. And there are limitations as to what Privoxy can do to fool the browser. For instance, if the ad is in a frame, then it is embedded in the separate HTML page used for the frame. In this case, you cannot just substitute an aribitrary image (like we would for a blank image), for an HTML page. The browser is expecting an HTML page, and that is what it must have for frames. Such situations can be a little trickier to deal with, and Privoxy may show the Blocked page, despite your best efforts. If you want these to be treated as if they were images, so that they can be made invisible, you can try moving the offending URL from the +block section to the +imageblock section of your actions file. Just be forewarned, if any URL is made invisible, you may not have any inkling that something has been removed from that page, or why. If this approach does not work, then you are probably dealing with a frame (or ilayer), and the only thing that can go there is an HTML page of some sort. To deal with this situation, you could modify the block HTML template that is used by Privoxy to display this, and make it something more to your liking. Currently, there is no configuration option for this. You will have to modify, or create your own page, and use this to replace templates/blocked, which is what Privoxy uses to display the Blocked page. Another way to deal with this is find why and where Privoxy is blocking the frame, and diable this. Then let the +set-image-blocker action handle the ad that is embedded in the frame's HTML page. I cannot see all of the <quote>Blocked</quote> page banner. Help. There is not enough available space to fit the entire Blocked page. Try right clicking on the visible portion, and select Show Frame, or equivalent. This will usually allow you to see the entire Privoxy Blocked page, and from there you can see just what is being blocked, and why. As of Privoxy 2.9.14, the Blocked banner page is re-sizeable, and tries to adjust to the allotted space. There may be occassions where there just isn't enough room to display much of anything useful though. Can <application>Privoxy</application> run as a service on Win2K/NT? Yes, it can run as a system service using srvany.exe. The only catch is that this will effectively disable the Privoxy icon in the taskbar. You can have one or the other, but not both at this time :( There is a pending feature request for this functionality. See thread: http://sourceforge.net/tracker/?func=detail&atid=361118&aid=485617&group_id=11118, for details, and a sample configuration. How can I make <application>Privoxy</application> work with other proxies like <application>Squid</application>? This can be done. See the user manual, which describes how to do this. Miscellaneous How much does <application>Privoxy</application> slow my browsing down? This has to add extra time to browsing. It should not slow you down any in real terms, and may actually help speed things up since ads, banners and other junk are not being displayed. The actual processing time required by Privoxy itself for each page, is relatively small in the overall scheme of things, and happens very quickly. This is typically more than offset by time saved not downloading and rendering ad images. Filtering via the filterfile mechanism may cause a perceived slowdown, since the entire page is buffered before displaying. See below. I noticed considerable delays in page requests compared to the old Junkbuster. What's wrong? The entire page content must be loaded into memory in order for the filtering mechanism to work, and nothing is sent to the browser during this time. The loading time does not really change in real numbers, but the feeling is different, because most browsers are able to start rendering incomplete content, giving the user a feeling of "it works". To modify the content of a page (i.e. make frames resizeable again, etc.) and not just replace ads, Privoxy needs to download the entire page first, do its content magic and then send the page to the browser. What is the "http://p.p/"? Since Privoxy sits between your web browser and the Internet, it can be programmed to handle certain pages specially. With recent versions of Privoxy (version 2.9.x and greater), you can get some information about Privoxy and change some settings by going to http://p.p/ or, equivalently, http://config.privoxy.org/ (Note that p.p is far easier to type but may not work in some configurations. With the name change to Privoxy, this is changed from the previous http://i.j.b/ and earlier 2.9.x versions). These pages are not forwarded to a server on the Internet - instead they are handled by a special web server which is built in to Privoxy. If you are not running Privoxy, then http://p.p/ will fail, and http://config.privoxy.org/ will return a web page telling you you're not running Privoxy. If you have version 2.0.2, then the equivalent is http://example.com/show-proxy-args (but you get far less information, and you should really consider upgrading to &p-version;). Do you still maintain the blocklists? No, not by this name. The format of the blocklists has changed significantly in versions 2.9.x and later. This functionality is done by the actions file now. See next question ... How can I submit new ads? Please see the Contact section. This process does not work with earlier versions of Privoxy or Junkbuster. How can I hide my IP address? You cannot hide your IP address with Privoxy or any other software, since the server needs to know your IP address to send the answers back to you. Fortunately there are many publicly usable anonymous proxies out there, which solve the problem by providing a further level of indirection between you and the web server, shared by many people and thus letting your requests "drown" in white noise of unrelated requests as far as user tracking is concerned. Most of them will, however, log your IP address and make it available to the authorities in case you abuse that anonymity for criminal purposes. In fact you can't even rule out that some of them only exist to *collect* information on (those suspicious) people with a more than average preference for privacy. You can find a list of anonymous public proxies at multiproxy.org and many more through Google. Can <application>Privoxy</application> guarantee I am anonymous? No. Your chances of remaining anonymous are greatly improved, but unless you are an expert on Internet security it would be safest to assume that everything you do on the Web can be traced back to you. Privoxy can remove various information about you, and allows you more freedom to decide which sites you can trust, and what details you want to reveal. But it's still possible that web sites can find out who you are. Here's one way this can happen. A few browsers disclose the user's email address in certain situations, such as when transferring a file by FTP. Privoxy does not filter FTP. If you need this feature, or are concerned about the mail handler of your browser disclosing your email address, you might consider products such as NSClean. Browsers available only as binaries could use non-standard headers to give out any information they can have access to: see the manufacturer's license agreement. It's impossible to anticipate and prevent every breach of privacy that might occur. The professionally paranoid prefer browsers available as source code, because anticipating their behavior is easier. Trust the source, Luke! Might some things break because header information is being altered? Definitely. More and more sites use HTTP header content to decide what to display and how to display it. There is many ways that this can be handled, so having hard and fast rules, is tricky. USER AGENT in particular is often used in this way to identify the browser, and adjust content accordingly. Changing this now is not recommended, since so many sites do look for this. You may get undesirable results by changing this. For instance, different browsers use different encodings of Russian and Czech characters, certain web servers convert pages on-the-fly according to the User Agent header. Giving a User Agent with the wrong operating system or browser manufacturer causes some sites in these languages to be garbled; Surfers to Eastern European sites should change it to something closer. And then some page access counters work by looking at the REFERER header; they may fail or break if unavailable. The weather maps of Intellicast have been blocked by their server when no REFERER or cookie is provided, is another example. There are many, many other ways things can go wrong when trying to fool a web server. If you have problems with a site, you will have to adjust your configuration accordingly. Cookies are probably the most likely adjustment that may be required, but by no means the only one. Can <application>Privoxy</application> act as a <quote>caching</quote> proxy to speed up web browsing? No, it does not have this ability at all. You want something like Squid for this. And, yes, before you ask, Privoxy can co-exist with other kinds of proxies like Squid. What about as a firewall? Can <application>Privoxy</application> protect me? Not in the way you mean, or in the way a true firewall can, or a proxy that has this specific capability. Privoxy can help protect your privacy, but not really protect you from intrusion attempts. This is not a font problem. The logo is an image that is created by Privoxy on the fly. So as to not waste memory, the image is rather small. The blockiness comes when the image is scaled to fill a largish area. There is not much to be done about this, other than to use one of the other imageblock directives: pattern, blank, or a URL of your choosing. Given the above problem, we have decided to remove the logo option entirely [as of v2.9.13]. I have large empty spaces now where ads used to be. Why? It would be easy enough to just eliminate this space altogether, rather than fill it with blank space. But, this would create problems with many pages that use the overall size of the ad to help organize the page layout and position the various components of the page where they were intended to be. It is best left this way. How can <application>Privoxy</application> filter Secure (HTTPS) URLs? This is a limitation since HTTPS transactions are encrypted SSL sessions between your browser and the secure site, and are meant to be reliably secure and private. This means that all cookies and HTTP header information are also encrypted from the time they leave your browser, to the site, and vice versa. Privoxy does not try to unencrypt this information, so it just passes through as is. Privoxy can still catch images and ads that are embedded in the SSL stream though. <application>Privoxy</application> runs as a <quote>server</quote>. How secure is it? Do I need to take any special precautions? There are no known exploits that might effect Privoxy. On Unix-like systems, Privoxy can run as a non-privileged user, which is how we recommend it be run. Also, by default Privoxy only listens to requests from localhost. The server aspect of Privoxy is not itself directly exposed to the Internet in this configuration. If you want to have Privoxy serve as a LAN proxy, this will have to be opened up to allow for LAN requests. In this case, we'd recommend you specify only the LAN gateway address, e.g. 192.168.1.1, in the main Privoxy config file. All LAN hosts can then use this as their proxy address in the browser proxy configuration. In this way, Privoxy will not listen on any external ports. Of course, a firewall is always good too. Better safe than sorry. How can I temporarily disable <application>Privoxy</application>? The easiest way is to access Privoxy with your browser by using the special URL: http://p.p/ and select "Toggle Privoxy on or off" from that page. Where can I find more information about <application>Privoxy</application> and related issues? &seealso; Troubleshooting I just upgraded and am getting <quote>connection refused</quote> with every web page? Either Privoxy is not running, or your browser is configured for a different port than what Privoxy is using. The old Privoxy (and also Junkbuster) used port 8000 by default. This has been changed to port 8118 now, due to a conflict with NAS (Network Audio Service), which uses port 8000. If you haven't, you need to change your browser to the new port number, or alternately change Privoxy's listen-address setting in the config file used to start Privoxy. I just added a new rule, but the steenkin ad is still getting through. How? If the ad had been displayed before you added its URL, it will probably be held in the browser's cache for some time, so it will be displayed without the need for any request to the server, and Privoxy will not be in the picture. The best thing to do is try flushing the browser's caches. And then try again. If this doesn't help, you probably have an error in the rule you applied. Try pasting the full URL of the offending ad into http://config.privoxy.org/show-url-info and see if any actions match your new rule. One of my favorite sites does not work with <application>Privoxy</application>. What can I do? First verify that it is indeed a Privoxy problem, by disabling Privoxy filtering and blocking. Go to http://p.p/ and click on Toggle Privoxy On or Off, then disable it. Now try that page again. It's probably a good idea to flush the browser cache as well with Shift+Reload to flush caches. If still a problem, go to Show which actions apply to a URL and why from http://p.p/ and paste the full URL of the page in question into the prompt. See which actions are being applied to the URL. Now, armed with this information, go to View & change the current configuration. Here you should see various sections that have various Privoxy features disabled for specific sites. Most disabled actions will have a - (minus sign) in front of them. Some aliases are used just to disable other actions, e.g. shop and fragile, and won't necessarily use a + or - sign. Add your problem page URL to one of these sections that looks like it is disabling the feature that is causing the problem. Rember to flush your browser's caches when making such changes! As a last resort, try fragile which disables most actions. Now re-try the page. There might be some trial and error involved. This is discussed in more detail in the user-manual appendix. Alternately, if you are comfortable with a text editor, you can accomplish the same thing by editing the appropriate actions file. Contacting the developers, Bug Reporting and Feature Requests &contacting; Copyright and History Copyright ©right; History &history;