Protocol and reference implementation for direct messaging over raw Ethernet
Go to file
Juhani Krekelä a7f841b0a0 Take better advantage of install(1) 2019-07-19 00:02:21 +03:00
.gitignore Start working on the frontend 2019-07-10 22:10:14 +03:00
CC0 First commit 2019-07-03 22:20:25 +03:00
Makefile Take better advantage of install(1) 2019-07-19 00:02:21 +03:00
README.md Add README.md 2019-07-17 16:36:08 +03:00
arp-request.c Remove unnecessary errno = 0; 2019-07-10 13:38:40 +03:00
ethermess-backend.c Allow tabs in messages 2019-07-16 00:43:22 +03:00
ethermess.1 Let's not give our example users multicast MACs 2019-07-16 19:13:25 +03:00
ethermess.7 Proofreading ethermess.7 2019-07-18 14:30:42 +03:00
ethermess.py Ensure we start off with a valid nick 2019-07-16 14:44:22 +03:00
ethertype-dump.c Remove unnecessary errno = 0; 2019-07-10 13:38:40 +03:00
frontend-backend-protocol.md Document the other case where msgid might become invalid 2019-07-15 11:02:39 +03:00
test.sh Only do setcap in test.sh if necessary 2019-07-16 12:34:34 +03:00

README.md

EtherMess

EtherMess is a protocol for direct messaging over bare Ethernet as well as a reference implementation for it in C and Python.

Building and installing

Build with make and install with make install. If you are installing somewhere other than the default of /usr/local, please set PREFIX to that location during both build and installation steps.

make install will tell you how to set the correct capability on ethermess-backend to allow running it as a normal user.

Protocol documentation

Description of the EtherMess protocol is provided as a man page ethermess.7. The description is contractual, and may not change in incompatible ways unless the version number in the EtherMess packets is updated.

Additionally a description of the protocol spoken between ethermess-backend and ethermess is provided to help understand the code and develop alternative frontends. The description is non-contractual and the protocol may change with future versions of ethermess.