Banish Banner Ads with Internet Junk Buster
by Buster J. Unk
Sick of banner ads? What about browser pop-up windows? Tired of busy ad servers slowing down your web browsing? There's a solution - Internet Junk Buster. This handy program was developed by the Junk Busters
(http://www.junkbuster.com/ijb.html), an organization whose goal is to help you eliminate such annoyances. This program has been around for several years, but seems to go unnoticed by most people. I will explain where to get it, how to install it, and how to use it. The result - ad free web browsing. The best news - it's free.
How It Works
Internet Junk Buster Proxy (IJB) works as a proxy server. A proxy server allows your web browser to connect to it, instead of the web server you are trying to reach. In turn, IJB contacts the actual server you are trying to reach, retrieves the web pages and examines them for certain links to ads. If it finds an ad, it uses one or more techniques to replace that add content or to suppress it completely. Once IJB has retrieved and examined the web page, it is returned to your browser as if your browser had retrieved it from the original server.
IJB uses a concept called a "blockfile" that lists the types of URLs that are likely to contain ads. As it locates these URLs in the pages you are downloading, it either replaces them with a place holder image or removes them completely depending on the context.
One of the benefits of not loading banner and other ad related files from websites is that web pages should load quicker. Frequently, ads are retrieved from a central server that is not the same server you are requesting your page from. These central servers tend to be overloaded and are usually the slowest part of the web page. Since you won't be loading these images at all, Netscape can load and render the entire web page quicker.
You can also use IJB to control cookies. The easiest option is to have it refuse all cookies inbound and outbound. However, you can (and we will) selectively enforce these rules.
Enough on the features, let's get started!
First you must download IJB from Hobbes. The location is
Create a directory for IJB, such as JunkBusters. Unzip the contents of IJB202P.ZIP into that directory. You will want to use the -j option of UNZIP because the ZIP file includes directories that we don't really care about. For example:
[D:\JunkBuster]unzip -j p:\ftp\ijb202p
If you don't use the -j option, everything will be put in D:\JunkBuster\jb20.
Get a Blockfile
IJB does not include a default blockfile - you must seek out and download one yourself. Not to worry, plenty of people have spent countless hours crafting blockfiles and are willing to share them with you. You can go to Google
(http://www.google.com/search?q=junkbuster+blockfile&num=10) or any other search engine and use the words junkbuster and blockfile. The most comprehensive I've seen is from Neil Van Dyke
(http://www.neilvandyke.org/junkbuster-blockfile/), a graduate student at MIT.
When you download a blockfile, save it to your JunkBuster directory and name it "blockfile".
Start by editing JUNKBSTR.INI with a text editor such as EPM. Even though it ends in the .INI extension, it's a text file, not an OS/2 binary .INI file.
- On line 19, put a # character at the beginning to comment it out. That line loads the default blockfile which is really meant as an example and not a functioning blockfile.
- Now add a new line and type
(assuming you saved your blockfile as the filename BLOCKFILE.
- Save your changes to JUNKBSTR.INI
Initially we'll start IJB from a command line, but later you should create a desktop object for it. In an OS/2 window, change to the drive and directory where you unzipped IJB. Type:
It should start and just sit there. IJB is very low on the excitement scale for display information!
Configure Your Browser
In Netscape, for example, you'd:
- Select Edit, then Preferences
- Click on the plus sign next to Advanced
- Then click on Proxies below Advanced
- To the right, click on the radio button for Manual Proxy Configuration
- Then click the View button
- In the HTTP field type
- And in the Port field type
- Click OK, and then OK again.
Your browser is now configured to make all of its requests to IJB.
Take It for a Spin
Try loading a web page. If nothing loads at all, either IJB is not really running or you made a typo in the Netscape settings. Otherwise, most pages will load like normal.
Here's a typical Yahoo page with a banner ad
Go to a web page with banner ads, for example
http://dailynews.yahoo.com/. Notice where the ad is normally positioned, you'll either find a missing image or a place holder image from IJB.
With Internet Junk Buster, the image for the ad is missing
Whether you get a missing image or a place holder image with IJB depends on how the web page is constructed. As you continue to browse the web, you'll notice less pop-up windows, virtually no banner ads, and quicker loading pages. If any of these problems do persist, you can invest the time to learn how to modify the blockfile.
Exploring Other Features
IJB has other options that make it even more useful. By default, IJB is blocking all cookies in and out. You may want to selectively enable cookies for certain sites, or to only return cookies but not allow new cookies to be set. Maybe you have more than one computer on a network (including Windows). With IJB, you can run it on one computer and configure the others to retrieve web pages through the single copy of IJB. Maybe you want to keep track of what sites your children or employees are visiting. IJB can log all of its requests for you. Let's tackle each of these options.
A quick cookie primer: Cookies are a way for websites to store information in your browser relating to their website. It might be your userid, it might be the last time you visited the site (scoug.com does this) so they can show you what is new. In general, cookies are a good thing. However, cookies can also be used to track what pages you visit within a website. For example, Amazon.com uses them to track your interests and create a profile of your browsing and buying habits.
Some sites require cookies, some sites are easier to use with cookies, some people hate all cookies, some people could care less. IJB is a tool to match your needs and desires.
Start by editing SCOOKIE.INI in EPM or another text editor. There are four types of lines that belong in this file. Lines beginning with # are comments and ignored. If you want to enable all cookies for a given domain, you would simply list that domain (for example, yahoo.com). If you want to allow cookies to be sent, but not received, preceed the domain with the > character. If you want the opposite - cookies to be set but not sent out (not that useful), use the < character. For example:
#My scookie.ini file
The above lines would allow all cookies for scoug.com, outgoing cookies for yahoo.com and incoming cookies for google.com.
Another interesting option is located in JUNKBSTR.INI. On line 36 is a file named jarfile. If you uncomment this line, all cookies will be stored into the file named. This is an interesting exercise to see all of the cookies being set and retrieved. If you're really bananas about cookies, IJB has a feature called Wafers. Basically fake cookies that let you send a message to the websites asking for cookies.
Many of us have two or more computers set up on a LAN at home. One of the nice things about IJB is that it is designed to support more than the computer it's running on. The first step is to change the way IJB listens for connections. By default, it listens only to requests from your computer. Edit JUNKBSTR.INI and around line 88 is a commented out line like:
Remove the comment character from it and restart IJB. Now IJB will accept requests from all computers.
Next we have to change the web browser and any other web browsers that should get their web pages through IJB. Just like before, go to Edit->Preferences, Advanced, Proxies, Manual Proxy Configuration. Instead of 127.0.0.1, you'll need to use the real IP address of your machine. Leave the port 8000 from before. After making the changes on the computer IJB is installed on, test your web browser before making changes on other computers. The other computers don't have to be running OS/2 - they can be any operating system.
A word of caution: If the machine that is running IJB is the same machine that provides your Internet connection, your proxy services are now open to the outside world as well. There is a more advanced feature of IJB called an ACL that can help restrict others from using your proxy. For more information see
The best scenario would be to have IJB behind a firewall. For information on how that would work, check out SCOUG's Network SIG.
While not a substitute for monitoring your children's use of the computer, it may be useful to log all activity that goes through IJB. In JUNKBSTR.INI:
There are other options for the debug command, but I'll leave those for you to explore. As IJB handles requests from web browsers, it will log the URL requested as well as the action taken.
- Uncomment the line "logfile"
- If you wish, replace the second word logfile with a better file name such as REQUESTS.LOG
- At the bottom of JUNKBSTR.INI, add a line "debug 1" - this tells IJB to log all requests
As you make any of the changes described above, you'll need to first stop and then restart IJB. You can simply close the window or press Control-C to terminate it. When you restart it, it takes a few seconds to completely initialize, so have patience if it doesn't look like it's working at all after your last change.
IJB takes some of the annoyance and frustration out of web browsing. With free software that protects your anonymity and improves your web browsing, how can you go wrong?
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group. ALL RIGHTS
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International
Business Machines Corporation.
All other trademarks remain the property of their respective owners.