Getting Started

First you need to extract the files of the .zip file into a directory (preferably one of it's own). Then run the executable jar file "runme.jar". How you do this depends on the java implementation you use, but the most common is: "java -jar runme.jar".

Introduction

(copied from the original Furi, by William W. Wong )

It was said that Internet was created with the goal of surviving a nuclear attack. Gnutella net is organized in a similar fashion. It's totally distributed; there is no central server. Machines are connected to each other in a peer to peer setup, in a completely unpreditably way. It allows many users to open up their own machines and share files with anyone. It let users to search others' shared directories, to download files from each other. It is a new way to share information.

Gnujatella is a Gnutella protocol-compatible Java program that can participate in the Gnutella network. It is a full version program that can perform most of the tasks of a Gnutella servant.

 

What is gnujatella?

<pending>

 

Why Java?

Why not? - Java is a nice language, it has some weaknesses, like every language has. It's not the fastest one, but faster than you might think! The GUI is nearly as fast as it would be in C++. And the rest is not too slow.

 

Why share files?

Sharing files means sharing the bandwidth too. A lot of people complain about this. You have to consider what to share. Something that you can download everywhere in the internet is possibly not a good thing to share, since every download from your computer cuts your bandwidth. Share only files that are hard to find. But even that cuts too much for you? Ok, look at it this way: a lot of files you can download here you could only download somewhere else for money (direct or indirect throught advertisement or a "registration" which is much worse, because a company has your personal data which is always a bad thing). Consider the bandwidth-cut as a small fee for participating in the net. By the way, you should remember that copyrigths apply here too! Don't share files you are not allowed to copy! When not sure about that ask a lawyer.

 

Why did I forge this project from the original "Furi" project?

William W. Wong (the author of Furi) said the following (copy from the readme- file):

"I really prefer to work alone. As I found out over the years, software development is mainly an individual endeavor. If you figure out a bug, please report it back to me. If you want certain feature, please let me know, and I will schedule it into the development cycle. Please don't write a separate module and send it to me to expect me to incorporate it. Thank you."

I had a look at the code and I realized that a single person would never be able to improve such a big thing much further. But the functionality Furi had was much better than any other Gnutella-client I saw before. This led me to the decision that this program needs a larger developers base. I wrote an e-mail to the author of Furi, asking him about his opinion on this. He stated, he would accept only modules wich were easy to incorporate into the code.

But in my opinion furi was in need of some changes in design, since it has grown bigger than it seems to be planned. One example: the class mainframe hosts nearly 3000 lines of code. the complete user-interaction is build from this one class. This is ok for small programms, not for something big like furi. When several people would be hacking the code, I bet everyone of them would hack some lines in MainFrame. That could get very annoing, even with CVS. So I splitted it.....

William has done great work, but for me it seems time to step further. May the spirit of OpenSource be with this project!