1. Prerequisites

Access to a UFTP authentication service and the corresponding UFTPD
server. To use the client, you need to know the address of the
authentication service.

If the UFTP authentication service is configured to use SSH-key
authentication, you cannot use this client on Windows. We do not yet
support SSH keys on Windows.

2. Installation

Unzip the archive in a location of your choice. Add the bin
directory to your path. (Alternatively, you can copy bin/uftp script
to a directory that is already on your path, in this case
edit the script and setup the required directories.)

3. Basic Usage

In this manual, we use the following format to indicate commands
that you can type on the command line:

$> some_command

and assume that the bin directory of the UFTP client is on your path.

Invoking uftp without any arguments,

$> uftp

will list the available commands.

Invoking

$> uftp <command> -h'

will show help for a particular command

For password authentication, use the "-u username:password" option, e.g.

If the password is not given, the client will attempt to use your SSH key for
authentication, this has to be configured on the authentication server
accordingly.

Note

You can also directly specify a value for the HTTP Authorization header with
the "-A" option. This allows to use an OIDC bearer token for authorization, e.g.
-A "Bearer <oidc_token>"

4. Examples

In the following examples, the authentication service is located
at "localhost:9000/rest/auth/TEST" and the user name is demo.
Replace these values by the correct ones for your installation.

4.1. Listing a directory: the "ls" command

$> uftp ls uftp://demo@localhost:9000/rest/auth/TEST:/home/demo/

will list the /home/demo directory.

4.2. Copying data: the "cp" command

The cp command is used to copy local data to a remote server or vice
versa. Remote locations are indicated by the "uftp://" prefix, and you
need your user name, and the URL of the authentication server.

will download all files in the /home/demo/test directory to the
current directory

Similar commands work for upload.

Piping data

The "cp" command can read/write from the console streams, which is
great for integrating uftp into Unix pipes. The "-" is used as a
special "file name" to indicate that data should be read/written using
the console.

For example to tar the contents of a directory and upload the tar file
using uftp:

Byte ranges

To copy just part of a file, a byte range can be given with the "-R"
option. Counting starts at "zero". For example to download only the
first 1024 bytes of file (i.e. the range 0 - 1023), you would do

Resuming a failed transfer

If a copy command was terminated prematurely, it can be resumed using
the "-r" option. If the "-r" option is present, the UFTP client will
check if the target file exists, and will append only the missing
data.