A small Internet Relay Chat (IRC) server built in C++. It can be used with used with different clients (IRSSI, NC, etc) locally, over a network, or using the host's public IP.
- Seamless communication between clients
- Make channels, grant/remove admin rights, set channel parameters
- !quote to query the inspirational bot API
-
Clone & launch server:
git clone https://github.com/romanmikh/42_irc.git 42_irc cd 42_irc make ./ircserv <port> <password>
-
Install IRSSI & launch client:
# install ninja (irssi dependency) git clone https://github.com/ninja-build/ninja.git && cd ninja git checkout release && cd .. # install meson (irssi dependency) sudo apt install meson # install irssi wget https://codeberg.org/irssi/irssi/releases/download/1.4.5/irssi-1.4.5.tar.xz tar xJf irssi-1.4.5.tar.xz cd irssi-1.4.5 sudo apt install cmake libssl-dev libglib2.0-dev libutf8proc-dev libncurses-dev meson Build ninja -C Build && sudo ninja -C Build install irssi
From within IRSSI, execute:
/connect localhost <port> <password> # this can be done from multiple clients
-
Valgrind output saved in valgrind_out.txt after:
ulimit -n 1024 # necessary once only, to address 'file descriptor too high' error make valgrind
- mIRC the OG app we are recreating
- en.wikipedia.org/wiki/IRC
- High-level Guide
- Official IRC Protocol
This project was a collaboration between edenjamsalem, romanmikh and kellyhayd.
