commit 01cfae3f558401f15fa54926055d6671e3327ee3 from: Omar Polo date: Sun Aug 20 09:26:27 2023 UTC rework and expand a bit the manpage commit - ec35ef67414eac54d21490e02bf3d2c7cbf09bcf commit + 01cfae3f558401f15fa54926055d6671e3327ee3 blob - 909333d6d163881158348690a7232d74d2ae4bd5 blob + 07c7b50bc346f63e0bc593b94551553a39f997c3 --- icbirc.8 +++ icbirc.8 @@ -44,28 +44,26 @@ to the ICB server. Messages from the ICB server are translated to IRC messages and forwarded to the IRC client. .Pp -Example: -.Bd -literal -offset indent -$ icbirc default.icb.net/slackers -.Ed -.Pp IRC (Internet Relay Chat) and ICB (Internet Citizen's Band) are two separate chat protocols. ICB is an older and simpler protocol, basically a subset of IRC. The two most significant differences (from the client's perspective) are: -.Pp -An ICB client can only join a single channel (called group). +.Bl -bullet +.It +an ICB client can only join a single channel (called group). Joining a second channel automatically parts the first channel. -.Pp -An ICB channel can only have a single operator (called moderator). +.It +an ICB channel can only have a single operator (called moderator). Giving operator status to a second client automatically removes operator status from the first client. -.Pp +.El .Sh SUPPORTED COMMANDS .Nm supports the following IRC commands: -.Pp .Bl -tag -width MODExoxnickx +.It CAP LS, CAP REQ, CAP END +Basic IRCv3 capability handling is present for compliance with a wider +range of IRC clients. .It PASS Set the default group, used during login. .It NICK @@ -106,7 +104,30 @@ For example: .It RAWICB hm,nick,msg Send msg to nick. .El +.Sh EXAMPLES +Connect to the ICB server +.Sq default.icb.net +on the default port 7326, accepting IRC commands on standard input and +faking IRC server messages on standard output: .Pp +.Dl $ icbirc default.icb.net +.Pp +Like the previous, but join automatically the group (channel) +.Sq slackers : +.Pp +.Dl $ icbirc default.icb.net/slackers +.Pp +Run +.Nm +with +.Xr inetd 8 , +suitable for connecting with IRC clients that don't support talking +IRC on a pipe: +.Pp +.Dl 6667 stream tcp nowait user /usr/local/bin/icbirc icbirc example.com +.Pp +.Sq user +needs to be changed with a valid, local user name. .Sh SEE ALSO .Rs .%T Internet Relay Chat Protocol @@ -137,8 +158,12 @@ The first version of .Nm was written in 2003. .Sh AUTHORS -Daniel Hartmeier -.Aq daniel@benzedrine.cx +.An -nosplit +.Nm +was written by +.An Daniel Hartmeier Aq daniel@benzedrine.cx +and is maintained by +.An Omar Polo Aq op@openbsd.org . .Sh CAVEATS ICB is not IRC. Depending on the ICB community on a particular server, netiquette rules @@ -150,16 +175,15 @@ commands might confuse the script. Clients should be properly configured and tested on a dedicated server before connecting to a public server. .Pp -In particular, WHOIS and WHO filtering is done on the proxy. Each such -request causes the proxy to fetch the entire user list from the ICB -server (there are no ICB commands that take filters), hence automatic -WHOIS requests from the IRC client can cause unwanted load on the ICB -server (turn off 'WHOIS on JOIN' in the IRC client, if enabled). +In particular, WHOIS and WHO filtering is done on the proxy. +Each such request causes the proxy to fetch the entire user list from the +ICB server (there are no ICB commands that take filters), hence +automatic WHOIS requests from the IRC client can cause unwanted load on +the ICB server +.Pq turn off 'WHOIS on JOIN' in the IRC client, if enabled . .Sh BUGS On ICB, a moderator (channel operator) can leave the group (channel) and rejoin later, preserving his status, as compared to IRC, where the channel would be left operator-less in this case. The proxy does not currently detect the operator status on rejoin in this case, and the IRC client will (temporarily) show the channel op-less. -.Pp -IPv6 is not supported yet.