ethermess/ethermess.1

118 lines
2.7 KiB
Groff

.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