README
2000-04-09

This is the code for the reference implementations of the Freenet
server and client programs.


IMPORTANT WARNING
-----------------

This release of Freenet is a proof-of-concept to test scalability and
routing.  It does not (yet) provide any meaningful security!  Please do not
insert or request any material which would place you at risk if your
anonymity were compromised.  If you require strong anonymity, please wait
for the next release.  However, if you want to help us test and develop the
system, please carry on!


BINARY DISTRIBUTION
-------------------

First, make sure you have Java working and installed correctly. You need at
least a Java Runtime Environment to execute the binaries. If you don't have
one installed already, please visit http://java.sun.com/ .

For Unix/Linux:
Type 'freenet_server [options]' to start the server, or 'freenet_server 
-help' for usage information.  Type 'freenet_insert' or 'freenet_request' 
to get usage information for the client.

For Windows/DOS:
Type 'fserve' to start the server, or 'fserve -help' for usage information.
Type 'finsert' or 'frequest' to get usage information for the client.

Check freenet.log for any error messages once the server is running.

KEY INDEX
---------

Using the -keyindex URL option with the insert client will cause it to register
the you are inserting with the specified key index server. Using this option
with the request client will cause it to list all of the keys on the specified
key index server. We are aware that this is an element of centralization in a
supposedly completely decentralized system. This is not a permanent feature of
the system. This is a testing tool for our alpha testers. It will be removed.
A truly decentralized search and/or indexing mechanism will be put into place
in a future release.

If you would like to run a key index, a perl cgi script is availble in
contrib/keyindex. A list of known public key index servers is available at
http://uts.cc.utexas.edu/~blanu/keyindex.html.


SOURCE DISTRIBUTION
-------------------

To build the software, first get a current checkout of the code base. On
the Freenet website 'cvs snapshots' are provided, just download and extract
the newest one and you should be set. Ofcourse you can also checkout the
cvs tree manually.

For Unix/Linux:
Next type 'make node cli' to compile the node as well as the commandline
clients. (If you use Kaffe, 'make KAFFE=1 node cli' should do the trick.)
If that should fail for some reason, change to the scripts directory and
run the build.sh script (kbuild.sh for Kaffe users). (The script will
recompile all classes and should work in most cases.)

For Windows/DOS:
As of this writing nobody has reported any success/failure to use the
Makefile under Dos/Windows. (It probably won't work if you don't have
Cygnus or DJGPP installed.) The script mentioned above has also been
adopted for Dos. Change to the scripts directory and execute build.bat.


The GUI client program is currently unfinished.

The script install.sh (install.bat for Windows) will install and
launch the server software. Start it from the scripts directory.
This too may be platform sensitive, so you may want to run its 
commands manually as well. 


OTHER CLIENTS
-------------

The contrib directory contains some alternate clients which you may
like better than the Java command-line client.  Currently we have:
Liberator (perl), FCRC (web browser via cgi-bin), and fproxy (web
browser via proxy server). Read the README files that come with
each of these packages.


FOR MORE INFORMATION
--------------------

Freenet web site: <http://freenet.sourceforge.net/>.

Freenet FAQ:      <http://freenet.sourceforge.net/index.php?page=faq>.
Please read the FAQ before posting any questions to the mailing lists.

