Selecting "View Hit Counts" from the "View" menu will display a tabbed dialog listing, for each filter list category, either how many times each filter pattern has been used, when it was last used and the last URL that was filtered by it, or, optionally, a list of the most recently filtered URLs, when it was last filtered and the filter pattern that last filtered it, depending on which radio button is selected. I hope to eventually provide more detailed statistics and the ability to print reports in the near future, so keep an eye out for major enhancements to this feature in upcoming versions:
AdCruncher™ Proxy has, as a debugging aid, the ability to 'log' everything it does to a log file. This log file is designed to help me determine what, if anything, went wrong in those situations where you feel AdCruncher™ is not behaving properly.
The "Logging" tab of the "Proxy Properties" dialog has two sections: "Disk" and "Memory":
The "Disk" section controls the actual writing of log information to a disk file, whereas the "Memory" section controls the quick "Log View" feature (explained further below).
If the disk option is enabled, AdCruncher™ will write detailed debugging information to a wrap-around log file as it runs. Quite a bit of information is written to this file so it is very important to include this file along with any bug reports you send me.[*]
* if the problem is a crash, be sure to also send me the .rpt file; see the "Exceptions" section further below for more information on the .rpt file.
As stated, this file is a 'wrap-around' log file in order to prevent your hard drive from filling up. When the configured maximum number of lines is reached, it starts over again from the beginning of the file. Thus, this file will grow only so big and never any bigger. The default is 5,000 lines and should be sufficient for most cases (although setting it to the 10,000 line maximum just to be safe wouldn't hurt. A 10,000 line log file only consumes approximately 650K of disk space).
The "Flush buffers after every write" option asks the operating system to ensure the log file contains an exact record of what AdCruncher™ writes to it. Nornmally the operating system, for efficiency, doesn't immediately write the log information to disk right away and instead holds onto it until its internal buffers are full. Only when its internal buffers are full does it actually get written out to disk. Under normal situations this is not a problem and is indeed the preferred operating behavior (as it's more efficient since the system doesn't have to access to hard drive as often).
The only time this automatic operating system buffering could conceivably be a problem is when the system crashes before it has a chance to write its internal buffers out to disk. When this happens the log file ends up not containing the most recent logfile records since they were still sitting in the system's internal buffers when it crashed. Checking the "Flush buffers after every write" option prevents this from happening by forcing the operating system to always write its internal buffers out to disk each time a new log record is written, thus ensuring the disk file always contains the most recent log records written to it.
Under normal situations you can leave this option cleared in order to reduce disk activity. But if your system crashes a lot, you might consider checking this option to ensure the log file is completely accurate.
The "Memory" section instructs AdCruncher™ to keep an in-core copy of the most recently written logfile records for quick viewing. With this feature enabled, you can view the most recent logfile records by selecting the "View Log File" menu selection from the "View" menu:
The "Logging" tab of the "Proxy Properties" dialog controls this feature. Check the "Enable memory buffer for quick logfile viewing" option to enable this feature and enter a value for the maximum number of logfile records you want to be able to view.
AdCruncher™ Proxy now has the ability to 'chain' to other proxies or firewalls. This "Cascaded Proxying" (or proxy chaining) feature allows AdCruncher™ to seemlessly integrate itself with other proxy or firewall products that you may already have running on your system.
What the Cascaded Proxying feature basically provides is the ability to have AdCruncher™ route all requests to another proxy (or firewall), thereby 'chaining' itself to this other product. By selecting the "Connect through a cascaded proxy server" Connection option on the Settings tab of the Proxy Properties dialog and entering the appropriate name and port number, you tell AdCruncher™ to use that as its "gateway" to the World Wide Web. (A 'gateway' is simply the IP number that TCP/IP should route outbound packets to so they can reach their desired destination.)
As a real world example for how to use this feature, a friend of mine uses a firewall product as protection from outside intruders between him and the Internet. The product runs on the same system that has the modem and dials into his ISP. The firewall is configured for port 8888 and thus, in order to use it, his browser would need to be configured to go through a 'proxy' at localhost:8888. (You can think of firewalls as a sort of specialized 'security conscious' proxy; that's not strictly true of course, but it's close enough for the purpose of our discussion)
But doing so bypasses AdCruncher™ altogether (which is configured to accept connections on localhost:8080). In this configuration, he would indeed get the benefits of the added security the firewall provides, but at the expense of having to put up with banner ads in order to get it (since he'd be bypassing AdCruncher™).
On the other hand, if he configures his browser to use localhost:8080 as his proxy, then while banner ads would indeed be filtered, he would then lose all the protection that his firewall product would otherwise provide.
So what's a person to do? Answer: simply define localhost:8888 as the gateway for AdCruncher™ to use in order to reach the Internet!
All he does is select the "Connect through a cascaded proxy server" connection option on the "Settings" tab of the "Proxy Properties" dialog and enter "localhost" (or 127.0.0.1) for the name and '8888' for the port:
His browser remains configured as is was before (to use a proxy at localhost port 8080) and still sends its request to AdCruncher™ whenever it needs to access a web page (just like it did before), but now instead of AdCruncher™ trying to access the web page directly itself, it instead simply passes the request on to the firewall product by connecting to localhost on port 8888 and sending its HTTP request there.
Since his firewall product is configured to listen for connections on localhost port 8888, it then receives AdCruncher's request and handles it as it feels is appropriate before accessing the web itself. Then, when the response comes back to the firewall from the web, it simply passes it back top AdCruncher™ which then passes it back to the browser!
Thus, by using AdCruncher™'s "Cascaded Proxy Chaining" (or "gatewaying") feature, he gets the benefit of being able to use both his firewall product and AdCruncher™ Proxy at the same time. The two of them are working together to accomplish their respective goals!
The current version of AdCruncher™ Proxy appears to be extremely stable, and I honestly feel the chance of it crashing on you are quite slim. (In fact, I've been personally using the new 2.5.x version for over a year now without it crashing even once! That's stability!)
Nonetheless, exceptions are pretty much a fact of life in programming. No matter how hard you try to cover every situation, there occasionally arises a situation that you missed that causes your program to crash.
If the proxy crashes, nothing bad should result, so don't freak out of it does happen to occur. It shouldn't take your system down or lock it up or anything like that. If it crashes, just start it up again, and then please, for goodness sake, let me know about it! (I can hardly fix problems I don't know about after all!)
Note: When you do contact be about a crash, please be sure to send me, in addition to your log file, a copy of the .RPT file that should be created in the same folder AdCruncher™ is executing out of.This file -- which will have the same name as the .exe file (but with a .RPT extension) -- should contain crash information that should tell me exactly where in my program the crash occurred.
So if a crash occurs, please send me both the .RPT file and the corresponding log file.
Thanks. :)
softdevlabs.com