Skip to content

MASV Transfer Agent

MASV Transfer Agent (masv-agent for short) is a cross-platform service that manages file transfers to and from MASV network. Interaction with the service is performed via REST API calls. It supports uploading and downloading multiple packages simultaneously, while abstracting away filesyetem interactions. The agent is the beating heart of our desktop app that's been used in production with hundreds of terabytes of data getting transferred through it, reliably and quickly.

The agent is stateful -- it stores metadata about transfers and user sessions in order to carry out its responsibilities and survive interruptions and shutdowns.

Download masv-agent

You can download the latest version of pre-packaged binaries of masv-agent for your operating system using the links below:

OS Arch Download link
linux amd64 masv-agent-linux-amd64.zip
darwin amd64 masv-agent-macos-amd64.zip
windows amd64 masv-agent-windows-amd64.zip

The zip package contains the masv-agent binary (versioned), along with a swagger API spec file that documents all the agent API end points.

Note

If you need a binary build for a different CPU architecture (e.g. i386 or arm), please contact team@masv.io.

Running the agent

To start the agent, simply run the masv-agent binary. By default, the service will attempt to start an http server listening locally on port 8080. You can customize the listening behaviour, like using different listening schema, specifying listen IP address and changing port by passing -listen argument. For example:

masv-agent -listen http://0.0.0.0:8888

Listening scheme/port

The following listening schemas are supported:

  • Plaintext http (no TLS). For example:
masv-agent -listen http://0.0.0.0:8123
  • HTTPS, using a self-signed TLS certificate. The certificate is generated at runtime each time the agent is started, so it does not persist. For example:
masv-agent -listen https://localhost:8443
  • Unix sockets (Linux and MacOS). For example (notice the triple slashes for absolute path):
masv-agent -listen unix:///path/to/socket/file.sock
  • Windows named pipes (Win 7 and later). For example
masv-agent -listen "\\.\pipe\name-of-pipe"

Help and more info

More customization is available via command line arguments, which can be viewed with

masv-agent -h

You can check which version of the agent you have by running

masv-agent -version

To compare the current version you have installed against the latest version release, run

masv-agent -version-check

Which will output something similar to the following:

current version:
  version: 1.0.0
  hash: b016705dd584c1de4bab2e061f03d1077d9259db
  timestamp: 2020-07-31T20:48:27+00:00

latest version:
  hash: b016705dd584c1de4bab2e061f03d1077d9259db
  version: 1.0.0