Git Product home page Git Product logo

ircd.js's Introduction

 ::::::::::..     .,-::::::::::::-.         ....:::::: .::::::. 
 ;;;;;;;``;;;;  ,;;;'````' ;;,   `';,    ;;;;;;;;;````;;;`    ` 
 [[[ [[[,/[[['  [[[        `[[     [[    ''`  `[[.    '[==/[[[[,
 $$$ $$$$$$c    $$$         $$,    $$   ,,,    `$$      '''    $
 888 888b "88bo,`88bo,__,o, 888_,o8P'd8b888boood88     88b    dP
 MMM MMMM   "W"   "YUMMMMMP"MMMMP"`  YMP"MMMMMMMM"      "YMmMY" 

                                            A Node.JS IRC Server
 ircd.js

About

Iโ€™m implementing rfc1459/rfc2812 in Node.

The server will allow clients to connect, join channels, change topics; basic stuff.

Done:

  • PING/PONG
  • PRIVMSG
  • MODE
  • JOIN
  • TOPIC
  • NAMES
  • LIST
  • INVITE
  • WHOWAS
  • TIME
  • VERSION
  • AWAY
  • WHO
  • OPER
  • KICK
  • WALLOP
  • CONNECT
  • Connection garbage like MOTD
  • Basic data validation
  • Simple JSON config file
  • Channel modes: o, p, s, t, n, m, i, l, b, v, k
  • User modes: i, w, o

Planned:

  • Services
  • Bring back server links
  • Server-to-server NICK messages when nicks are changed or new clients join
  • Server-to-server messages for JOIN, NJOIN, MODE, PRIVSG and NOTICE
  • SQUIT and QUIT for links
  • Server to server communication
  • More basic commands: NOTICE, MOTD, LINKS, TRACE, ADMIN, INFO
  • Log files and logging options
  • Local ops (+O)
  • Stats command
  • Add command line arguments for changing configuration path

Documentation

Install with npm install ircdjs.

Set up configuration in /etc/ircdjs/config.json.

Contributions

  • Sebastian A. Espindola (sespindola)
  • niklasf
  • treeform
  • guybrush (Patrick Pfeiffer)

License (GPL)

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.

ircd.js's People

Contributors

niklasf avatar sespindola avatar

Stargazers

Justin McCormack avatar

Watchers

Justin McCormack avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.