SourceForge.net Logo

Installation and User Guide for Nodezilla

Table Of Contents

Introduction to the Nodezilla Grid Network


What is Nodezilla ?

Some technical details are available here and here.

Nodezilla is anonymous, no names, no identifiers and is fully encrypted.

The Nodezilla Client runs on any platform supporting Java, only the Nodezilla Network Agent is CPU dependant. Hopefully the Nodezilla client can connect to a distant node providing full access to the Nodezilla network to all machines.
The client is also remotely operable providing you with the ability to download directly to your home machine from your office, see NZ4Web below.

The Nodezilla platform currently offers five services:

  1. Anonymous File sharing;
  2. Hierarchical Multimedia Streaming;
  3. Digital photo sharing with selected friends;
  4. Distributed BitTorrentStore Database;
  5. User driven storage/retrieval of objects.

Nodezilla Architecture

A typical Nodezilla installation is broken into two parts:
  • The Nodezilla Network Agent: The heart of the grid network. This part is platform specific (specific binary executable) and holds the Nodezilla logic and Protocol code. This part handles queries and routing, answers them, manages other Nodezilla Network Agents discovery, downloads from multiple sources and so on.
    The configuration file for the node is nodezilla.ini
    All activities of the Network Agent is logged to evl_data/master.log (tunable in nodezilla.ini)
  • The Nodezilla Client: written in Java (and thus running on every machine supporting Java), provides human interface to use a Nodezilla Network Agent. The client can connect to a local Nodezilla Node (default configuration) or a distant Nodezilla Agent (set this in the advanced configuration Tab).

Installation guide for Windows


You need administrator rights to run the installer.
The installation process for windows platforms is very straight forward. Download and run the installer, answers questions, and that's it !

[screenshot] [screenshot]

During the setup, the installer may ask you if you want to install a JRE (Java Runtime Environment) on your machine. If you already have one (JRE 1.5 or higher is required for proper client operations) answer no, otherwise it will install a JRE for you

[screenshot]

When prompted to allow the Java Client to run answer "Run":

[screenshot]

And when prompted if you want to install shortcuts on your desktop or file associations, answer "Yes":

[screenshot][screenshot]

Now it's time to check the Nodezilla Client Usage Guide !

