JTella 0.7 was the last release by Ken McCrary, in October 2001. JTella 0.8 is what the extended and modified version created for this Final Year Project has, logically, been called. JTella 0.7 was distributed under the GNU Lesser General Public Licence. All subsequent versions must therefore also be provided under this licence. For convenience, a copy of the licence is linked to below. JTella Servent is the name given to the Gnutella Servent created for this Final Year Project to use the JTella 0.8 classes. It requires the SWT (Standard Widget Toolkit) to run. All code for this Final Year project was written using the Eclipse Project IDE.

Links:

Installation Instructions:

Get the following jar files from their respective download sites:

SWT
JTella 0.8
JTella Servent

Extract the jar files and the SWT dll file to a directory or directories of your choice. It is not necessary, but is easier, if the path to each of the files contains no spaces. Then run the Java Virtual Machine using the following syntax:

javaw -classpath {swt.jar location};{jtella-08.jar location};{jtella-servent.jar location} -Djava.library.path={SWT dll directory} com.dan.servent.GUIStarter

where each of the locations includes the file in question. So if the jar files were stored in C:\JTellaDemo and the SWT dll was stored in C:\SWTdll then the command to run the Jtella Servent would be:

javaw -classpath C:\JTellaDemo\swt.jar;C:\JTellaDemo\jtella-08.jar;C:\JTellaDemo\jtella-servent.jar -Djava.library.path=C:\SWTdll com.dan.servent.GUIStarter

The JTella Servent Config File:

The JTella Servent will check on startup for the presence of a config file in the directory from which it is run. This file should be called "jtella.conf" and can contain any or all of the following items, each on a seperate line:

downloaddir={put path of download directory here}
ultrapeer={true or false}
gatewayip={gateway IP of machine, formatted as a dotted quad}
port={incoming port for Gnutella push requests}
maxresponses={the maximum number of responses to searches to parse}

e.g:
downloaddir=C:\Temp
ultrapeer=false

The '#' character may be used at the start of a line to denote a comment, should one be required. It should also be noted that, on click of the 'Apply' button in the Options tab, the jtella.conf file will be created if it is not already present. It is therefore not expected that the user will have to generate it.

The GWebCaches List File:

The file gwebcaches.list should be present in the directory from which the servent is run, much like the jtella.conf file. It will also be auto-generated should it not be present. The file contains a list of GWebCaches to query for hosts to connect to, or to update so that other hosts will attempt incoming connections. The advantage of using the pre-generated file is that caches which don't respond or which can't be communicated with properly have already been removed.