Difference between revisions of "IRC"

Jump to navigation Jump to search
3,466 bytes added ,  21:04, 5 July 2016
(creating IRC guide page)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
NOTE: a lot of people think that you can get on IRC and talk to people right away.  That only works if people are in the channel you want at that very moment, and paying attention to that screen on their computer.
The reality is that most conversations in IRC happen over hours or days, so the only way to fully experience a channel such as #sudoroom is to find a way to stay logged into IRC continuously.  If you have a desktop computer that stays powered on and connected to the internet, this is easy.  Otherwise, you need to connect to a computer that stays on (such as a server) and leave an IRC session running there, using "screen" or "tmux" as described below.
If you log into IRC and say Hello and nobody gets back you to you for an hour, that is totally normal.  If you log out five minutes after asking a question, people will make fun of you an hour later when they look at their IRC sessions.
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.
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.
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.
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.


== Recommended Clients ==
== Recommended Clients ==
Line 22: Line 30:
== Basics ==
== 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.
For those that are new to IRC, it’s a good idea to become familiar with the [http://www.ircbeginner.com/ircinfo/ircc-commands.html common commands] that IRC programs support. Here are a few:
 
{| class="wikitable"
! Command !! Example !! Description
|-
| /join #channel_name || /join #sudoroom ||Join a channel
|-
| /me <action> || /me waves hello || Announces some action
|-
| /msg <nickname> <message> || /msg juul Hey! I need some help  || Send a direct message to another user
|-
| /ignore <nickname> || /ignore annoyingperson || Block someone that is harassing you
|-
|}
 
Although the above commands are likely to be supported by all IRC client programs, some only apply to specific clients. The following are supported by [https://irssi.org/ irssi]:
 
{| class="wikitable"
! Command !! Example !! Description
|-
| /help || /help || View documentation on supported commands
|-
| /help <command> || /help connect || View documentation on a specific supported command
|-
| /connect <server address> <port> || /connect irc.freenode.net 8001 || Connect to an IRC server
|-
| /set nick <nick> || /set nick someGuy2015 || Register your nickname with the IRC server/network
|-
| /set real_name <real name> || /set nick Bill Murray || Register your real name within the IRC server/network
|-
| /quit || /quit || Quits IRC program
|-
| /exit || /exit || Quits IRC program
|-
|}
 
See [https://irssi.org/documentation/ IRSSI Documentation] for more commands.


== FreeNode ==
== 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.
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.
=== Registering with FreeNode ===
The FreeNode IRC network allows you to register your nickname and associate it with your email address. This is done by using the following commands:
  /msg nickserv REGISTER <password> <email>
You should receive a message informing you that you need to check your email account and obtain instructions to verify yourself.
To make sure that your email address isn’t revealed to other users, use the following command to ensure that it is hidden.
  /msg NickServ SET HIDEMAIL ON
You can verify your information with the NickServ by using:
  /msg nickserv info


== Persistent CLI Client ==
== Persistent CLI Client ==
Line 36: Line 96:
=== Client Machine ===
=== 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.
You can 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 Client ===
Line 48: Line 108:
   irssi
   irssi


=== Getting Started ===
=== Configure ===


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.
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.  


You can use these commands to get started immediately:
The following commands will configure IRSSI to connect to the Freenode network with an SSL connection, with automatic joining of the #sudoroom channel.


Set your nick name and real name
  /network add Freenode
  /server add -auto -ssl -ssl_verify -ssl_capath /etc/ssl/certs -network Freenode irc.freenode.net 7000
  /channel add -auto #sudoroom Freenode
  /save


/set nick <nick>
After you’ve successfully registered your FreeNode nick name, you can run this command to configure IRSSI to login automatically after connecting to FreeNode.
/set real_name <Real Name>
Connecting to FreeNode


/connect irc.freenode.net 8001
  /network add -autosendcmd "/msg nickserv identify <password> ;wait 2000" Freenode
Join Channel
 
/join #sudoroom


=== Windows ===
=== Windows ===
Line 84: Line 142:
=== Managing Process ===
=== Managing Process ===


Use 'screen' command on the VPS to  
You can use [https://en.wikipedia.org/wiki/GNU_Screen GNU screen] or [https://en.wikipedia.org/wiki/Tmux tmux] to maintain a terminal session that will persist even after you disconnect from the SSH session on your client machine.
 
CTRL-A, then D - disconnect from the screen instance, and then use `screen -r`.


tmux (terminal multiplexer) is another option
For example, you can run 'screen' to start a screen session. Once the session is started, run any program you wish. To disconnect from the session press CTRL-A, followed by D key. You can then safely disconnect from your SSH session. When you return, use `screen -r` to reconnect.


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]
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