Skip to content
/ icb Public

minimalistic FIFO- and filesystem-based ICB client

License

Notifications You must be signed in to change notification settings

czarkoff/icb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

icb — Internet Citizen's Band client

SYNOPSIS

icb [-eV] [-c status] [-d dir] [-i type] [-k env] [-l login] [-n nick] group

DESCRIPTION

icb is a minimalistic FIFO- and filesystem-based Internet Citizen's Band (ICB) client. It creates an icb directory with subdirectory for ICB server, where subdirectries for group and nick name directories. In the leaf directories a FIFO file in and and normal file out are placed. The in file is used to communicate with the server and the out file contains the chat log. For every nick name there will be new in and out files. The basic idea of this is to be able to communicate with an ICB server with basic command line tools.

icb lacks its own networking support. It relies on UCSPI-compliant network client instead.

The following flags are available:

Flag Description
-c status If login will result in creation of a group, set its status to status.
-d dir Use dir instead of default ~/icb for program's directory tree.
-e Use “exteded packets” extension to ICB protocol. In this mode icb will not split message into smaller messages, but will send it in multiple packets with length 0.
-i types Ignore ICB packets of specified types.
-k env Get ICB account's password from env environment variable.
-l login Use login for login name when connecting. Defaults to system user name.
-n nick Set nick name to nick. Defaults to login name.
-s server Set server component of direcotry tree to server. As icb does no networking on its own, this parameter does not influence the network connection. Default value is read from REMOTEHOST environment variable, which should be set by UCSPI-complient tool.
-V Show version information and exit.

Following commands are interpreted specially when recieved from group FIFO:

Command Description
:m user Send personal message to user.
:c command Send command to server.
:p Ping server.
:q Quit chat.

EXAMPLES

Connect to local ICB server and enter group ‘users’, send public message followed by a private message to ‘root’:

$ tcpopen localhost icb icb users 
$ echo hello, world! > ~/icb/localhost/ 
$ echo :m root hi > ~/icb/localhost/

SEE ALSO

ii, tcpclient.

CAVEATS

  • ICB is not a well-defined protocol. Things may not work properly in all cases. Use with care.
  • Due to program design and limitations of ICB protocol one icb instance can only deal with one group.

About

minimalistic FIFO- and filesystem-based ICB client

Resources

License

Stars

Watchers

Forks

Packages

No packages published