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.
You can download the latest version of pre-packaged binaries of masv-agent for your operating system using the links below:
The zip package contains the masv-agent binary (versioned), along with a swagger API spec file that documents all the agent API end points.
If you need a binary build for a different CPU architecture (e.g. i386 or arm), please contact firstname.lastname@example.org.
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
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
You can check which version of the agent you have by running
To compare the current version you have installed against the latest version release, run
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