DaviX


Davix is an open-source client for WebDAV and Amazon S3 available for Microsoft Windows, Apple MacOSX and Linux. Davix is written in C++ and provide several command-line tools and a C++ shared library.
Davix is a tool for remote I/O, file transfer and file management based on the HTTP protocol.
Davix is used at CERN by several projects, including the ROOT data analysis framework, the File Transfer Services, the European Middleware Initiative gfal2 library or the dynamic storage federation project.

Feature support

Davix supports:
  • SSL/TLS
  • User/password authentication
  • X.509 client certificates authentication
  • Redirection caching
  • Multi-range requests
  • Checksum calculation
  • Cession recycling
  • VOMS credential
  • Multi-sources via Metalink
  • SOCKS4/5
  • S3 and WebDAV operations

Examples of Davix command line use

to upload a file to a WebDAV repository

$ davix-put local_file davs://example.com/folder1/remote_file

to download a file from a S3 bucket with AWS authentication

$ davix-get --s3secretkey A --s3accesskey B s3://bucket1.s3-instance.com/long/path/remote_file local_file

To list a WebDAV repository over https

$ davix-ls davs://example.com/folder1/folder2/

To list an S3 bucket with AWS authentication

$ davix-ls --s3secretkey A --s3accesskey B s3://bucket1.s3-instance.com/

To create a subdirectory over WebDAV

$ davix-mkdir davs://example.com/folder1/folder2/folder4

Execute an HTTP PUT request to a RESTful webservice with the content "hello"

$ davix-http -X PUT—data "hello" http://example.com/rest/api/service

Platforms

Linux

Davix is available on several linux distributions via the Fedora, RedHat EPEL, Debian and Ubuntu software repositories.
The European Middleware Initiative and the European Grid Infrastructure distribute it through their project repositories.

macOS

The Homebrew distribution channel distributes sources and binaries for Davix.

Windows

Cygwin compatible binaries are available for Windows.