Transit Relay server for Magic-Wormhole
45824ca5d6
Replace the use of TCP in the test suite with Twisted's StringTransport, specifically StringTransportWithDisconnection which allows us to trigger a disconnect event on the server side during testing. The `dataReceived` method on the server is now called directly, and any effects will be realised immediately. Responses are available to the test client using the `value()` method of the transport objects, and the buffer can be cleared using `clear()`. This allows all asynchronous behaviour to be removed from the transit server test suite. Furthermore, as we never have to wait for the server, tests no longer hang if they fail: the errors are encountered immediately. |
||
---|---|---|
docs | ||
misc | ||
src | ||
.appveyor.yml | ||
.coveragerc | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
MANIFEST.in | ||
NEWS.md | ||
README.md | ||
setup.cfg | ||
setup.py | ||
tox.ini | ||
versioneer.py |
magic-wormhole-transit-relay
Transit Relay server for Magic-Wormhole
This repository implements the Magic-Wormhole "Transit Relay", a server that helps clients establish bulk-data transit connections even when both are behind NAT boxes. Each side makes a TCP connection to this server and presents a handshake. Two connections with identical handshakes are glued together, allowing them to pretend they have a direct connection.
This server used to be included in the magic-wormhole repository, but was split out into a separate repo to aid deployment and development.
See docs/running.md for instructions to launch the server.