irker (IRC gateway) (FREE)
GitLab provides a way to push update messages to an irker server. After you configure the integration, each push to a project triggers the integration 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:
-
Download the irker code from its repository:
git clone https://gitlab.com/esr/irker.git
-
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.
WARNING: 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
- On the top bar, select Main menu > Projects and find your project.
- On the left sidebar, select Settings > Integrations.
- Select irker (IRC gateway).
- Ensure that the Active toggle is enabled.
- Optional. Under Server host, enter the server host address where
irkerd
runs. If empty, it defaults tolocalhost
. - Optional. Under Server port, enter the server port of
irkerd
. If empty, it defaults to6659
. - 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. - Under Recipients, enter the users or channels to receive updates, separated by spaces
(for example,
#channel1 user1
). For more details, see Enter irker recipients. - Optional. Under Colorize messages, select the checkbox. irker will highlight your messages.
- 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 formchan
and#chan
. - To a password-protected channel, append
?key=thesecretpassword
to the channel name, with the channel password instead ofthesecretpassword
. 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
.