Our Internet Relay Chat (IRC) server works prefectly with clients such as LimeChat (User friendly graphical interface) or nc
command.
The server features :
- private messages (1 to 1)
- channels (group chat) / operators / priviligies
- file transfert
This server supports the following commands :
- SENDFILE
- GETFILE
- NICK
- PASS_USER
- PRVMSG
- PONG
- IRCBOT
- DATE
- JOKE
- WHOAMI
- JOIN
- MODE
- KICK
- TOPIC
- INVITE
- QUIT
- PART
The main source for implementing these commands is Modern IRC Client Protocol
# Compile files
$> make
# run the server
$> ./ircserv <serverip> <port> <pass>
# example
$> ./ircserv localhost 9999 0000
# Compile file
$> make build=bot
# run the bot
$> ./a.out <serverip> <port> <pass>
# example
$> ./a.out localhost 9999 0000
# connect a client using nc command
$> nc -c <serverip> <port> <pass>
PASS <password>
NICK <nickname>
USER <username> 0 * <realname>
# example
$> nc -c localhost 9999 0000
PASS 0000
NICK Tommy
USER Homy 0 * lony
# Cleanning
$> make clean
$> make flclean
$> make fcleanbot
$> make clean
# Clean and recompile
$> make re
Internet Relay Chat Protocol 1459
Internet Relay Chat: Client Protocol 2812
RFC 1459 | Message format in 'pseudo' BNF
The Pitchfork Layout a convention for laying out source, build, and resource files in a filesystem to aide in uniformity, tooling, understandability, and compartmentalization.