This was a project from years ago... I suppose I'll leave it here!
Wutella – A Web Interface for Gnutella
Initial Written Report - January 30, 2001
The goal of this report is to introduce Wutella, our concept of a Gnutella Web Interface. We’ll begin by demonstrating why this application is needed. Then, we’ll present our proposed solution, explaining what we plan on doing, how we plan on doing it, and how long it will take. Finally, we’ll discuss our overall vision for the software.
Many files, including files in the public domain, are difficult to obtain from the web. File-sharing systems like Napster and Gnutella enable people to effectively share files without having an account on a web server. However, to retrieve content from these systems, one must download and install software first. People who have accounts on company or university computers may not have permission to install new software on their machines. Furthermore, they wouldn’t want to download new software on every machine they log in to. Gnutella presents other difficulties. If a user wanted to use Gnutella, she would have to choose from a variety of different Gnutella clients, only some of which are really useable.
What’s needed is:
An easy way for a person to be introduced to Gnutella,
without having to download, install, and configure a client.
Quick and easy access to files when using company and university computers.
A way for a person to retrieve files from the Gnutella network wherever he has access to the web.
Wutella would allow users to download files from the Gnutella network (G-net) by merely visiting a web page. The interface would provide two things:
Software that would connect the web server to the G-net using the Gnutella protocol.
A public interface for a user to enter a file she may want to search for.
This application would allow people to access content from the G-net wherever a web connection exists. Wutella could also be useful for people who want to serve web pages from their home computer and don’t want to install server software. They could use Gnutella software to share their web page, and then people could find the web page using Wutella.
To the best of our knowledge, no working system like ours currently exists. Napster has created an open-source web client, but forbids its use on public servers. The two other Gnutella web clients I’ve found do not work - as evidenced by their inability to produce results for queries as common as “Santana.”
Wutella would provide an easy-to-use interface. This would be important in order to prevent novice computer users from feeling intimidated when initiallylooking at Wutella. This is very important step in getting someone to visit your site or use your program.
On the front page, Wutella will display a field to type in the name and what kind of file your looking for (.mp3, .mpg, .mov, and many more). Once you hit the submit button a new page with a list of the places on the network that are currently holding this file will appear. You can then click on one and have it download onto your computer.
There is a lot of back-end information that is available in the Gnutella protocol that we will hide from the user. Statistics like network bandwidth and memory capacity--this information would be interesting to a few but would clutter the interface for the novice user. If later on there is demand for this information, we will strongly consider adding it to the Wutella interface. Our aim is for ease of use and user friendliness and the Wutella user interface will exemplify this.
One of the great things about Gnutella is that several open-source clients already exist. We can use the code from one of those clients as a starting point. We plan to take the existing code (C code for Unix) and alter it to make it a workable cgi script with a front end that could be run as a web page. The program would have to be mutli-threaded to deal with multiple simultaneous requests.
The input to our application would be a request for a file. The input would be communicated to a Gnutella client running on the web server. All the results of the requests would be retrieved by the client and then passed to the user via HTTP. The user would choose one of the results (a specific file). The file would be retrieved by the Gnutella client and then passed on to the user.
With this new Wutella software, people will for the first-time be able to access content never previously available on the web. The Wutella software will provide a great service for those who wanted to use file-sharing networks but couldn’t before. Anyone with a web connection will, through our software, will be able to access any file available on the Gnutella network.
The full possibilities of Wutella do not stop
Wutella, a different
form of file-sharing is possible. Wutella could also be useful for people who want to run a server for web pages on their home computer. They could use Gnutella software to share their web page, and then people could find the web page using Wutella. Perhaps Wutella could even offer a computer-naming convention similar to DNS. Imagine asking for firstname.lastname@example.org
and opening a friend’s home page contained within her home computer. Perhaps Gnutella, with an assist
from the Wutella interface, will allow everyone’s
home computers to be hooked
up much like the world wide web
the content that would be available then!