Skip to content

This IRC server features private, group chat and file transfert

License

Notifications You must be signed in to change notification settings

Mushigarou/IRC-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IRC

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

Usage

# 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

Sources :

what is socket programming ?

Command Reference

Modern IRC Client Protocol

Internet Relay Chat Protocol 1459

Internet Relay Chat: Client Protocol 2812

RFC 1459 | Message format in 'pseudo' BNF

IRC Modes

Other Sources :

The Pitchfork Layout a convention for laying out source, build, and resource files in a filesystem to aide in uniformity, tooling, understandability, and compartmentalization.

About

This IRC server features private, group chat and file transfert

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published