GridFTP.NET Clients

 

A pair of GridFTP clients is included in the Bin directory where GridFTP was installed, a command line client (dotNetGridFTPClient.exe) and a graphical client (GridFTPGUI.exe). In order to use either client, the first step is to import a client certificate into the certificate store.

 

NOTE: If you are a developer interested in writing .NET software that leverages our .NET GridFTP support, all of the source code for the .NET GridFTP clients and libraries is included in the installation directory. Please contact us through for more information.

 

GridFTP GUI Client

 

The GridFTP Client GUI provides a convenient graphical interface for browsing the contents of remote GridFTP servers and transferring files between them. It also supports download and upload between the desktop and remote servers.

 

Connecting

To open a new connection to one or more remote servers, go to the File menu and choose Connect. This will bring up a list of configured sites (initially empty):

 

 

The New Site button will allow you to configure the connection parameters for a server and add it to the list. Delete removes a site from the list. You can also right-click on a site name and choose Edit to modify the connection parameters of a site that’s previously been added.

 

You can select one or more sites from the list (CTRL or SHIFT click) and use the Connect button to connect to them all at once.

 

Configuring a New Site

 

 

The Host Name and Port fields are relatively straightforward allowing you to set the DNS host name of the GridFTP server you’d like to connect to and what TCP port the server is listening on. Click the Select button next to the Client Certificate field to browse the various folders in the certificate store and choose the client certificate you imported.

 

The Host Subject DN field is an optional field for when the certificate used by the target GridFTP server does not include the hostname in the CN attribute. You can enter an X.509 Distinguished Name (DN) in the Host Subject DN field to indicate the expected DN of the server’s certificate. If upon connecting to the server you would like to land in an initial directory that’s different from the home directory chosen by the server, you can use the Initial Directory field to specify the path on the target server where you would like to start browsing.

 

The Site Properties dialog also allows you to set some parameters to tune the performance associated with connections to a site. In particular, you can adjust the number of Parallel Streams, the TCP Buffer size or the Block Size used for transfers involving the site.

 

Once all the desired parameters are set, the Create button will add the server to the list of available sites. You can then select one or more sites from the list (CTRL or SHIFT click) and use the Connect button to connect to them all at once.

 

Managing File Transfers

 

 

The default initial view after connecting to one or more servers will have each server represented by a tab across the top. You can display the contents of multiple servers at once by right-clicking on a tab and selecting Move to Alternate Tab Group. You can then drag and drop files between the servers you’re connected to. You can also drag and drop files to and from the Desktop or a directory in Windows Explorer.

 

The buttons on the left side of the tab allow for things like creating and removing directories, deleting files, refreshing the view or disconnecting from a server. The Download and Upload buttons allow you to move files between your local file system and the remote server.

 

 

GridFTP Command Line Client

 

The command line client supports two basic modes of operation, batch and interactive. Interactive mode will let you enter commands one at a time until the connection is closed, batch mode will execute a single transfer and then quit (similar to globus-url-copy). Batch mode is enabled with the –batch switch, the default mode is interactive. A client certificate DN or file can be specified on the command line (mostly for batch mode), if not a Certificate Selection Dialog box will allow you to interactively choose a client certificate from the certificate store.

 

Command Line Options

-help, -usage                Prints out a help/usage message indicating all the command line options

-version                            Displays the current program version

 

Common Options – For both interactive and batch mode

 -d, -dbg, -debugftp                        Enables printing of debugging information

 -t, -transfer-type <type>         FTP transfer type (ASCII, BINARY, etc.)

 -ss, -source-subject <dn>         The expected subject DN of the source host, for authorization

 -ds, -dest-subject <dn>              The expected subject DN of the destination host, for authorization

 -s, -subject <dn>                              Expected subject DN for both source and destination

 -cert, -clientCertDn <dn>         DN of a client authentication certificate in the CurrentUser store,

if not specified a Certificate Selection Dialog will allow you to select a certificate

 -cf, -certFile <filename>         Path to a DER-encoded certificate file for client authentication,

this is an alternative to using a certificate from the Certificate Store. The file must

contain a DER-encoded private key as well.

 

Interactive Mode Options – The following commands are optional, if omitted a session can be started interactively

-H, -host                                      The hostname to connect to

-P, -port                                      The port to connect to on the target host

 -c, -connection                      Number of (parallel) connections to use

 

Batch Mode Options (-batch)

dotNetGridFtpClient.exe -batch [options] <sourceUrl> <destUrl>

where URLs start with gsiftp:// or file://

 

-batch                                 Enables batch mode commands, program exits after requested transfer.

(Interactive mode is default)

-r, -recurse                  Recurse through the directory tree

-v, -verbose                  Verbose output for command

-vb, -verbose-perf   Enable performance related output

-tcp-bs, -tcp-buffer-size <size>   Sets the TCP buffer size

-bs, -block-size <size>                           The block size to use for the transfer

-p, -parallel <streams>                           The number of parallel streams to use for the transfer

-notpt, -no-third-party-transfers  Disables 3rd party transfers

-len, -partial-length                                Partial data length

-stripe                                                                   Enables transfer striping