Changes

Jump to navigation Jump to search
5,506 bytes added ,  12:36, 14 May 2016
creating IRC guide page
Internet Relay Chat (IRC) is an instant messaging service that has been used on the internet since the early 1990s. IRC is made possible by the [https://en.wikipedia.org/wiki/Internet_Relay_Chat Internet Relay Chat Protocol (IRCP)], an application layer protocol. The chat process works on a client/server networking model. IRC clients are computer programs that a user can install on their system. These clients communicate with chat servers to transfer messages to other clients. IRC is mainly 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.

Many [https://en.wikipedia.org/wiki/Comparison_of_instant_messaging_protocols other instant messaging services] exist, however many services are proprietary and/or rely on a centralized platform. This does not appeal to organizations that wish to establish a channel of communication that can be adopted by users without fear of unwanted regulations by the service/platform provider. Although open source protocols such as [https://en.wikipedia.org/wiki/XMPP XMPP (formerly Jabber)] exist, IRC continues to be used because it is lightweight and stable.

== Recommended Clients ==

There are many various IRC clients available for many platforms.

=== Graphical Clients ===

* Cross-platform
** [https://www.pidgin.im/download/ Pidgin]
* Mac OS X
** [https://adium.im/ Adium]

=== Command Line Interface Clients ===

These clients are intended to be used from the command line interface (CLI), also known as the "terminal".

* [https://irssi.org/ irssi]

== Basics ==

IRC consists of channels. Each channel is like a chat room, and is represented by a name that begins with '#' followed by a string that represents the primary topic of the channel. Examples: #html, #css, #javascript, #go-lang.

== FreeNode ==

Many programming/hacking communities establish a channel on the [https://en.wikipedia.org/wiki/Freenode FreeNode IRC network] to facilitate discussions and provide support to members of their community.

== Persistent CLI Client ==

This section is a guide to setting up a command line based IRC client on a persistently running machine so that it stays connected within a channel even when you are not connected to the machine via SSH. This results in the ability to reconnect and view the messages in the channel that occurred even when you were not connected.

These instructions assume you are using an Ubuntu machine, and will be using the [https://irssi.org/ irssi] client.

=== Client Machine ===

You setup a system at home and configure your home network device(s) to make that machine available via the internet, or alternatively gain shell access to a server on the internet. There are services that provide free or paid shell access, with features and support for IRC that varies. Some of these services even provide support for [https://en.wikipedia.org/wiki/IRC_bot IRC bots]. Alternatively you can pay for a [https://en.wikipedia.org/wiki/Virtual_private_server Virtual Private Server (VPS)] for as low as $5 a month through services such as [digitalocean.com DigitalOcean], thus providing you with an entire UNIX-like server environment that you can use as you wish.

=== Install Client ===

Install the irssi client using the following command:

apt-get install irssi

After it’s done installing, simply run the program

irssi

=== Getting Started ===

Upon opening the program for the first time IRSSI may connect to a default IRC network. There is a configuration file in ~/.irssi/config that you can inspect, but you can use commands from within the program to configure IRSSI to automatically perform when you first open the program. This includes connecting to Freenode, authenticating using your registered nick name, and joining a default channel.

You can use these commands to get started immediately:

Set your nick name and real name

/set nick <nick>
/set real_name <Real Name>
Connecting to FreeNode

/connect irc.freenode.net 8001
Join Channel

/join #sudoroom

=== Windows ===

irssi support separate “windows” for the different channels you are connected to, or for the different people you are chatting with. If for some reason you do not see information on the screen for a command you’ve run, it may be displayed in another window.

An Ubuntu terminal can use the ALT key combined with a number key (e.g. ALT+1, ALT+2, ALT+3, etc) to switch between the different displays in IRSSI. This will not work via SSH however, so you will need to use the /window command instead.

/WINDOW NEW - Create new split window
/WINDOW NEW HIDE - Create new hidden window
/WINDOW CLOSE - Close split or hidden window

/WINDOW HIDE [<number>|<name>] - Make the split window hidden window
/WINDOW SHOW <number>|<name> - Make the hidden window a split window

/WINDOW SHRINK [<lines>] - Shrink the split window
/WINDOW GROW [<lines>] - Grow the split window
/WINDOW BALANCE - Balance the sizes of all split windows

=== Managing Process ===

Use 'screen' command on the VPS to

CTRL-A, then D - disconnect from the screen instance, and then use `screen -r`.

tmux (terminal multiplexer) is another option

See [http://carina.org.uk/screenirssi.shtml How to use screen and irssi] and [https://michael.lustfield.net/linux/irssi-using-screen-and-ssh IRSSI Using Screen and SSH]
128

edits

Navigation menu