Skip to content

Latest commit

 

History

History
176 lines (142 loc) · 2.43 KB

README.md

File metadata and controls

176 lines (142 loc) · 2.43 KB

IRC

An Internet Relay Chat (IRC) server.

Usage:

Git clone the repository and install a C++ compiler. For Ubuntu for example:

sudo apt install g++

In the root directory type "make".
To start the IRC server, type "./ircserv port password" where port is the listening port number and password is the password the clients need to join the IRC server.
The server will then start and wait for incoming connections.

To stop the IRC server, press "ctrl+c" or "ctrl+\".
To delete all binary files, type "make fclean".

Connection to the server using IRC client irssi:

Install the IRC client irssi.

sudo apt install irssi

To connect to the server run irssi:

irssi -n your_nickname

And then type the command:

/connect localhost port password

Display list of the channels:

/list -yes

Create a new channel or join the channel if it already exists:

/join channelname

Change the channel's topic:

/topic Topic description here.

Change channel mode to invite only:

/mode +i

Invite a user to the current channel:

/invite nickname

List nicknames of the users in the channel:

/names

Kick a user from a channel:

/kick nickname

Send a private message:

/msg nickname Your message here.

Leave irssi:

/quit

Docs: https://irssi.org/documentation/help/cat_Core%20Commands/

Change window in irssi:

Ctrl + n

Connection to the server using nc command:

To connect to the IRC server with a client, open a new terminal and type "nc localhost port"

Enter the password, nickname and user information.

PASS your_password
NICK your_nickname
USER username hostname servername :realname

Display list of the channels:

LIST

Create a new channel or join the channel if it already exists:

JOIN #channelname

Change the channel's topic:

TOPIC #channelname :Topic description here.

Change channel mode to invite only:

MODE #channelname +i

Invite a user to the current channel:

INVITE nickname #channelname

List nicknames of the users:

NAMES

Kick a user from a channel:

KICK #channelname othernick

Send a private message:

PRIVMSG recipient_nickname :Your message here

Leave the IRC server:

Ctrl + c

Docs: https://datatracker.ietf.org/doc/html/rfc1459