Remote Sessions
Control torrents from a remote computer and view their progress and state.
When the user adds a new torrent, assuming the user has more than 1 machine configured, a dialog will be displayed asking the user on which machine the user would like to download the torrent.
The remote torrent will be displayed in the list of torrents and will be controllable from the app.
The user will be able to use an existing account to authenticate multiple machines against the server.
Whiteboard
* Client starts up.
* Client opens a port in the router using upnp and nat-pmp.
* Client contacts the server, telling it it's online and its listening port.
* Server returns to the client a list of IPs it should publish updates to.
* Client starts publishing its progress using zmq to the set of IPs returned from the server.
* When a client connects, the server publishes this information.
* Clients subscribe to each other and receive updates.