Junkbuster Frequently Asked Questions $Id: faq.sgml,v 1.15 2002/03/17 07:25:59 hal9 Exp $ By: Junkbuster Developers The FAQ document gives users and developers alike answers to frequently asked questions about the Internet Junkbuster. Internet Junkbuster is a web proxy with advanced filtering capabilities for protecting privacy, filtering web page content, managing cookies, controlling access, and removing ads, banners, pop-ups and other obnoxious Internet Junk. Junkbuster has a very flexible configuration and can be customized to suit individual needs and tastes. Internet Junkbuster has application for both stand-alone systems and multi-user networks. You can find the latest version of the document at http://ijbswa.sourceforge.net/faq/. Please see the Contact section in the user-manual if you want to contact the developers. Frequently Asked Questions General Information What is this new version of <application>Junkbuster</application>? The original Internet Junkbuster (tm) is a coyrighted product of Junkbusters Corporation. Development of this effort stopped some time ago as of version 2.0.2. Stefan Walherr 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 new Junkbuster started with the same code base, but has changed significantly at this point. How does it differ from the old <application>Junkbuster?</application> All the old features remain. The new Junkbuster 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. The blocklist file does not exist any more. This is replaced by actions files, such as ijb.actions. This is where most of the per site configuration is now. What are some of the new features? Integrated browser based configuration and control utility (http://i.j.b). Browser-based tracing of rule and filter effects. Blocking of annoying pop-up browser windows. HTTP/1.1 compliant (most, but not all 1.1 features are supported). Support for Perl Compatible Regular Expressions in the configuration files, and generally a more sophisticated and flexible configuration syntax over previous versions. GIF de-animation. Web page content filtering (removes banners based on size, invisible web-bugs, JavaScript, pop-ups, status bar abuse, etc.) Bypass many click-tracking scripts (avoids script redirection). Multi-threaded (POSIX and native threads). Auto-detection and re-reading of config file changes. User-customizable HTML templates (e.g. 404 error page). Improved cookie management features (e.g. session based cookies). Builds from source on most UNIX-like systems. Packages available for: Linux (RedHat, SuSE, or Debian), Windows, Sun Solaris, Mac OSX, OS/2, HP-UX 11 and AmigaOS. In addition, the configuration is much more powerful and versatile over-all. What is a <quote>proxy</quote>? How does <application>Junkbuster</application> work? When you connect to a web site with Junkbuster, you are really connecting to your locally running version of Junkbuster. Junkbuster 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 Junkbuster, where Junkbuster can work its magic before it relays this data back to your web browser. Since Junkbuster 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. Junkbuster uses various programming methods to do this, all of which is under your control via the various configuration files and options. My browser does the same things as Junkbuster. Why should I use Junkbuster at all? Modern browsers do indeed have some of the same functionality as Junkbuster. Maybe this is adequate for you. But Junkbuster is much more verstatile 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? Junkbuster 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. See http://www.gnu.org/copyleft/gpl.html for specifics. There is no warranty of any kind, expressed, implied or otherwise. That is something that would cost real money ;-) There is no registration either. Junkbuster really is free in every respect! Installation Can I install the new <application>Junkbuster</application> over the old one? We recommend you uninstall the old 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. [FIXME: This is meant for after the name change!] I just installed Junkbuster, and nothing is happening. All the ads are there. What's wrong? Did you configure your browser to use Junkbuster as a proxy? It does not sound like it. See below. You might also try flushing the browser's caches to force a full re-reading of pages. What is the proxy address of Junkbuster? If you set up the Junkbuster 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 told the Internet Junkbuster 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 Junkbuster instead of directly to the Interenet. Junkbuster 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 Junkbuster is running, or the equivalent hostname. Port assignment would be same as above. Junkbuster does not currently handle protocols such as FTP, SMTP, IM, IRC, ICQ, or other Internet protocols. Configuration Can I use my old config files? No. These will not work. You will need to re-enter your old data into the new configuration structure. What are the differences between ijb-intermediate.action, ijb-basic.action, etc.? Configuring the Internet Junkbuster is not easy. To help you get started, we provide you with three different default configurations. The following table shows you, which features are enabled in each configuration. Default Configurations Feature ijb.action ijb-basic.action ijb-intermediate.action ijb-advanced.action ad-filtering ? x x x blank image ? x x x de-animate GIFs ? x x x referer forging ? x x x jon's +no-cookies-keep (i.e. session cookies only) ? x x x no-popup windows ? x x fast redirects ? x x hide-referrer ? x x hide-useragent ? x x content-modification ? x feature-x ? feature-y ? feature-z ?
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/junkbuster hierarchy belongs to the user "junkbuster", with only 644 perms. When you use the browser-based editor, JunkBuster itself is writing to the config files. Because JunkBuster is running as the user "junkbuster", 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 JunkBuster. Note that normally only local users can connect to JunkBuster, so this is not (normally) a security problem.
Misc I noticed considerable delays in page requests compared to the old IJB. What's wrong? Using the default filtering configuration, I noticed considerable delays in page requests compared to the old IJB. Loading pages with large contents seemed to take forever, then suddenly delivering all the content at once. The whole content must be loaded in order to filter, and nothing is 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, the Internet Junkbuster needs to download the entire page first, do its content magic and then send the page to the browser. What is the "http://i.j.b/"? Since JunkBuster sits between your web browser and the Internet, it can be programmed to handle certain pages specially. With recent versions of JunkBuster (version 2.9.x), you can get some information about JunkBuster and change some settings by going to http://i.j.b/ or, equivalently, http://ijbswa.sourceforge.net/config/ (Note that i.j.b is far easier to type but may not work in some configurations). 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 JunkBuster. If you are not running JunkBuster, then http://i.j.b/ will fail, and http://ijbswa.sourceforge.net/config/ will return a web page telling you you're not running JunkBuster. 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 2.9.x). I get the message 'Bad File Descriptor', why? Fillme. How do I chain Junkbuster with other proxies (e.g. squid)? Fillme. I would like to help you, what do I do? 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. 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. Do you still maintain the blocklists? No. The format of the blocklists has changed significantly in the versions 2.9.x. Once we have released the new version, there will again be blocklists that you can update automatically. How can I submit new ads? As of now, please discontinue to submit new ad blocking infos. Once we have released the new version, there will again be a form on the website, which you can use to contribute new ads. How can I hide my IP address? You cannot hide your IP address with Junkbuster or any other software, since the server needs to know your IP address to send the answer 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 Junkbuster 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. Junkbuster can remove various information about you, and allows you more freedom to decide which sites you can trust. 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. Junkbuster 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 Junkbuster 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, Junkbuster can co-exist with other kinds of proxies like Squid. This is not a font problem. The logo is an image that is created by Junkbuster 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 imageblocker directives: pattern, blank, or a URL of your chosing. I have large empty spaces now where ads used to be. Why does Junkbuster leave these large gaps? 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 hold the various components of the page where they were intended to be. It is best left this way. Junkbuster 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 Junkbuster. On Unix-like systems, Junkbuster can run as a non-privileged user, which is how we recommend it be run. Also, by default Junkbuster only listens to requests from localhost. It is not itself directly exposed to the Internet in this configuration. If you want to have Junkbuster serve as a LAN proxy, this will have to be opened up to allow for external requests. In this case, we'd recommend that the port used by Junkbuster (default is 8118), be firewalled from outside (Internet) connections. Better safe than sorry. Troubleshooting I just upgraded and am getting <quote>connection refused</quote> with every web page? Either Junkbuster is not running, or your browser is configured for a different port than what Junkbuster is using. The old 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 Junkbuster's listen-address setting in the config file used to start Junkbuster. 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. The best thing to do is try flusing 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://ijbswa.sourceforge.net/config/show-url-info and see if any actions match your new rule. One of my favorite sites does not work with Junkbuster. What can I do? First verify that it is indeed a Junkbuster problem, by disabling Junkbuster filtering and blocking. Go to http://i.j.b/ and click on Toggle Junkbuster On or Off, then disable it. Now try that page again. If still a problem, go to Show which actions apply to a URL and why from http://i.j.b/ 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 Edit the actions list. Here you should see various sections that have various Junkbuster features disabled for specific sites. Disabled actions will have a - (minus sign) in front of them. Add your problem page URL to one of these sections that looks like it is disabling the feature that is causing the problem. Re-try the page. There might be some trial and error involved. Alternately, if you are comfortable with a text editor, you can accomplish the same thing by editing the appropriate actions file.
Known Issues Fillme. Contact the developers Please see the user manual for information on how to contact the developers. Copyright and History Please see the user manual for information on Copyright and History. See also Please see the user manual for information on references.