diff --git a/README.md b/README.md new file mode 100644 index 0000000..0be54f4 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# syndicate-sh + +This is an implementation of the Syndicate network protocol (based on +[Preserves](https://preserves.gitlab.io/)) for Bash. + +**Q.** Is this a joke, or is this serious? +**A.** Yes. + +## Dependencies + +First, it depends on Bash-specific shell features. + +Second, you'll need the `preserves-tool` program, which `syndicate.sh` +uses to slice and dice network packets. It's written in Rust, so you +can get it with: + + cargo install preserves-tools + +Third, you'll need a Syndicate network server ("broker"). The best +option at present is the Rust-language server: + + cargo install syndicate-server + +## Running the demo + +Start the server in one terminal, in the same directory as the +`syndicate.sh` file: + + syndicate-server -s ./sock + +Then, in one or more other terminals, run `syndicate.sh`: + + ./syndicate.sh