% Format: lplain  Orientation: Portrait
\documentclass[12pt,a4paper]{article}
% \usepackage{german,umlaut}
%\usepackage[ngerman]{babel} 
% \usepackage[cp437de]{inputenc}
\usepackage[pdftex]{graphicx}


\pagestyle{empty}


\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\marginparwidth}{1in}
\setlength{\marginparsep}{0pt}

\setlength{\topmargin}{1cm}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}

\setlength{\footskip}{0pt}

%\setlength{\textwidth}{\paperwidth}
%\addtolength{\textwidth}{0cm}
%\setlength{\textheight}{\paperheight}
%\addtolength{\textheight}{1cm}

\setlength{\parindent}{0pt}


% Seitenlayout (in mm)
\topmargin-15.4mm
\headsep14mm
\evensidemargin-0.4mm
\oddsidemargin-0.4mm
\textheight260mm
\textwidth160mm
\footskip8mm
% Ende Seitenlayout

%The syntax of the \includegraphics command is as follows: 
% \includegraphics[parameters]{filename}
% where parameters is a comma-separated list of any of the following: bb=llx lly urx ury (bounding box),  width=h_length, height=v_length, angle=angle, scale=factor, clip=true/false, draft=true/false. 


\makeindex
\begin{document}
\sloppy
\DeclareGraphicsExtensions{.jpg,.pdf,.png}

\begin{titlepage}
\title{F.R.O.S.T. - A Freenet Frontend}
\author{programmed by Jantho\\
        documentation: Der Vagabund\\[7ex]
        still under development}
        

\maketitle

\begin{center}
\includegraphics[scale=0.5,clip=true]{startup.png}
\end{center}
\end{titlepage}

\tableofcontents


	\section{Introduction}
	\label{sec:Introduction}
% Philosophie, Aufbau, Struktur, Warum, 

First some words about the whole thing.

FROST is a program which was developed as a freenet client. It's
written in JAVA and so you can run it even on your Palm :-)

Freenet (http://freenetproject.org) is an Network over the Internet which provides true anonymity.
With starting Freenet on your machine you are running a local Datastore on your disk. 
This is an encrypted file. 

You have to understand that 
you cannot control what's in your local datastore. If you join the Freenet you are a part of this
encrypted network. 

As you see, this is not an Peer-to-Peer network. You can not \itshape download something from someone.
\normalfont And nobody can download something from you.

You can only insert some data into the Freenet-Network. If you have done so, you cannot control (delete or change) this data. Everyone who knows about your insert is able to retrieve your insert.

Because nobody is able to assign the data to some person (except the person has signed the data) ,
you can speak anonymous to everone else.\\
It's similar like speaking on the street, in the pub or everywhere els in the real world. 
Or must you give your address and name if you want to speak with strange people ?
But in the internet they want that you give your personal data before you are allowed to speak.

FROST is a little program that acts as an frontend to this philosophy, inserting and retrieving data (text and files).
You can maintain your own message board or simple speak anonymous to other Frost users. Also you can easily exchange
your favourite software -:) \\
Please visit the Freenetproject-Website for further informmation.
\newpage 
	
