RabbIT proxy for a faster web RabbIT logo
 
General
About
Running
Changelog
Licence
FAQ
API
Mailing list
 
RFC2616
RFC2068
w3c on HTTP

Download
Current version: 4.11
updated: Feb 16 2012

Java/6+ only
Binary:
rabbit4.11-bin.tar.gz
Source:
rabbit4.11-src.tar.gz
GIT

Old versions

dnsjava source: dnsjava-2.1.0.tar.gz
dnsjava-2.0.7.tar.gz
dnsjava-2.0.6.tar.gz

Old version
RabbIT 4.x
RabbIT 3.x
RabbIT 2.x

Contacts
Robert Olofsson
robo@khelekore.org

  FAQ

Bulgarian translation

Q) Why does IE6 only want to download file when I try to use rabbit?

A) For some reason it seems that some versions of IE6 don't have gzip support enabled by default. You should be able to turn it on if you enable HTTP/1.1 for proxies and also enable the HTTP/1.1 extensions for proxies (look in "Internet Options->Advanced Tab").
You could also try mozilla or opera.


Q) How do I install rabbit as a windows service?

A) See the windows service page


Q) How do I make RabbIT only cache images/html-pages/mp3's?

A) You enable the rabbit.filter.DontCacheFilter and configure it to your needs
To enable the rabbit.filter.DontCacheFilter append it to either httpinfilters or httpoutfilters depending upon which mode you will be using. You can filter on the URL of the request (httpinfilters) or on the mime type found in the http response (httpoutfilters) or using both modes.
In the "[rabbit.filter.DontCacheFilter]" section you specify how the filter will work. some examples are: "dontCacheURLmatching=(\.html|\.asp)" and "onlyCacheMimematching=text/html". More examples are found in the rabbit.conf file supplied with RabbIT.


Q) How do I make RabbIT block access to certain sites?

A) Enable the BlockFilter and configure it to your needs. An example configuration may look like this: "blockURLmatching=(\.sex\.|[-.]ad(s?)\.)". Which should block some advertising.


Q) How do I enable a new filter?

A) It depends on the type of filter.

Filters that modify or take actions upon reading the request are enabled by appending them to the httpinfilters value found in the [Filters] section of rabbit.conf.

For filters that act upon the response header, append the filter to the httpoutfilters value found in the [Filters] section of rabbit.conf.

For filters of the HTML code append the filter to the filters value found in the [rabbit.handler.FilterHandler] section of rabbit.conf.


Q) How do I make RabbIT filter encrypted sessions (https)?

A) You do not, RabbIT can only tunnel encrypted sessions.


Q) How do I make RabbIT tunnel encrypted sessions (https)?

A) This is the default mode of RabbIT. It is controlled by the configuration option "allowSSL" found in the "[rabbit.proxy.Proxy]" section. Allowed values are "yes", "no" and giving a list of port numbers that are allowed.
Since RabbIT only shuffles the traffic when using SSL tunneling it may be used to telnet (or ssh:ing) out of a restricted zone if you enable unrestricted use of SSL-tunneling.


Q) How do I change the NoAd.gif image?

A) In rabbit.conf change the line: adreplacer=http://$proxy/FileSender/public/NoAd.gif to your own file. If you want RabbIT to serve the file put it in the /path/to/rabbit/htdocs/public/ directory (which is where you will find NoAd.gif).


Q) How do I enable proxy authentication for all users?

A) Add the ProxyAuth class to the http in filters. That is edit the line containing httpinfilters so it looks like this:
httpinfilters=rabbit.filter.HTTPBaseFilter,rabbit.filter.ProxyAuth
Currently ProxyAuth needs to be after the HTTPBaseFilter. After this you edit the file containing the username and passwords that will be used. Normally the file is RabbIT4/conf/allowed, but you can change that in the [rabbit.filter.ProxyAuth]-sectionl if you want to.


Q) Sites that use NTLM authentication does not work with IE

A) Try another browser that supports NTLM connections over a proxy like Mozilla/Firefox. It seems that IE will not even try to establish NTLM connections with rabbit so sadly there is nothing to fix in rabbit.


Q) How do I setup log rotation?

A) RabbIT uses standard java.util.logging so you can either configure this in rabbit.conf or you can pass a logging properties file on startup. See the section [logging] in the rabbit.conf file.


Q) How do I set a maximum size on the images that are converted?

A) Add the following to the convert arguments: "-resize 576x432>" (adjust the width and height to fit your screen. This is probably very useful if you use a pda.


Q) Why does rabbit use an external tool to convert images?

A) There are several reasons for this:

  • When rabbit came into existence there were no such classes
  • The JPEGImageEncoder used to be very slow (probably better now)
  • The JPEGImageEncoder used to be unstable (= jvm crash)
  • Resource usage of the proxy can grow very much if there are many concurrent image conversions.
Nowdays there is a converter that uses standard java classes to do the conversion in memory. If you prefer this converter you can specify this with the "converter_type=internal" to use a java converter or "converter_type=external" to use the graphicsmagic converter.


Q) How do I make RabbIT identify itself as "My own 1337 proxy"?

A) Edit the serverIdentity in rabbit.conf.