ircb, or IRC Bouncer, is an attempt to make next gen IRC bouncer as a service, from the ground up. It focuses on: - easy setup, deployment, management - low barrier and automated entry point for users - handle scale: - support multiple nodes to distribute connections to IRC networks - load balance client connections - optimize network IO usage, by using intelligent caching - support multiple client connections for the same connection to IRC network
Source code: https://github.com/waartaa/ircb/ Design doc: https://github.com/waartaa/ircb/wiki/Design-docs
ircb1 is a IRC Bouncer as a service, made for humans. It's currently functional as a basic IRC bouncer, however, unlike mainstream IRC bouncers, it supports multiple client connections for the same IRC network connection for a user. It aims to provide a scalable bouncer service along with easy setup, deployment and management. It also envisions to provide a low barrier entry point for users, where users can join and start using the service in an automated fashion, without going through manual processes.
Although, ircb is a standalone product, it is also one of the core components of waartaa2. waartaa is our attempt to create an open source SAAS communication and collaboration tool, around IRC. We also participated in GSoC under the Fedora umbrella. However, we hit various roadblocks with the initial code base given to it's monolithic structure. So, we started breaking down the app into micro services. Thus, ircb, the scalable IRC bouncer to empower waartaa, was born.
IRC networks limit the number of connections for an IP, and this limit has to be manually negotiated, and the process takes time. We came to know of this during maintaining a demo instance of waartaa on a single node, when Freenode will stop rejecting IRC connections from our IP. That's why we are looking forward to have a multi node model for ircb, where we can intelligently distribute the IRC network connections, as needed. We are also brainstorming to figure out an intelligent way to load balance connections from IRC clients to the bouncer service in a stateless fashion. You can find some insight about it in our initial design docs3. We are also trying to develop a reactive store layer to empower realtime applications, in our case, waartaa.
We want to showcase our project to the intelligent folks present at FOSDEM with the hope of getting valuable feedback and contributors.
Speakers: Ratnadeep Debnath