Skip to content

qxxel/ft_irc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_irc

42 Project
Language


📌 Summary


📖 About

ft_irc is a team project of 42 school.
It's a project focused on network programming and real-time communication.
The goal is to create a fully functional IRC (Internet Relay Chat) server in C++98, following the RFC 1459/2812 protocol specifications.


✨ Features

Custom IRC server compliant with RFC 1459/2812
Non-blocking I/O using epoll for concurrent connections
TCP socket programming with robust error handling
User authentication with password protection
Channel management (create, join, invite, kick, topic, modes)
Private messaging between users
Operator privileges and channel moderation
Multiple simultaneous clients support
Compatible with standard IRC clients (HexChat, nc)
Clean C++98 implementation with proper memory management


⚙️ Installation

1. Clone the repository

git clone git@github.com:qxxel/ft_irc.git

2. Access the directory

cd ft_irc

🕹️ Utilisation

1. Compile the project

make

2. Launch the executable

./ircserv <port> <password>

3. Connect with IRC client (HexChat) or nc

If you use Hexchat, you can adda Network and then edit it to set the IP adress with the port (ex: localhost/8080) and the password.

If you want to use nc it's a little bit different, you use it with the shell, but you have to send message with a precise form because it's adapt for HexChat.

nc <IP of server> <port>

If you use it on your own machine, <IP of server> is localhost.


📂 Directories structure

📂 ft_irc
 ┣ 📂 includes		→ headers files (hpp)
 ┣ 📂 srcs			→ sources files (cpp)
 ┣ .gitignore
 ┣ Makefile
 ┗ README.md

🔗 Ressources


👤 Author

  • Axel – GitHub
  • 42 student - login: agerbaud

About

In the Circle V in 42. Coding a server IRC that follows RFC, in team work.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors