A high-performance IRCv3 chat server for UNIX-like and Windows systems, written in C++.
ngircd/ngircd
A free, portable and lightweight Internet Relay Chat (IRC) server for small or private networks, written in C.
- Stars
- 584
- Forks
- 84
- Open issues
- 32
- Last commit
- 14 days ago
What is it?
ngIRCd is an Internet Relay Chat server written from scratch in C. It is aimed at small or private networks and runs either as a single node or as part of a network of servers across a LAN or the internet. The server is designed to be simple to build, install and configure, with a compact configuration file.
The server optionally supports IPv6, SSL/TLS-protected client and server links, PAM-based user authentication, IDENT requests, and character set conversion for legacy clients. It also implements many common user and channel modes and supports user cloaking. Servers with dynamic IP addresses are handled without special setup.
It builds on a range of Unix-like systems, including Linux, macOS, FreeBSD, NetBSD, OpenBSD and Solaris, and on Windows through WSL or Cygwin. It is distributed through the package repositories of several operating systems.
Key features
- 01Supports IPv6 and SSL/TLS for client and server links.
- 02Can authenticate users through PAM.
- 03Runs as a single server or as a multi-server network.
- 04Implements many common user and channel modes.
- 05Provides a lean, easy-to-read configuration file.
Use cases
- Running a private IRC server for a team or company.
- Hosting a small community chat network on a LAN or the internet.
- Deploying an IRC server on older Unix systems or BSD machines.
Quick start
- 1
Read the QuickStart guide in doc/QuickStart.md
- 2
Follow the install instructions in INSTALL.md
- 3
Read the ngircd(8) and ngircd.conf(5) manual pages for options
Things to know
- The README does not provide a package-manager install command, so setup requires following the separate INSTALL.md guide.
- Designed for small or private networks rather than large-scale deployments.
- It deliberately does not implement all original IRCd behaviors or RFC corner cases.
Topics
FAQ
- What is ngircd?
- A free, portable and lightweight Internet Relay Chat (IRC) server for small or private networks, written in C. ngIRCd is an Internet Relay Chat server written from scratch in C. It is aimed at small or private networks and runs either as a single node or as part of a network of servers across a LAN or the internet. The server is designed to be simple to build, install and configure, with a compact configuration file.
- Is ngircd free to use? What license does it have?
- ngircd is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is ngircd still maintained?
- Actively maintained. The last commit to ngircd was on Oct 24, 2026.
- What can I use ngircd for?
- Running a private IRC server for a team or company. Hosting a small community chat network on a LAN or the internet. Deploying an IRC server on older Unix systems or BSD machines.
- How do I install ngircd?
- Read the QuickStart guide in doc/QuickStart.md Follow the install instructions in INSTALL.md Read the ngircd(8) and ngircd.conf(5) manual pages for options
- Where can I get ngircd?
- The source code and installation instructions are on GitHub: https://github.com/ngircd/ngircd
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A modern IRC server written in Go, combining an ircd, a services framework, and a bouncer in one daemon.
An open source IRC server (ircd) with full IRCv3 support, TLS, cloaking, and anti-flood and anti-spam systems, running on Linux, macOS and Windows.
OpenSMTPD is a free, server-side SMTP mail transfer agent for Unix-like systems, implementing RFC 5321 with some standard extensions.
Open source printing system for Linux and Unix, supporting AirPrint, IPP Everywhere and legacy PPD printers.
A breadth-first variant of the UNIX find command that lists shallow files before deep ones, compatible with POSIX and BSD/GNU find.