This project is an implementation of an Internet Relay Chat (IRC) server, following the specifications outlined in RFC 1459. IRC is a widely used protocol for real-time communication in the form of text messages between users in a network of servers. RFC 1459 defines the standards for IRC, covering various aspects such as message formats, server-client communication, channel management, and user authentication.
-
After installing Hexchat, in the "Network List" window, click the "Add" button to add a new server.
-
Enter the server name, edit the address and port for your IRC server.
-
In the "Login Method" field, select the Server Password command (/PASS password).
-
nc "hostname" "port".
-
Then you can see how to enter the server with "HELPME" command.
-
BOT: If the bot is connected to the server, it will broadcast a message to all clients, and the content of this message will be based on the first parameter provided.
-
CAP: The CAP command serves as a handshake mechanism between server to HexChat and bot.
-
HELPME: The HELPME command provides users with explanations on how to connect to the server using Netcat. It is a helpful resource for users who may be new to the IRC environment or need assistance with the connection process.
-
INFO: The INFO command lists all available commands, serving as a quick reference guide for users to understand the functionalities offered by the IRC system.
-
INVITE: The INVITE command is used by operators to invite someone to a specific channel, granting them access to the channel's conversations and activities.
-
JOIN: The JOIN command allows users to either create a new channel or join an existing one, enabling them to participate in discussions within that channel.
-
KICK: The KICK command is a tool for channel operators to remove a user from a channel, maintaining control over the channel environment.
-
LIST: The LIST command provides a list of all channels along with their respective topics, offering users an overview of the available channels on the server.
-
MODE: Only operators use the MODE command, and it is related to channel settings. Operators can modify channel parameters, such as changing the channel's key or setting user limits.
-
NICK: The NICK command allows users to set or change their nickname, providing a personalized identifier for interactions on the IRC network.
-
NOTICE: The NOTICE command is used to send messages to clients, providing a means of communication between users without broadcasting the message to an entire channel.
-
OPER: The OPER command allows operators to grant operator privileges to another user, expanding the team of individuals with administrative control over the channel.
-
PART: The PART command is used to leave a specific channel, allowing users to exit channels they no longer wish to participate in.
-
PASS: The PASS command is used to enter the server password, ensuring secure access to the IRC network.
-
PRIVMSG: The PRIVMSG command allows users to send private messages to specific clients or broadcast messages to an entire channel
-
QUIT: The QUIT command is used to gracefully exit the server, signaling the end of a user's connection.
-
TOPIC: The TOPIC command enables users to set the topic for a specific channel, providing a brief description or focus for discussions within that channel.
-
USER: The USER command is used to set or change the username associated with a user's connection.
-
WHO: The WHO command lists all users in a specific channel, offering a snapshot of the current participants in that channel.
-
WHOIS: The WHOIS command prints detailed information about a specific user, providing insights into their connection details and other relevant information.