Kapisi/roles/IRC
2023-11-30 02:47:16 -06:00
..
files/services Catching up IRC -- MOTD colors; servicefile; logging; config 2023-03-22 17:44:57 -05:00
tasks Catching up config with known state 2023-05-02 17:32:11 -05:00
templates catchup 2023-10-08 12:28:14 -05:00
README.md Evolution of deployment 2023-11-30 02:47:16 -06:00

IRC is a chat system used by members of the AniNIX network.

Etymology

IRC stands for Internet Relay Chat -- it is a method of text-based communication across the network via various servers. IRC has long been the self-hosted communication medium of choice for hackers, developers, and the fringe -- though overall adoption has dropped a bit with the rise of other social media, networks like Libera are still growing. IRC is moving to the hacker niche, and we follow along.

Relevant Files and Software

The configuration for the IRC service is divided into two parts -- the daemon and services.

InspIRCd

The IRC daemon is powered by InspIRCd. Relevant configuration is in /etc/inspircd/ and it logs to journald.

Anope

The services component is supplied by Anope. Relevant configuration is in the services.conf and it logs to the its own log.

Anope also takes backups of the anope database to the backups folder in the same location.

Caution: Anope with version 2.0.3 has some issues with gcc6. If you start encountering segmentation faults with Anope, sign in to irc://anope.org#anope (the Anope support IRC network). Script a run of "sudo -u ircd gdb /usr/bin/services core". Enter r <your flags> and when it crashes run bt full. Quit out of everything and pastebin the file. Provide this to the support staff.

Caution: Arch's packaged version of Anope may be missing critical LDAP modules. We still install the package, but you may need to use a localized install in /opt to get it working.

Anope Services' NickServ authentication can be linked to Sora for unified credentials.Category:LDAP

Service entities

The following entities can be messaged personally (PM'ed) for help with /msg <entity> help from inside an IRC client.

  • NickServ will manage IRC nicknames.
  • HostServ will manage IRC virtual hosts, to mask IP's.
  • ChanServ will manage IRC channels -- new channels can be registered on the network here.
  • MemoServ will manage IRC memos (short text-message-like messages between users).

Bots

Bitbot

BitBot is a webhook engine -- we tie it into AniNIX/Yggdrasil and AniNIX/Foundation.

discord-irc

Discord-IRC acts as a bridge between our IRC network and Discord -- this lets us integrate with mobile push notifications & lowers the barrier to entry to the network.

Available Clients

A simple web client is hosted.

For more advanced options like logging, you will need to use your own client. All IRC clients will connect to the service by providing the following information:

  • Host: aninix.net
  • Port: 6697
  • The client should accept only valid certificates.
  • The client should automatically join the #lobby channel.
  • The client should provide a nickname and NickServ password that the user intends to use.

Clients by OS

Some example clients can be found here.

  • Linux hosts are strongly recommended to use weechat inside tmux.
  • Windows hosts can connect to this service using HexChat.
  • Mac and iOS hosts can use Colloquy.
  • Android hosts can use AndChat.

Equivalents or Competition

Rivals to IRC include other IRC networks like Libera, mail services like Gmail, and other chat systems like Slack, Microsoft Teams, Discord, Snapchat, WhatsApp, etc. We use Discord to provide new users with a Web-only bridge to the IRC network, but most features are only available within our own network.

Additional Reference