\section{Running FROST - Step by Step}
\label{sec:RunningFROSTStepByStep}
\begin{enumerate}
  \item turn on your Internet access
	\item Download and install Java
	\item Download and install Freenet from \verb|http://freenetproject.org|
	\item Run Freenet (it's another story)
	\item Download FROST from \verb*|http://jtcfrost.sf.net|
	\item extract FROST to a local directory
	\item run the frost.jar or one of the scripts: frost.bat or frost.sh
	\item wait
	\item wait
	\item select Menu "`News"' :Automatic message update
	\item open Frost Messaging system : board: frost
	\item you should see some messages
	\item Congratulations ! You have arrived at FROST in Freenet !
\end{enumerate}

	
	
	\section{Installation - the long way}
	\label{sec:Installation}

% Was man braucht : Java Runtime , Freenet,  FROST
	
			\subsection{Java Installation}
			\label{sec:JavaInstallation}

Freenet requires a Java Runtime Environment to run, there are several choices for different platforms.
Most users already have Java installed without knowing this.
You can open an command-window (run - cmd.exe or run - command.com) and type 

\begin{verbatim}
c:\windows\java -version  
\end{verbatim}
If you get something like:
\begin{verbatim}
java version "1.3.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0_02)
Java HotSpot(TM) Client VM (build 1.3.0_02, mixed mode)
\end{verbatim}			

You are now ready to run Java-Programs.\\

\underline{no java installed}\\
Because the most users still use windows I will explain the procedure for them.\\
Download a Java Runtime Environment from:
\begin{itemize}
	\item SUN (windows): http://java.sun.com/j2se

\item	After some clicks and confirmations you come to the download page where you can download:
\begin{verbatim}
	 j2re-1_3_1_02-win-i.exe = 9,047,136 bytes.
\end{verbatim}
	\item Install the Java environment (click on the *.exe :-) 
	\item Test your java-installation, maybe you should add the path to your autoexec.bat
\end{itemize}
			
			\subsection{Freenet Installation}
			\label{sec:FreenetInstallation}
			
\begin{itemize}
	\item Download windows installer\\
	
	Go to http://freenetproject.org/snapshots/
	
	There you can see the latest Freenet-Versions. Just grab an Windows Installer first.
\begin{verbatim}
http://freenetproject.org/snapshots/freenet-20020210.exe
\end{verbatim}

You can also download the version which includes Java, if you hasn't already installed JAVA .

	\item Install Freenet\newline
Important: You must be connected to the internet during installation progress !

Run the Windows-Installer and follow the instructions. After you agreed to the GPL you can choose 
your installation method. I recommend to choose only minimal installation.
Select the installation folder \verb|c:\freenet0.4| and now you get a "`Freenet node properties "` - page.

You can choose:
\begin{itemize}
	\item \bfseries Node datastore size : \normalfont your local datastore, the bigger the better.\newline
	      But remember the filesystem limitations, In FAT Systems files can be max. 2 GB.
	\item \bfseries Node Availability : \normalfont Select between permanent or transient node.\newline
	      Normally simple select transient unless you know what you do (or you read and understand.
  \item \bfseries Node references: \normalfont Also known as "`seed nodes"' . \newline
        That's the most important part of the installation. You can simple follow the instructions to
        download and use the default refs.\newline
        But if you want to be sure that your anonymity isn't compromised you have to exchange a seed.ref-file
        through an secure channel, maybe a PGP-Email from yout friend.
   \item On the second page you can enable the nodestatus servlet (for diagnostic and entertainment)    
	          
\end{itemize}
	\item Running Freenet\newline 
	
	      After starting the freenet.exe you have an nice tray icon. Manage your node through right clicking on it.
	\item Latest Snapshots
	From the download page you can also get the latest Linux-Snapshot. It will be compiled every night from the Freenet-CVS.\newline
	 If you want to try the latest snapshot , you must only overwrite the freenet.jar and the freenet-ext.jar.
	 \item follow the news on freenetproject.org to keep current with your freenet installation. Soon we 
	        will go over to the 0.5 version.
	 \end{itemize}
	 			
			\subsection{FROST Installation}
			\label{sec:FROSTInstallation}

If you have followed the instructions above you are ready to install FROST.\\

\begin{itemize}
	\item Getting latest FROST: http://jtcfrost.sourceforge.net
	\item Install FROST: use the installer or simple extract all file to a directory
	\item Running FROST: You can use the Batch-files or simple run the frost.jar
	\end{itemize}

\subsection{Something's got wrong}
\label{sec:SomethingWrong}
Checklist:
\begin{itemize}
	\item Is your internet-connection up ?
	\item If you use dynamic-IP: is it updated ?
	\item Have you started Freenet?
	\item Try http:\\127.0.0.1:8888
	\item Can you reach any freesites, like CoN, CofE or the gpl.txt ?
	\end{itemize}
If any from the above doesn't work see at freenet-installation.

	\section{Using FROST}
	\label{sec:UsingFROST}

\subsection{General}
\label{sec:General}
FROST is an JAVA-Program. It's designed not only for Windows but you can do most Windows-like 
things with it. \\

FROST consists of 2 parts: TOF and downloads. \\

In the main window you see the "`Frost Message System"' as an tree view. The tree consists of
"`Boards"' . You can sort the boards in Groups. \\

The download-part is now organized board-oriented. That means that every board maintan an
index of downloadable files.\\

Everywhere you can see little icons with an mouse-over effect. So move your mouse around and explore 
all.\\

Also you can get context-menus with right-clicking the mouse. 

\subsubsection{Parameters}

Currently you can change the Look and Feel.
\begin{verbatim}
frost [-lf]

-lf     Allows to set the used 'Look and Feel'.
        javax.swing.plaf.metal.MetalLookAndFeel
        com.sun.java.swing.plaf.windows.WindowsLookAndFeel
        com.sun.java.swing.plaf.motif.MotifLookAndFeel
        javax.swing.plaf.mac.MacLookAndFeel
\end{verbatim}
        
FROST is using the locale setting in your system for language selection. If you want to change the language 
for FROST you must change your lacale setting (Windows : control Panel : Country settings)

\subsubsection{Options-Preferences}

	
In FROST you can set up some options.


	\begin{center}
		\begin{tabular}{lp{5cm}}
			Download directory (downloads): & where should downloads be saved\\
			Minimum HTL (5):& starting Hops-to-live for downloads\\
			Maximum HTL (25):& \\
			Number of simultaneous downloads (3):& don't set too high\\
			Number of splitfile threads (3):& how many splitfile chunks  \\
			Remove finished downloads every 5 minutes.(off)& clear the list of already finished downloads\\
			Upload HTL (5):& maybe set it higher\\
			Number of simultaneous uploads (3):& \\
			Number of splitfile threads (3):& \\
			Reload interval (8 days):& repeat uploads, use this for better availability\\
			Message upload HTL (5):& maybe to low\\
			Message download HTL(15):& \\
			Number of days to display (10):& if set too high it will slow down changing of boards\\
			Number of days to download backwards (3):& \\
	    Message base (news):& the standard message base is news\\
			Signature & set up an signature to append to all your messages\\
	    Block messages: & characters and strings for blocking messages (anti-spam)\\
			Keyfile upload HTL (5):& the keyfile contains key-indexes\\
			Keyfile download HTL (15):& \\
			Node address (127.0.0.1):& we talk to localhost\\
			Node port (8481):& the standard port\\
			Maximum number of keys to store (100000):& \\
			Allow 2 byte characters& for japanese users\\
			Use skins, please restart Frost after changing this.(off)& currently not updated
		\end{tabular}
	\end{center}


\subsubsection{The frost.ini}


\begin{center}
		\begin{tabular}{lp{7cm}}
downloadDirectory=downloads\ & configurable with preferences\\
lastUsedDirectory=c:\ & \\
messageBase=news & \\
blockMessage= & \\
htl=5 & \\
htlMax=250 & \\
htlUpload=5 & \\
uploadThreads=3 & \\
downloadThreads=3 & \\
tofUploadHtl=5 & \\
tofDownloadHtl=15 & \\
keyUploadHtl=5 & \\
keyDownloadHtl=15 & \\
userName=Anonymous & \\
maxMessageDisplay=10 & \\
maxMessageDownload=3 & \\
removeFinishedDownloads=false & \\
splitfileUploadThreads=3 & \\
splitfileDownloadThreads=3 & \\
nodeAddress=127.0.0.1 & \\
nodePort=8481 & \\
uploadInterval=8 & \\
maxKeys=100000 & \\
messageBase=news & \\
blockMessage=porn; spam & semicolon separated text-strings \\
maxAge=21 & \\
tofTreeSelectedRow=2 & \\
tofFontSize=12.0 & \\
allowEvilBert=false & \\
downloadingActivated=true & \\
uploadingActivated=true & \\
searchAllBoards=false & do a search only on the selected board\\
automaticUpdate=true & automatic update of all boards \\
		\end{tabular}
	\end{center}



\subsection{TOF}
\label{sec:TOF}
\subsubsection{Configuring Boards}

FROST comes with some preconfigured boards like frost or freenet.\\
You can add new boards through right-clicking on "`Frost Message System"'.
Or use the Buttons/Menu on the TOP: 

\begin{center}
		\begin{tabular}{lp{7cm}}
New Board & create a new board \\
configure board & choose between public or secure board, default is public board\\
Rename board & \\
Remove board & \\
Cut , Copy, Paste board & Operations for organizing your boards\\
		\end{tabular}
	\end{center}

The same operations can be done through right-clicking on a selected board. \\
Creating folders is done by adding boards to a existing board.\\

Example:\\
\begin{itemize}
\item right-click on "`Frost messaging system"' 
\item  Select "`add new board/folder"' 
\item choose a name : "`entertainment"'
\item right-click on "`entertainment"' and repeat creation of a board
\item you have created a tree structure 
\end{itemize}

Note: You can only use Boards for mesages/files not Folders. 

\subsubsection{Reading Messages}

%For retrieving messages it's necessary to choose an update method for your boards.
%You can choose from the "`News"' - Menu between: 
%No automatic update
% Slow update rate
%	Normal update rate
%	Fast update rate
Update method - Turn on automatic Update of bords under menu News.\\
Or you can update a specific board by selecting it and push the update button.
\includegraphics[clip=true]{update.png}\\

The update intervall is now hard-coded, so be aware that too many boards may slow
down updating. In this case use the manual method in addition.\\

Sometime you will see RTM1, RTM2 or RTM3 in the title page. This means \textbf{R}educed \textbf{T}hread \textbf{M}anagment and will go away if you continue to use FROST.\\

Hint: Sometimes its better to close and restart FROST from time to time.\\
			
You can also save the message to disk: simple right-click on the message itself. Note: click on the message
window, not on the list of messages ( was my fault in the first try).\\

\subsubsection{Messages with attachments}

Sometime you will see messages in blue. This means that ther are attachments to this messages.
You will see something like \verb|<attached>| .\\
These attachments are direct downloadable by right-clicking on the messages. Or use the download-button
\includegraphics[clip=true]{attachment.png}

% Writing Messages to a board\\
% Reading Messages from a board\\
% Skins\\
% Extras- features\\
% Bugs - no chance , they don't survive an day\\

\subsubsection{Writing messages}

After you have read some messages you may want to answer some people. Okay, click on the reply button
\includegraphics[clip=true]{reply.png} and you get an edit window.\\
If you have set up an signature, this will be displayed. The title-line contains your choosen name and the
time in GMT.\\

Note: You can set up a name via the frost.ini or simple enter a name with your first message and FROST
will remember this.\\

With the upcoming ancasy-mode it will be important to choose a name because you will get/create an identity
with this, so that other users can trust your messages.\\

\paragraph{Attaching Files}

With writing messages you have the possibility to attach directly a file for uploading. Click on the 
button \includegraphics[clip=true]{save.png} and choose the file(s) you want to attach. For larger
files use the standard upload feature and only include the key with the message.

\paragraph{New Message}

Not quite different, just hit the New-button \includegraphics[clip=true]{newmessage.png}

\paragraph{PGP}
\label{sec:PGP}

Maybe you want to sign/encrypt your message. This can be done through copy and paste. Use CTRL-C
and CTRL-V. Under Linux you can use xclipboard instead.

\subsection{File sharing}
\label{sec:FileSharing}

\subsubsection{General}
\label{sec:Generalfs}

Because Freenet itself is not searchable, the only possible solution for searching in Freenet is a  keyindex.
If you insert something with FROST, your insert will be added to such an keyindex.
Every FROST-installation requests those Index-files and so you can search these files locally.

After you have created some boards, you can upload and download files associated with these boards.\\
With the latest changes the keyindex is no longer one single file, because it gets too big.

Now every board maintain its own index-file. This gives the possibility for categorizing contents, i.e. music
in the music-board, books in the bookz-board etc.\\

An overview of all keys is available from the board information window.\\


\subsubsection{Searching in FROST}
\label{sec:SearchingInFROST}

One of the most asked Questions is about searching. 

First, go to the searching-tab. 

Second, check the \bf{search all boards} \normalfont- button, otherwise you only search on the actual board.
(it's the rightmost one)

Third, Enter the search text and click on search (the leftmost button)

\paragraph{Search options}
\label{sec:SearchOptions}
\begin{center}
	\begin{tabular}{l|l}
		display all keys & * \\
		display today's keys & *age \\
		key's x days back & *agex \\
		Keys containing \verb|foo| & foo \\
		exclude \verb|bad| & *-bad \\
	\end{tabular}
\end{center}

You can combine all of these options. Let's give an example:\\

Type: *age2 jpg jpeg *-001

That means searching for max. 2 days old files, containing jpg and jpeg and not 001 \\
Everything clear ? Feel free to experiment a little bit.\\


\subsection{Some FAQ's}
\label{sec:SomeFAQS}

\subsubsection{Original Jantho FAQ}

Q: How do I add new boards?\\
A: Select folder that should contain the new board. Right click on the tree structure. Select 'Add new board / folder'. Rename 'New folder' by selecting it and pressing F2 or double klick it.

Q: How do I download attachments?\\
A: Right click on the message. Files will be added to your download list.

Q: Are there any special search options?\\
A: Yes, I'll just give some examples.
   Search for todays new files: *age
   Search for all mp3 files from the last 5 days: .mp3 *age5
   Just show 5000 files: *

Q: Why Frost?\\
A: Why not?

Q: Cut and Paste does not work in Linux\\
A: Try using CTRL+C (COpy), CTRL+V (Paste) and CTRL+X (Cut)

Q: How can I change the "LookAndFeel" settings\\
A: There's a command line setting. Get more info with frost -? (from the command line)

Q: Can I shut down Frost after uploading my files?\\
A: Yes

Q: Why is everything so slow?\\
A: Because Freenet is so slow, and Frost is a Freenet client. Uploads will probably get faster with more Freenet users.

Q: I don't like the way replies are handled in Frost. Can you use ">" to indent old text?\\
A: Hehe, no way.

Q: What Datastore size should I use for my Freenet Node?\\
A: The larger the better. At least the size of the largest file you want to download. For example if you want to download large movies, 1Gb is a good size. 

Q: My upload was aborted because... (fill in your story here). Do I have to upload everything again?\\
A: No, if you restart the upload you'll probably see that it progresses much faster. Only parts of the file that have not been uploaded yet will be uploaded. (This is not true for files with a size below 256Kb, because they are not split into smaller parts)

Q: My download stopped because of... (yeah, another story...). Do I have to download everything again?\\
A: No, Frost stores already downloaded chunks in the 'keypool' directory. 

Q: Chunks?\\
A: Large files are split up into several chunks, each with a size of 256Kb. These 'Splitfiles' can be downloaded from multiple sources at once.

Q: I can't get a specific file, but I really need it!\\
A: Go to options / downloads. Set maximum htl to 2500 and splitfile threads to 5. It will take several hours, but if the file is still available on Freenet you'll get it.

Q: The attachments of messages appear in the public keyindex!\\
A: Yes, they do. If you want only a specific person to see your attachments, please use PGP to encrypt the files.

\subsection{Ancasy Mode}
\label{sec:ancasy}
Announced, unspammable system. \\

It's based on SSK-keys, and you can decide which messages you want to read.\\
That means you must set up an list of friends.

\end{document}

Q: Wie kann man etwas herunterladen ?
Q: Suchen nach Dateien
Q: Was bedeuten die Abkürzungen
Q: Language selection
Q: setup : Choose Name Creation Board
Q: File dates
Q: splitfiles
Q: latest version
Q: double insertion / failed insertion of tof
\subsection{Problems/Errors}
\label{sec:ProblemsErrors}
Nothing happens
too slow
no files to download



% \end{document}




