irker IRC Gateway

GitLab provides a way to push update messages to an irker server. When configured, pushes to a project trigger the service to send data directly to the irker server.

See also the irker integration API documentation.

For more information, see the irker project homepage.

Set up an irker daemon

You need to set up an irker daemon. To do so:

  1. Download the irker code from its repository:

    git clone https://gitlab.com/esr/irker.git
    
  2. Run the Python script named irkerd. This is the gateway script. It acts both as an IRC client, for sending messages to an IRC server, and as a TCP server, for receiving messages from the GitLab service.

If the irker server runs on the same machine, you are done. If not, you need to follow the first steps of the next section.

caution
irker does not have built-in authentication, which makes it vulnerable to spamming IRC channels if it is hosted outside of a firewall. To prevent abuse, make sure you run the daemon on a secured network. For more details, read Security analysis of irker.

Complete these steps in GitLab

  1. On the top bar, select Menu > Projects and find the project you want to configure for notifications.
  2. Navigate to the Integrations page.
  3. Select irker (IRC gateway).
  4. Ensure that the Active toggle is enabled.
  5. Optional. Under Server host, enter the server host address where irkerd runs. If empty, it defaults to localhost.
  6. Optional. Under Server port, enter the server port of irkerd. If empty, it defaults to 6659.
  7. Optional. Under Default IRC URI, enter the default IRC URI, in the format irc[s]://domain.name. It’s prepended to every channel or user provided under Recipients, which is not a full URI.
  8. Under Recipients, enter the users or channels to receive updates, separated by spaces (for example, #channel1 user1). For more details, see Enter irker recipients.
  9. Optional. Under Colorize messages, select the checkbox. irker will highlight your messages.
  10. Select Save changes or optionally select Test Settings.

Enter irker recipients

If you left the Default IRC URI field empty, enter recipients as a full URI: irc[s]://irc.network.net[:port]/#channel. If you entered a default IRC URI there, you can use just channel or user names.

To send messages:

  • To a channel (for example, #chan), irker accepts channel names of the form chan and #chan.
  • To a password-protected channel, append ?key=thesecretpassword to the channel name, with the channel password instead of thesecretpassword. For example, chan?key=hunter2. Do not put the # sign in front of the channel name. If you do, irker tries to join a channel named #chan?key=password and so it can leak the channel password through the /whois IRC command. This is due to a long-standing irker bug.
  • In a user query, add ,isnick after the user name. For example, UserSmith,isnick.