Skip to content

WarPigs1602/mIAuthd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mIAuthd

Author: Andreas Pschorn

Overview

mIAuthd is an authentication daemon primarily designed to work with IRC daemons (such as snircd and wircd) to provide enhanced authentication support, especially for webchat clients like qwebirc or jwebirc. It also supports the SASL authentication mechanism for integration with IRC services such as newserv and various IRCd implementations.

The project enables secure authentication and communication between IRC daemons and trusted backends, offering verdicts (e.g., KILL, PASS, UNTHROTTLE) based on backend responses, and supporting HMAC-based challenge-response authentication.

Features

  • Acts as an authentication backend for IRC daemons (snircd, wircd, etc.)
  • Supports SASL authentication for integration with IRC services (newserv)
  • Challenge-response authentication using HMAC (MD5)
  • Backend communication and verdict handling (KILL/PASS/UNTHROTTLE commands)
  • Easy configuration via JSON config file
  • Designed for use with webchat frontends like qwebirc

Requirements

  • Java 17 or higher
  • Maven (for building from source)
  • Compatible IRCd (snircd, wircd)

Installation

  1. Download the Release:
  • Download the latest release ZIP: mIAuthd.zip
  • Extract the ZIP file on your server.
  1. Java Setup:

    • Ensure Java 17 or newer is installed (java -version).
  2. Configure IRCd:

    • Clone and build your IRC daemon, e.g.:
      git clone https://github.com/WarPigs1602/wircd.git
      cd wircd
      ./configure
      make -j$(cat nproc)
      make install
      
    • The IRCd binary will be located in ~/bin/.
  3. Configuration:

    • Copy config.json to your ~/lib/ directory and edit it as needed.
    • Copy example.conf to ircd.conf in the same folder:
      cp example.conf ircd.conf
      
  4. IRCd Integration:

    • Edit the ircd.conf in ~/lib/ to include:
      IAuth {
        program = "java" "-jar" "path to mIAuthd.jar" <optional full path to config file>;
      };
      
    • In the features section, enable:
      "HIS_STATS_IAUTH" = "TRUE";
      

Usage

Start your IRCd as usual. The mIAuthd daemon will handle authentication requests from the IRCd and communicate with the trusted backend for user verification.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Credits

Developed and maintained by Andreas Pschorn.


Have fun using mIAuthd!

About

Java iauthd deamon

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages