RabbIT

Software Screenshot:
RabbIT
Software Details:
Version: 4.11
Upload Date: 15 Apr 15
Developer: Ernimril
Distribution Type: Freeware
Downloads: 24

Rating: 3.5/5 (Total Votes: 2)

RabbIT is a proxy for HTTP, it is HTTP/1.1 compliant (testing being done with Co-Advisors test, http://coad.measurement-factory.com/) and should hopefully support the latest HTTP/x.x in the future. RabbIT's main goal is to speed up surfing over slow links by removing unnecessary parts (like background images) while still showing the page mostly like it is. For example, we try not to ruin the page layout completely when we remove unwanted advertising banners. The page may sometimes even look better after filtering as you get rid of pointless animated gif images.

Since filtering the pages is a "heavy" process, RabbIT caches the pages it filters but still tries to respect cache control headers and the old style "pragma: no-cache". RabbIT also accepts request for nonfiltered pages by prepending "noproxy" to the adress (like http://noproxy.www.altavista.com/). Optionally, a link to the unfiltered page can be inserted at the top of each page automatically.

RabbIT is developed and tested under Solaris and Linux. Since the whole package is written in java, the basic proxy should run on any plattform that supports java. Image processing is done by an external program and the recomended program is convert (found in ImageMagick). RabbIT can of course be run without image processing enabled, but then you lose a lot of the time savings it gives.

RabbIT works best if it is run on a computer with a fast link (typically your ISP). Since every large image is compressed before it is sent from the ISP to you, surfing becomes much faster at the price of some decrease in image quality. If some parts of the page are already cached by the proxy, the speedup will often be quite amazing. For 1275 random images only 22% (2974108 bytes out of a total of 13402112) were sent to the client. That is 17 minutes instead of 75 using 28.8 modem.

RabbIT works by modifying the pages you visit so that your browser never sees the advertising images, it only sees one fixed image tag (that image is cached in the browser the first time it is downloaded, so sequential requests for it is made from the browsers cache, giving a nice speedup). For images RabbIT fetches the image and run it through a processor giving a low quality jpeg instead of the animated gif-image. This image is very much smaller and download of it should be quick even over a slow link (modem).

Features:

  • Compress text pages to gzip streams. This reduces size by up to 75%
  • Compress images to 10% jpeg. This reduces size by up to 95%
  • Remove advertising
  • Remove background images
  • Cache filtered pages and images
  • Uses keepalive if possible
  • Easy and powerful configuration
  • Multi threaded solution written in java
  • Modular and easily extended
  • Complete HTTP/1.1 compliance

What is new in this release:

  • Cleanup of the request logging.
  • Make sure that logging is done off the selector threads so that we can call external loggers.
  • Added configurable traffic usage loggers so that it is easy to log user network traffic usage.
  • Extracted cache configuration to its own interface and moved the ncache implementation to its own package.
  • The CacheEntry interface was cleaned up so that it is easier to implement and easier to use, some methods that were only for internal usage were removed.
  • More fixes for http headers reading, when the header has been split into many different blocks on the network.

What is new in version 4.9:

  • Added a jndi context for database resources. Made it easier to use external classes for databases by adding custom class loading. Stopped using TCP_NO_DELAY. Fixed a problem that caused RequestLineTooLongException to be thrown in some rare cases. Much updates of the javadoc. Added a filter that blocks sites using a sql database table of hosts. Update the rnio library.

What is new in version 4.8:

  • Big javadoc update. Add support for filtering of connect requests. Fixed the problem where the log file got filled with IllegalStateException when repack was on. Handle character encodings and http header content better. Handle semi transparent images better when using the java based image converter. Updated dnsjava to 2.1.0. Shorten the log from "Connection reset by peer". Added addresses to SSLHandlers logs.

What is new in version 4.7:

  • Fixed the problem 401 and 407 responses when using FileTemplateHttpGeneratorFactory. Added a proxy chain selector to make it it possible to use different connections strategies depending on the request uri. Made it possible to specify a ProxyChainFactory in rabbit.conf. Added a ProxyChainFactory that uses direct access to internal networks and uses a chained proxy for external access. Made sure that the ant based build got valid Main-Class and a Class-Path entries and that the Help.txt was included in the jar. Updated ant javadoc task so that it uses the same arguments as the Makefile. Fixed many trivial issues flagged by idea. A lot of javadoc was added or updated. Made sure that http header read buffers are expanded once before throwing the 414 request too long response. Fixed a problem with reading pipelined requests. Removed the clientHandler from the different handlers since they did not and must not use it.

What is new in version 4.6:

  • Reading a broken cache index now results in an empty cache instead of a cache with no files, but a big size. Made it possible to configure what HttpGenerator to use. ImageHandler now detects and unpacks images that have a content encoding set to gzip. Added a http generator that uses a directory of template pages for the actual error pages (like 400, 504, ...). Some minor code cleanup in cache.

What is new in version 4.5:

  • Created rnio as a separate project out of the rabbit.nio package and made rabbit use rnio. Use URLDeocder instead of home written method. Use utf-8 for meta pages by default. Add a few missing javadoc package descriptions and fixed a few typos in the javadoc. Renamed Coder to Base64 since that is all it handles. Made it possible for filters to see the client request body. Fixed some cross site scripting problems with the generated error pages. Changed the cache so that it throws CacheException if an operation fails.

What is new in version 4.0:

  • Reworked nio layer so that rabbit uses multiple selector threads.
  • Reworked logging to use java.util.logging and made it possible to use either rabbit.conf or the system property java.util.logging.config.file to specify the logging configuration. Fixed a problem where web connections could be put into the connection pools multiple times.

What is new in version 3.18:

  • Fixed a problem where tunnels (https) could crash.
  • Fixed a problem where repacking could cause NPE (redeemer).

What is new in version 3.17:

  • This release fixes a problem where tunneled connections could stall.
  • It fixes a socket leak.
  • A timeout has been added that will close down any socket that is leaked even if there is no known such leaking.
  • Some more advertising is blocked by default.
  • Image compression on Google maps and a few other map sites has been turned off.
  • Some more information has been added to the status pages.

Similar Software

CGIProxy
CGIProxy

17 Feb 15

Proximity
Proximity

3 Jun 15

sec-wall
sec-wall

14 Apr 15

Comments to RabbIT

Comments not found
Add Comment
Turn on images!