.Dd July 16, 2019 .Dt ETHERMESS 1 .Os .Sh NAME .Nm ethermess .Nd simple messenger over bare Ethernet .Sh SYNOPSIS .Nm .Ar interface .Ar nick .Sh DESCRIPTION .Nm allows sending and receiving messages over Ethernet or Wi-Fi networks using the EtherMess protocol. Since the EtherMess protocol uses bare Ethernet frames as its transport, IP connectivity is not needed. .Pp The .Nm command requires two arguments: .Bl -tag -width Ds .It Ar interface Network interface to talk over. .It Ar nick The nick to use for yourself. .El .Pp .Nm uses a very bare-bones line-oriented user interface. .Pp Lines that start with .Sq / are considered commands. Lines that do not will be sent as messages to the default target. .Ss Commands .Bl -tag -width Ds .It / Ar message Send a message to the default target. This form is only really useful for sending a message that starts with .Sq / . .It /msg Ar target Ar message Send a message to the specified target. .It /status Op Ar target Display the status of either a target (if specified) or yourself (if not). .It /peers List all the peers that .Nm knows about. .It /available Set your status to available. .It /unavailable Set your status to unavailable. .It /nick Op Ar nick Set your nick to the one specified or display the current one. .It /target Ar target Set the default target. .El .Ss Nick and Target The full form of a nick as used by .Nm is .Dq ~nick . Here the .Sq ~ refers to the fact that it is set by the user and untrusted, and also helps to differentiate it from a MAC address. In most cases you can drop the .Sq ~ without any effect. .Pp A target can be either a nick or a raw MAC address. .Ss Messages A message not from your default target will generally look like: .Bd -literal -compact 16:20:03 < ~hutenosa> Lorem ipsum. .Ed .Pp A message from your default target will instead look like: .Bd -literal -compact 16:20:03 <*~hutenosa> Lorem ipsum. .Ed .Ss Status There are four main types of status notifications: join, quit, status change, and nick change. .Pp The verbose form of a join is .Bd -literal -compact 20:08:19 >>> ~nick (status) [b8:00:f0:9f:a4:94] .Ed If the status is available, the .Dq (status) part will not be present. .Pp A normal quit looks like .Bd -literal -compact 18:09:22 <<< ~nick [b8:00:f0:9f:8d:86] .Ed And one due to a timeout looks like .Bd -literal -compact 18:14:23 <<< (timeout) ~nick [b8:00:f0:9f:8d:86] .Ed .Pp A status change looks like .Bd -literal -compact 19:06:49 === ~nick (status) [b8:00:f0:9f:8d:91] .Ed .Pp A nick change looks like .Bd -literal -compact 03:00:40 === ~oldnick -> ~newnick [b8:00:f0:9f:98:85] .Ed .Sh EXIT STATUS .Nm exits with status code 0 if it is exiting on user command and 1 if it is exiting due to the backend having quit. .Sh SEE ALSO .Xr ethermess 7