this IRC Server is a simple and lightweight IRC server written in C++98. It is designed to be easy to set up and use.
- Supports all basic IRC commands, such as JOIN, PART, PRIVMSG, and more
- Easy to set up and configure
- Lightweight and efficient
- Made for irssi but compatible with netcat
To install this IRC Server, follow these steps:
- Clone the repository:
git clone https://github.com/POLROTY/ft_irc.git - Build the server:
make - Start the server:
./ircserv portNumber password
To use this IRC Server, you will need an IRC client, such as irssi. Here are the steps to connect:
- Open your IRC client and enter the following command:
/connect host portNumber password - Once you are connected, you can join channels using the JOIN command, send messages using the PRIVMSG command, and more.
- You can also use the script, it will launch the server and connect two irssi clients:
bash launch_irc.sh portNumber password
/nick: Change your nickname./msg: Send a message to a user, channel or bot./join: Join a channel./invite: Invite a user to a channel. (+i mode)/topic: Change the topic of a channel. (need +o status)/kick: Kick a user from a channel. (need +o status)/part: Leave a channel./mode: Change the mode of a channel or user. (iob)/whois: Get information about a user. (if user is -i)/who: Get a list of users on a channel. (if users are -i)/oper: Authenticate as an IRC operator./notice: Send a notification to all users. (need +o status)/kill: Kill a user from the server or the server itself. (need +o status)/quit: Disconnect from the server.
For more information about each command, see the IRC specification at https://tools.ietf.org/html/rfc1459.
Here are some examples of basic IRC commands:
- Join a channel:
/join mychannelin irssi,JOIN #mychannelin netcat - Send a message to a user:
/msg username Hello, how are you?in irssi,PRIVMSG username :Hello, how are you?in netcat - Send a message to a channel:
/msg #mychannel Hello, everyone!in irssi,PRIVMSG #mychannel :Hello, how are you?in netcat - Quit the server:
/quitin irssi,QUITin netcat - Send a message to the bot:
/msg bot messagein irssi,PRIVMSG bot :messagein netcat - Send a file to an irssi client:
/dcc send <nickname> <path><filename> - Accept a file transfer from an irssi client:
/dcc get <nickname> <filename>
If you would like to contribute to this IRC Server, feel free to submit a pull request.
This project is licensed under the MIT License.