Skip to main content

Securely transfer data between computers

Project description

# Magic Wormhole Mailbox Server [![PyPI](http://img.shields.io/pypi/v/magic-wormhole-mailbox-server.svg)](https://pypi-hypernode.com/pypi/magic-wormhole-mailbox-server) [![Build Status](https://travis-ci.org/warner/magic-wormhole-mailbox-server.svg?branch=master)](https://travis-ci.org/warner/magic-wormhole-mailbox-server) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/mfnn5rsyfnrq576a/branch/master?svg=true)](https://ci.appveyor.com/project/warner/magic-wormhole-mailbox-server) [![codecov.io](https://codecov.io/github/warner/magic-wormhole-mailbox-server/coverage.svg?branch=master)](https://codecov.io/github/warner/magic-wormhole-mailbox-server?branch=master)

This repository holds the code for the main server that [Magic-Wormhole](http://magic-wormhole.io) clients connect to. The server performs store-and-forward delivery for small key-exchange and control messages. Bulk data is sent over a direct TCP connection, or through a [transit-relay](https://github.com/warner/magic-wormhole-transit-relay).

Clients connect with WebSockets, for low-latency delivery in the happy case where both clients are attached at the same time. Message are stored to enable non-simultaneous clients to make forward progress. The server uses a small SQLite database for persistence (and clients will reconnect automatically, allowing the server to be rebooted without losing state). An optional “usage DB” tracks historical activity for status monitoring and operational maintenance.

## Installation

` pip install magic-wormhole-mailbox-server `

You either want to do this into a “user” environment (putting the twist and twistd executables in ~/.local/bin/) like this:

` pip install --user magic-wormhole-mailbox-server `

or put it into a virtualenv, to avoid modifying the system python’s libraries, like this:

` virtualenv venv source venv/bin/activate pip install magic-wormhole-mailbox-server `

You probably don’t want to use sudo when you run pip, since the dependencies that get installed may conflict with other python programs on your computer. pipsi is usually a good way to install into isolated environments, but unfortunately it doesn’t work for magic-wormhole-mailbox-server, because we don’t have a dedicated command to start the server (twist, described below, comes from the twisted package, and pipsi doesn’t expose executables from dependencies).

For the installation from source, clone this repo, cd into the folder, create and activate a virtualenv, and run pip install ..

## Running A Server

Note that the standard [Magic-Wormhole](http://magic-wormhole.io) command-line tool is preconfigured to use a mailbox server hosted by the project, so running your own server is only necessary for custom applications that use magic-wormhole as a library.

The mailbox server is deployed as a twist/twistd plugin. Running a basic server looks like this:

` twist wormhole-mailbox --usage-db=usage.sqlite `

Use twist wormhole-mailbox --help for more details.

If you use the default --port=tcp:4000, on a machine named example.com, then clients can reach your server with the following option:

` wormhole --relay-url=ws://example.com:4000/v1 send FILENAME `

## License, Compatibility

This library is released under the MIT license, see LICENSE for details.

This library is compatible with python2.7, and python3 (3.5 and higher).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magic-wormhole-mailbox-server-0.4.0.tar.gz (64.8 kB view details)

Uploaded Source

Built Distribution

magic_wormhole_mailbox_server-0.4.0-py2.py3-none-any.whl (45.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file magic-wormhole-mailbox-server-0.4.0.tar.gz.

File metadata

  • Download URL: magic-wormhole-mailbox-server-0.4.0.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.13

File hashes

Hashes for magic-wormhole-mailbox-server-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f557669c224c6f16ccd73db0d1a67b12c5f0a252a496dea624f73380cd0c84af
MD5 c988341cd34444417c4c3b5ba1f819be
BLAKE2b-256 829b1e04d23181d4b673d3600dd18471a874d7472c6ea852908e68de55064b22

See more details on using hashes here.

File details

Details for the file magic_wormhole_mailbox_server-0.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: magic_wormhole_mailbox_server-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 45.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.13

File hashes

Hashes for magic_wormhole_mailbox_server-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 76b68375c961c1d0e23d6a622737efdd51c4d8dde1680725a9c8f8baa71cbf9f
MD5 1b39ca9a60846e5e626f06844070eeba
BLAKE2b-256 43ab43d4f6d6db27f911afab1028a06fad64a078021f1001a872dd20ae3d4889

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page