Gnutella Web Caching System

The Gnutella Web Caching System, or GWebCache, is a simple but powerful web-based distributed host caching system designed to support the Gnutella network. It was developed with Gnucleus, and since it is a simple, open system, we invite anyone to use it.

  • Specifications - Technical specs on how to make a GWebCache and how to use one in your client.
    New - The "Version 2" (GWC2) specifications
    Old - The first version of the specifications

News

March 2008 - Long Time No See

After this much time I'm happy to see that there are still GWebCaches kicking around! As those of you who were involved with GWebCache at the time certainly figured out, after the whole clients-destroying-GWebCache-servers thing I pretty much stopped working on the project. Because, happily, others seem to have picked up on the development, this website should no longer be considered the central GWebCache page, it is here for historical purposes only. Since I don't intend to maintain this website, it's up to you to find the other GWebCache pages out there (see the links above for some pointers though).

So what happened back then? GWebCache is a script that invites requests from file-sharing clients. These clients are installed on tens of thousands - if not hundreds of thousands or even millions - of computers. If these clients had a bug that caused them to send too many requests, the effect is a massive distributed attack on GWebCache servers. This is exactly what happened: at least one client was badly programmed and the company and developers were completely unresponsive, creating a very bad situation for GWebCache users: The client sent a massive number of requests to GWebCaches, people's web servers got taken down, either by their administrators or simply by the massive number of requests that overloaded them, they were charged for the bandwidth consumed, and so on.

Since I spent around a year fighting the massive number of requests on my own web server that simply would not stop, I also stopped working on the project. While that is unfortunate and I don't like abandoning projects, I didn't feel like I could continue at the time; in the meantime I moved on to many other projects. I am happy to see that GWebCache has survived and lives on!

-- Hauke D

6.10.2003 - GWebCache 2 Released (updated March 2008)

I am releasing the GWebCache "version 2" script and the new specifications. Both seem stable, but need to be implemented in clients and tested. Hopefully someone (you?) will have the time to do so!

You can download GWebCache 2 (Perl) here. Please note the following important points:

  • Yes, it's backwards compatible to the version 1 specs, but please see the version 2 specs on how to use this new GWebCache.
  • The cache script needs write access to the following files: gdata.dat, gdata.dat.lock, gstatlog.txt
  • The server requirements are:
    • No NFS! The directory that GWebCache is in may not be mounted over NFS! (If you don't know what this means and your system administrator can't help, then you probably don't want to use GWC.)
    • Perl - version 5.6 should work, 5.8 to be safe. Also, you need the Storable module (normally is installed by default)
  • Set up the GWebCache on a virtual server with its own DNS entry! (i.e. http://gwc.yourdomain.com/) The reason is that in case you ever want to shut down your GWC, this is the only way that will allow you to do so.

Many people have been asking on how to report their new GWebCache to the world. One way to do it is the following:

  1. Get several URLs of caches that you know are working.
  2. Open your favorite web browser. For each of the working caches, enter the following in the address bar:
    http://url_of_working_cache?client=TEST&version=1.0&update=1&url=http://url_of_your_cache
    (where "url_of_your_cache" is of course your cache's actual URL)
  3. Once your cache starts getting requests, you are all set to go. Note that it may take up to a week for your cache to get a normal number of requests.

Also, many people have been asking on how to remove their GWebCache and stop the requests, the sad answer is: unless the clients that are abusing your cache don't stop (which they haven't, for more than half a year now), you can't. At least not without taking down your website, which is why I say above to host the GWC on a dedicated subdomain!

Also, the official GWebCache site is now located here on gnucleus.com (http://www.gnucleus.com/gwebcache/) - update your links! (gnucleus.net seems to be down)

Copyright (c) 2003 Hauke Dämpfling. License Terms: FDL.