MCCiupek / ft_irc

Writing a custom IRC server working with a real IRC client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ft_irc

image

Description

The objective of this project is to write a custom IRC server working with a real IRC client.

IRC is one of the earliest network protocols for text messaging and multi-participant chatting. It remains a popular standard and still sees heavy use in certain communities, specially the open source software community.

Internet is ruled by solid and standards protocols that allow a strong interaction between every connected computer. Hence our IRC server will have to respect these protocols.

Skills

  • Network & system administration
  • Object-oriented programming
  • Rigor
  • Unix

Introduction

Internet Relay Chat or IRC is a textual communication protocol on the Internet. It is instantaneous communication mainly in the form of discussions in groups via discussion channels, but can also be used for one-to-one communication.

IRC client programs connect to an IRC server to access a specific channel. IRC servers are connected between them to provide a global network with unique channels.

image

Handled commands

  • Connection

    • PASS
    • NICK
    • USER
    • [SERVER]
    • OPER
    • QUIT
    • [SQUIT]
  • Channel operations

    • JOIN
    • PART
    • MODE
    • TOPIC
    • NAMES
    • LIST
    • INVITE
    • KICK
  • Server

    • VERSION
    • STATS
    • [LINKS]
    • TIME
    • [CONNECT]
    • [TRACE]
    • ADMIN
    • INFO
  • Sending messages

    • PRIVMSG
    • NOTICE
  • User

    • WHO
    • WHOIS
    • WHOWAS
  • Miscellaneous

    • KILL
    • PING
    • PONG
    • ERROR
  • Optional

    • AWAY
    • REHASH
    • RESTART
    • SUMMON
    • USERS
    • WALLOPS
    • USERHOST
    • ISON

Sources

About

Writing a custom IRC server working with a real IRC client


Languages

Language:C++ 88.0%Language:C 4.6%Language:Makefile 4.2%Language:Python 3.2%