Skip to content
Andris Reinman edited this page Sep 17, 2017 · 12 revisions

Component status: EXPERIMENTAL. Do not use

WildDuck has an IRC server component built in that allows for the server users to connect using IRC. Unauthenticated access is not allowed, all users need to authenticate with their account or application-specific password.

Wild Duck IRC is not a typical IRC server. It does not connect to the IRC network and only allows team access making it mostly useful as an internal group chat server.

Usage

  1. Enable the server in the IRC config
  2. Start Wild Duck (make sure it runs in a single process mode)
  3. Connect to the server with your favorite IRC client
  4. Authenticate using your account password

You are probably going to see some warnings about missing commands etc. but in general it should be usable.

Note about usernames

When logging in with an email address as username you can replace the @ symbol in the address with + symbol ([email protected] can also identify as username+example.com)

Note about passwords

Just as with all other Wild Duck services you can either use your account master password to authenticate (if 2FA is not enabled) or an application specific password. All authentication attempts are logged to the central account auth log. Application specific passwords can also be assigned for 'irc' only so these would not be usable to access other protocols.

Planned features

These features are not yet available

  • Logging. All chats, both group and private would be logged and exposed via API. Logs would be searchable using full text search (log access requires being part of that group or private chat, group chat access starts with the first JOIN and ends with PART, being online/offline does not count).
  • history command. Custom command /history <linecount> would replay the latest linecount messages from the chat log
  • Multi access. Logging in with the same nick/user from different devices. The server would normalize the client list so the same user would be listed just once.
  • Namespaces. All users would be part of a specific namespace (most probably by the domain name). Channel and nick names are unique inside a namespace but not globally. For example every namespace can have their own "#test" channel that only the members of that namespace would see.

Supported authentication schemes

All authentication schemes use USER value as the username. NICK is not used for authentication.

1. PASS + USER

If the client issues PASS command then authentication is attempted after USER command

2. SASL PLAIN

If the client supports CAP then it can use AUTHENTICATE PLAIN for logging in

3. NickServ

After issuing NICK and USER commands the client can also identify itself with the NickServ IDENTIFY command

Clone this wiki locally