"In the land of the blind, the one-eyed man is king"

Obsolete

This page describes Version 1 (now obsolete) of the Freenet Client Protocol Tools (FCPTools) for historical purposes. See the Freenet page for details on my involvement.

What are the FCPTools?

The FCPTools are command-line driven programs and routines for inserting and retrieving files to and from Freenet. Everything is released under the GNU General Public License.

The main components are:

Using FCPTools

Some common parameters are used by both fcpget and fcpput, but for the sake of completeness everything is listed for all 3 programs.

FCP-Put Usage:

fcpput [-n hostname] [-p port] [-l hops to live] [-s]  [-D]
  [-v verbosity] [-g] [-V] [-h] freenet_uri [FILE]...

Options:

  -n, --address host     Freenet node address
  -p, --port num         Freenet node port
  -l, --htl num          Hops to live

  -a, --retry num        Number of retries after a timeout
  -s, --stdin            Read key data from stdin
  -D, --delete-local     Delete key from local datastore on insert

  -v, --verbosity num    Verbosity of log messages (default 2)
                         0=silent, 1=critical, 2=normal,
                         3=verbose, 4=debug
  -f, --logfile file     Full pathname for the output log file
                         (default stdout)

  -g, --genkeys          Generate a keypair then exit

  -V, --version          Output version information and exit
  -h, --help             Display this help and exit

  uri                    URI to give newly inserted key; variations:
                           CHK@
                           KSK@<routing key>
                           SSK@<private key>[/<docname>]

  file                   Read key data from local file
                         (cannot be used with --stdin)

Examples:

To insert a Content Hash Key (CHK) with file "gpl.txt":
  fcpput CHK@ /home/hapi/gpl.txt

To insert a Keyword Signed Key (KSK) with file "gpl.txt" against a
freenet node at address raven.cp.net with hops to live 10:
  fcpput --htl 10 --address raven.cp.net KSK@gpl.txt gpl.txt

To insert a Subspace Signed Key (SSK) with file "gpl.txt":
  fcpput SSK@LNlEaG7L24af-OH~CKmyPOvJ~EM/ gpl.txt

To insert an SSK within named document "licenses":
  fcpput SSK@LNlEaG7L24af-OH~CKmyPOvJ~EM/licenses gpl.txt

FCP-GET Usage:

fcpget [-n hostname] [-p port] [-l hops to live] [-s] [-S]
       [-v verbosity] [-V] [-h] freenet_uri [FILE]

Options:

  -n, --address host     Freenet node address
  -p, --port num         Freenet node port
  -l, --htl num          Hops to live

  -a, --retry num        Number of retries after a timeout
  -s, --stdout           Write key data to stdout
  -S, --skip-local       Skip key in local datastore on retrieve
  -v, --verbosity num    Verbosity of log messages (default 2)
                         0=silent, 1=critical, 2=normal,
                         3=verbose, 4=debug
  -f, --logfile file     Full pathname for the output log file
                         (default stdout)

  -V, --version          Output version information and exit
  -h, --help             Display this help and exit

  uri                    URI to retrieve; variations:
                           CHK@
                           KSK@<routing key>
                           SSK@<private key>[/<docname>]

  file                   Write key data to local file
                         (cannot be used with --stdout)

FCP-X Usage:

fcpx [-n hostname] [-p port] [-v verbosity] [-f filename] COMMAND

COMMAND is one of the following FCP commands:

  hello
  info
  
Options:

  -n, --address host     Freenet node address
  -p, --port num         Freenet node port

  -v, --verbosity num    Verbosity of log messages (default 2)
                         0=silent, 1=critical, 2=normal,
                         3=verbose, 4=debug
  -f, --logfile file     Full pathname for the output log file
                         (default stdout)