Crates.io | mpad |
lib.rs | mpad |
version | 0.1.0 |
source | src |
created_at | 2019-10-31 23:30:36.256235 |
updated_at | 2019-10-31 23:30:36.256235 |
description | A Decentralised Local Multiplayer Text Pad |
homepage | |
repository | https://github.com/cetra3/mpad |
max_upload_size | |
id | 177268 |
size | 195,605 |
Mpad is a desktop app (mobile/web clients planned!) which allows you to share a simple text pad with other users on a local network:
Any changes you make on one mpad instance are instantly reflected to all other pcs using a CRDT for conflict resolution via multicast.
It was borne out of a frustration to have a shared clipboard between a few laptops around the office.
Requires rust & gtk installed (for gtk-rs
), then simply:
cargo build --release
From Path
cargo install --path .
Or from Cargo:
cargo install mpad
Typing mpad
in a terminal will bring up a window. Bring it up on each computer to have them participate.
Uses a slimmed down version of the existing ditto CRDT library (with an extra function or two added).
The multicast.rs does all the heavy lifting here!
239.1.1.1:1111
)This is exposed by a channel so it should be easy-ish to plug it into other frontends:
pub fn setup_channels() -> Result<(Sender<String>, Receiver<String>), Error>;
Where sender is where you send updates from your text pad, and receiver is where you receive updates from the wire.