Protocol and reference implementation for direct messaging over raw Ethernet
Go to file
Juhani Krekelä bd23f43cfa Notify frotend of Speak version packets 2019-08-04 11:31:07 +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 Make licensing clear 2019-07-20 22:32:45 +03:00
arp-request.c Remove unnecessary errno = 0; 2019-07-10 13:38:40 +03:00
ethermess-backend.c Notify frotend of Speak version packets 2019-08-04 11:31:07 +03:00
ethermess.1 Let's not give our example users multicast MACs 2019-07-16 19:13:25 +03:00
ethermess.7 Don't create Speak version packets for broadcasts. 2019-07-28 20:58:57 +03:00
ethermess.py Notify frotend of Speak version packets 2019-08-04 11:31:07 +03:00
ethertype-dump.c Remove unnecessary errno = 0; 2019-07-10 13:38:40 +03:00
frontend-backend-protocol.md Notify frotend of Speak version packets 2019-08-04 11:31:07 +03:00
test.sh Make test.sh add the veth0a and veth0b interfaces automatically 2019-08-04 11:15:28 +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.

Licensing

Everything in the repository is under Creative Commons Zero 1.0 Universal license.