Troubleshooting:
After launching the Nodezilla Network Agent, the log of all events and problems occurring is available in the file evl_data/master.log (if you haven't disabled this option), refer to this file to troubleshoot problems.

Note for advanced users: The Network Agent is installed as a service. This way the Agent will perform catalog replication and node synch in background and will provide you with better results, much faster.
Don't forget that Nodezilla will run with the credentials of the service user, not the logged-in user. The Nodezilla data directory must be writeable for this user.

Installation guide for Linux


The installation and usage of Nodezilla does NOT require root privileges on the host machine. Any user can install and use either the Nodezilla Network Agent or Client.

There are two software you need to install in order to access the Nodezilla network. The Network Agent and a JRE (Java runtime) to be able to run the Client.
A JRE may be shipped with your Linux distribution, otherwise you will need to get and install one (see the Java site).

Once you have downloaded the installation archive of the Network Agent, untar it in your favorite directory (directories names may vary upon versions):

	tar -xvzf nzagent-0.4.20-corno-fulgure-install.tgz
	cd nodezilla
	
Now you need to setup the daemon:

Proceed then with the Nodezilla Java Client installation, or directly run it by typing in a shell ./nzclient (your Java Runtime must be properly installed and available in the PATH for this script to work).

Troubleshooting:
After launching the Nodezilla Network Agent, the log of all events and problems occurring is available in the file evl_data/master.log (if you haven't disabled this option), refer to this file to troubleshoot problems.

Note for advanced users: The Network Agent is running as a daemon. This way the Agent will perform catalog replication and node synch in background and will provide you with better results, much faster.
Don't forget that Nodezilla will run with the credentials of the daemon user, not the logged-in user. The Nodezilla data directory must be writeable for this user.

Installation guide for other platforms


If your platform doesn't support Java, then no luck, no Nodezilla for you.

Only the Nodezilla Network Agent is CPU/OS dependant, if you can't find an Agent for your platform, then you'll have to run the Nodezilla Client on your machine, and make it talk to a remote Network Agent (on a supported platform).

Here is how to do this:

  1. Install a compatible JRE on your machine
  2. You will probably need to modify the nodezilla.ini file on the Network Agent machine, to allow for your remote client to connect to it. See the advanced section for details
  3. Run the Nodezilla Client on your machine (see below)
  4. Go to the "Configuration" dialog box, and in the field "Network Agent host", type in the address (dotted IP or DNS name) of a machine running the Nodezilla Network Agent
You're done, the client should operate normally using the remote Network Agent.

The Nodezilla Java Client


Remember, the Nodezilla Java client requires access to a Nodezilla Network Agent (local or distant), if it can connect to one it will ask you to provide the IP address and TCP port of a running agent.

Java Setup

The client is a Java Web Start application, and thus needs a JRE (Java Runtime Environment) to run. You can use any JRE you want (but only the SUN JRE is officially supported, you can download it from here) provided it's compatible with Sun's JRE 1.5.
See to the installation procedure of your JRE for details.

Client Usage

If you have trouble with your client, try the reinstallation procedure from here.

The first time you run the client, it will ask you:
  1. A directory where to store files retrieved from the Nodezilla Network, select a directory where the Network Agent has write access;
  2. A directory to share on the network.

The client should then start and displays something like this:

[screenshot]

You'll have to wait for the Network Agent to synchronize, and then you'll be able to search on the grid by going to the "Queries" tab and entering a query, like this:

[screenshot]

Note: If you enter two or more words, they are understood as "results must contains the strings string1 AND string2 AND ... AND stringN".
Important Note : Search strings are looked up in file names AND file information, so you can search using mp3 id3 tags, txt content, zip extracts or whatever is displayed in the info panel.
ANOTHER VERY IMPORTANT NOTE: Common jokers like '*' or '?' are ignored since Nodezilla already performs substring search. For instance the search string "mad", will match "madonna", "marblemad", "armada", and so on. And "*mad" will probably match nothing as * is taken literally.

Besides results, there is also some information displayed in the bottom panel relating to the type of file selected.

Results are displayed in two ways:

  • A flat sortable list, on right, that displays all results;
  • A similarities tree, which display the same results heuristically grouped by artist, album, types, etc....
You can download files by double clicking on them or by multiple selection (hold the Shift or ctrl keys) and then right-clicking the Download Selection menu item. All downloads can be seen in the "File Transfers" tab, they are sorted by file types or by folder names (see Folder Objects below).

[screenshot]

Your download speed and credits directly depend on how much you contribute to the Nodezilla network: by providing cache space (tunable in your nodezilla.ini file), by providing good quality (ie popular) contents to others, by letting your agent run for long periods.

Filtering results

Results can be filtered using 3 tools:
  1. The keyword-field limiter combo box: This combo lets you limit where your keywords will be looked in meta-informations;
  2. The advanced filtering button: These options can enforce some quality, length, or file size criteria for digital media type files;
  3. The file types button: This lets you select what kind of files you're interested in.
When special options are set for a specific query, a reminder is displayed in the results tab.

Digging

By right clicking on a result, you are given some options to "dig" from here. You can first run new queries for objects matching either the current Artist or Album tag.
You can also try to get objects that are shared by the same node, filtering by their file type.

All these queries are run in new query tabs.

This is were you can see comments wrote by other users who downloaded this file (see the Ratings section below) by clicking the Show user comments item.

This is also here you can copy or export a MagnetLink for the current file.

Ratings

From time to time you will see the following window:

[screenshot]

asking you to rate the files you've downloaded. You should provide a grade (1-worst to 5-best) expressing your opinion for the displayed files (good or bad quality, fake, ...) and fill the associated comment field.
These info will be available to all when they request the Show user comments item in queries results.

Folder Objects

It is also possible to download "Folder Objects".
These objects identified with a special icon ([screenshot]) and sorted in the Multiple Aggregation category, contains link to numerous files, and will be expanded into the download tab into individual files downloads.
This is useful to download a coherent subset of files without needing to look for individual files.

The What's new tab

This tab will automatically populate with new file objects cached by your own node. These are only file objects not file data, i.e. not all files seen in this tab are stored on your node.
You can do the same digging in this tab than in the query tab.

Due to the grid architecture, it is not possible to have a complete list of new files on the entire network. That's why only new files known locally are displayed.

Automatic retries

Failed downloads are automatically retried when possible. This means that you do not need to have the client running to keep downloading, only the Network Agent is required to run (users of software running as daemon like MLDonkey are already used to this, but this differs from other software like eMule).

Download Status explained

During normal download operations, a file can have one of the following statuses:
  • "Stopped" or "Waiting": The download has not yet started, or has been interrupted.
  • "Object not found": The file description was not found on the grid.
  • "Not enough credits": You do not have enough credits to download this file; it will be retried when your credits are sufficient.
  • "Can't reconstruct": The reconstruction step has failed; CRC check failed.
  • "Init error": an error occurred during the initial setup of the download, check your disk space, and write permissions to the download directories.
  • "Can't fetch": Not enough data were found on the grid to reconstruct the original file.
  • "Reconstructing": Missing data blocks are being regenerated from the redundancy data. This can take time.

Advanced Client Config

Go to "File->Configuration" to access the configuration panel.

[screenshot] [screenshot] [screenshot]


The Network Agent client port option lets you specify where the client will find a Nodezilla Network Agent. localhost is ok if you have an Agent running on the same machine (most common case). But in some case it is useful to have an Agent on a distant machine (it can be an Agent used by many clients), enter here the ip or DNS name of the machine hosting the Agent, and the client port it listens to (see nodezilla.ini).
If you want to use this 'Remote Control' feature, you will also need to setup in your nodezilla.ini the

CORBA_BIND="10.0.0.1"

statement, to your private Network Agent IP address and restart your agent.

Other options are pretty self explanatory.

NZ4Web

If you want to access the Nodezilla Network through a Web interface (for instance from your Office), then you should check Nodezilla4Web which is exactly what you want.