Ii (IRC client)

Last updated
ii
Original author(s) Anselm R. Garbe, Nico Golde
Stable release
1.9  OOjs UI icon edit-ltr-progressive.svg / 7 January 2022
Written in C
Operating system Unix-like
Available inEnglish
Type IRC client
License MIT License
Website tools.suckless.org/ii/

IRC It, or ii is a free and open-source Unix IRC client written in C by the suckless.org community.

Contents

From the readme: [1]

ii is a minimalist FIFO and filesystem-based IRC client. It creates an irc directory tree with server, channel and nickname directories. In every directory a FIFO in file and a normal out file is created. The in file is used to communicate with the servers and the out files contain the server messages. For every channel and every nickname there are related in and out files created. This allows IRC communication from command line and adheres to the Unix philosophy.

ii is described as a client "even more plain" than the usual CLI-based clients, which are "commonly thought to be the most basic". It consists of less than 500 lines of sourcecode. Its core command set includes "joining and parting, changing nickname and setting topics." [2]

Author Tobias Schlitt called ii "fantastic" and his "tool of the year", which "simply uses the file system to structure IRC connections, channels and queries and offers FIFOs to communicate with the server. It allows you to write IRC bots in bash (or any other language that allows file access)". [3]

See also

Related Research Articles

A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening, renaming, copying, moving, deleting and searching for files, as well as modifying file attributes, properties and file permissions. Folders and files may be displayed in a hierarchical tree based on their directory structure.

GNU Hurd Operating system kernel designed as a replacement for Unix

GNU Hurd is a collection of microkernel servers written as part of GNU, for the GNU Mach microkernel. It has been under development since 1990 by the GNU Project of the Free Software Foundation, designed as a replacement for the Unix kernel, and released as free software under the GNU General Public License. When the Linux kernel proved to be a viable solution, development of GNU Hurd slowed, at times alternating between stasis and renewed activity and interest.

Internet Relay Chat Protocol for real-time Internet chat and messaging

Internet Relay Chat (IRC) is a text-based chat system. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing.

Plan 9 from Bell Labs Distributed operating system

Plan 9 from Bell Labs is a distributed operating system, originating in the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s, and building on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 is free and open-source. The final official release was in early 2015.

Apache Subversion Free and open-source software versioning and revision control system

Apache Subversion is a software versioning and revision control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS).

Rational ClearCase is a family of computer software tools that supports software configuration management (SCM) of source code and other software development assets. It also supports design-data management of electronic design artifacts, thus enabling hardware and software co-development. ClearCase includes revision control and forms the basis for configuration management at large and medium-sized businesses, accommodating projects with hundreds or thousands of developers. It is developed by IBM.

The Andrew File System (AFS) is a distributed file system which uses a set of trusted servers to present a homogeneous, location-transparent file name space to all the client workstations. It was developed by Carnegie Mellon University as part of the Andrew Project. Originally named "Vice", "Andrew" refers to Andrew Carnegie and Andrew Mellon. Its primary use is in distributed computing.

cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL".

9P is a network protocol developed for the Plan 9 from Bell Labs distributed operating system as the means of connecting the components of a Plan 9 system. Files are key objects in Plan 9. They represent windows, network connections, processes, and almost anything else available in the operating system.

In computing, a named pipe is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication (IPC). The concept is also found in OS/2 and Microsoft Windows, although the semantics differ substantially. A traditional pipe is "unnamed" and lasts only as long as the process. A named pipe, however, can last as long as the system is up, beyond the life of the process. It can be deleted if no longer used. Usually a named pipe appears as a file, and generally processes attach to it for IPC.

An IRCd, short for Internet Relay Chat daemon, is server software that implements the IRC protocol, enabling people to talk to each other via the Internet. It is distinct from an IRC bot that connects outbound to an IRC channel.

The seven standard Unix file types are regular, directory, symbolic link, FIFO special, block special, character special, and socket as defined by POSIX. Different OS-specific implementations allow more types than what POSIX requires. A file's type can be identified by the ls -l command, which displays the type in the first character of the file-system permissions field.

Secure Shell (SSH) is a protocol allowing secure remote login to a computer on a network using public-key cryptography. SSH client programs typically run for the duration of a remote login session and are configured to look for the user's private key in a file in the user's home directory. For added security, it is common to store the private key in an encrypted form, where the encryption key is computed from a passphrase that the user has memorized. Because typing the passphrase can be tedious, many users would prefer to enter it just once per local login session. The most secure place to store the unencrypted key is in program memory, and in Unix-like operating systems, memory is normally associated with a process. A normal SSH client process cannot be used to store the unencrypted key because SSH client processes only last the duration of a remote login session. Therefore, users run a program called ssh-agent that runs beyond the duration of a local login session, stores unencrypted keys in memory, and communicates with SSH clients using a Unix domain socket.

The following tables compare general and technical information between a number of IRC client programs which have been discussed in independent published literature.

An NTFS reparse point is a type of NTFS file system object. It is available with the NTFS v3.0 found in Windows 2000 or later versions. Reparse points provide a way to extend the NTFS filesystem. A reparse point contains a reparse tag and data that are interpreted by a filesystem filter identified by the tag. Microsoft includes several default tags including NTFS symbolic links, directory junction points, volume mount points and Unix domain sockets. Also, reparse points are used as placeholders for files moved by Windows 2000's Remote Storage Hierarchical Storage System. They also can act as hard links, but aren't limited to point to files on the same volume: they can point to directories on any local volume. The feature is inherited to ReFS.

An automounter is any program or software facility which automatically mounts filesystems in response to access operations by user programs. An automounter system utility, when notified of file and directory access attempts under selectively monitored subdirectory trees, dynamically and transparently makes local or remote devices accessible.

Toybox is a free and open-source software implementation of over 200 Unix command line utilities such as ls, cp, and mv. The Toybox project was started in 2006, and became a 0BSD licensed BusyBox alternative. Toybox is used for most of Android's command line tools in all currently supported Android versions, and is also used to build Android on Linux and macOS. All of the tools are tested on Linux, and many of them also work on BSD and macOS.

Smuxi IRC client

Smuxi is a cross-platform IRC client for the GNOME desktop inspired by Irssi. It pioneered the concept of separating the frontend client from the backend engine which manages connections to IRC servers inside a single graphical application.

Quassel IRC Cross-platform IRC client

Quassel IRC, or Quassel, is a graphical, distributed, cross-platform IRC client, introduced in 2008. It is released under the GNU General Public License version 2, or version 3, for GNU and Unix-like operating systems, macOS, and Microsoft Windows. It has also been ported to OS/2 Warp due to its cross-platform nature. Since the release of Kubuntu 9.04 Quassel is Kubuntu's default IRC client. Quassel uses the Qt application framework.

References

  1. Golde, Nico; Garbe, Anselm (31 October 2011). "ii". suckless. suckless.org. Retrieved 2012-10-12.
  2. Lederer, Christian ("phrozen77") (September 13, 2010). "ii – A Filesystem-based IRC Client". irc-junkie.org. Sulzbach-Rosenberg, Germany: IRC-Junkie.org: Your daily dose of IRC related news. Archived from the original on July 25, 2011. Retrieved 2012-10-12.(rationale)
  3. Schlitt, Tobias (November 27, 2008). "Tool of the year: ii (irc it)". Dinslaken, Germany: schlitt.info. Retrieved 2012-10-12.(rationale)