ft_irc is an IRC (Internet Relay Chat) server implementation, part of the 42 curriculum. It focuses on network programming, client-server architecture, and adhering to the IRC protocol.
- Multiple Client Handling: Supports multiple simultaneous client connections.
- TCP/IP Communication: Implements client-server communication using TCP/IP (v4 or v6).
- Authentication: Password-based client authentication.
- Nicknames and Usernames: Allows setting and changing nicknames and usernames.
- Channels: Join, message, and manage channels.
- Private Messaging: Send and receive private messages.
- Operators and Users: Differentiation between operators and regular users.
- Channel Commands: Includes commands like
KICK
,INVITE
,TOPIC
, andMODE
. - File Transfer: Capability for handling file transfers (Bonus).
- IRC Bot: Incorporates an IRC bot for additional functionalities (Bonus).
- Clone the repository
- Compile the program:
make
- Run the server:
./ircserv <port> <password>
- C++ programming language
- Networking protocols and socket programming
rfc 1459 Internet Relay Chat Protocol (1993)
rfc 2810 Internet Relay Chat: Architecture (2000)
rfc 2811 Internet Relay Chat: Channel Management (2000)
rfc 2812 Internet Relay Chat: Client Protocol (2000)
rfc 2813 Internet Relay Chat: Server Protocol (2000)