IRC 2.0 (Json based Web IRC) implementation, using Node.js, Socket.io, Extjs, Phantomjs and jQuery.
Based on RFC2812: http://tools.ietf.org/html/rfc2812.
npm install
sudo npm install -g forever
Using Apache or nginx, serve content from the public/ folder.
This does not need to live on the same server or domain as the Socket.IO IRC server.
Edit public/config.js to adjust settings.
sudo npm start
sudo npm stop
- NICK
- USER
- WHOIS
- JOIN
- PART
- PRIVMSG
- MOTD
- LUSERS
- PONG
- TOPIC
- LIST
- OPER
- NAMES
- QUIT
- AWAY
- MODE
- KILL
- INFO
- ADMIN
- TIME
- VERSION
- WHO
- USERS (Not implemented, returns ERR_USERSDISABLED as per RFC2812)
- WALLOPS (As per RFC2812, this command can be abused. Limited access to IRC Operators)
- ISON
- USERHOST
- INVITE
- KICK
Supported Server to Client commands:
- RPL_WELCOME
- RPL_YOURHOST
- RPL_CREATED
- RPL_MYINFO
- ERR_NOSUCHNICK
- ERR_NONICKNAMEGIVEN
- RPL_WHOISUSER
- RPL_WHOISSERVER
- RPL_ENDOFWHOIS
- ERR_NICKNAMEINUSE
- ERR_NEEDMOREPARAMS
- ERR_NOSUCHCHANNEL
- RPL_TOPIC
- RPL_NOTOPIC
- RPL_NAMREPLY
- JOIN
- PART
- ERR_NOTEXTTOSEND
- ERR_NORECIPIENT
- PRIVMSG
- RPL_WHOISCHANNELS
- QUIT
- RPL_MOTDSTART
- RPL_MOTD
- RPL_ENDOFMOTD
- ERR_NOMOTD
- RPL_LUSERCLIENT
- RPL_LUSEROP
- RPL_LUSERUNKOWN
- RPL_LUSERCHANNELS
- RPL_LUSERME
- RPL_WHOISIDLE
- RPL_WHOISOPERATOR
- PING
- RPL_LISTEND
- RPL_LIST
- RPL_YOUREOPER
- ERR_PASSWDMISMATCH
- NICK
- ERR_ERRONEUSNICKNAME
- RPL_ENDOFNAMES
- RPL_UNAWAY
- RPL_NOWAWAY
- RPL_AWAY
- ERR_UMODEUNKNOWNFLAG
- ERR_USERSDONTMATCH
- RPL_UMODEIS
- ERR_NOPRIVILEGES
- RPL_INFO
- RPL_ENDOFINFO
- RPL_ADMINME
- RPL_ADMINLOC1
- RPL_ADMINLOC2
- RPL_ADMINEMAIL
- RPL_TIME
- RPL_VERSION
- RPL_WHOREPLY
- RPL_ENDOFWHO
- ERR_USERSDISABLED
- WALLOPS
- RPL_ISON
- RPL_USERHOST
- INVITE
- RPL_INVITING
- RPL_INVITELIST
- RPL_ENDOFINVITELIST
- ERR_CHANNELISFULL
- ERR_BADCHANNELKEY
- ERR_CANNOTSENDTOCHAN
- ERR_CHANOPRIVSNEEDED
- KICK
- RPL_EXCEPTLIST
- RPL_ENDOFEXCEPTLIST
- RPL_ENDOFBANLIST
- RPL_BANLIST