2020-07-20 17:09:23 -04:00
---
2021-08-02 11:08:56 -04:00
stage: Ecosystem
group: Integrations
2020-11-26 01:09:20 -05:00
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-07-20 17:09:23 -04:00
---
2021-07-29 17:10:10 -04:00
# irker IRC Gateway **(FREE)**
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
GitLab provides a way to push update messages to an irker server. When
2020-12-01 13:09:42 -05:00
configured, pushes to a project trigger the service to send data directly
2021-07-29 17:10:10 -04:00
to the irker server.
2017-02-03 13:41:35 -05:00
2021-12-13 04:14:09 -05:00
See also the [irker integration API documentation ](../../../api/integrations.md ).
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
For more information, see the [irker project homepage ](https://gitlab.com/esr/irker ).
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
## Set up an irker daemon
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
You need to set up an irker daemon. To do so:
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
1. Download the irker code [from its repository ](https://gitlab.com/esr/irker ):
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
```shell
git clone https://gitlab.com/esr/irker.git
```
1. 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
2020-12-01 13:09:42 -05:00
need to follow the first steps of the next section.
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
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 ](http://www.catb.org/~esr/irker/security.html ).
2017-02-07 16:20:36 -05:00
## Complete these steps in GitLab
2017-02-03 13:41:35 -05:00
2021-07-29 17:10:10 -04:00
1. On the top bar, select **Menu > Projects** and find the project you want to
configure for notifications.
1. Navigate to the [Integrations page ](overview.md#accessing-integrations ).
1. Select **irker (IRC gateway)** .
2020-04-15 08:09:18 -04:00
1. Ensure that the **Active** toggle is enabled.
2021-07-29 17:10:10 -04:00
1. Optional. Under **Server host** , enter the server host address where `irkerd` runs. If empty,
it defaults to `localhost` .
1. Optional. Under **Server port** , enter the server port of `irkerd` . If empty, it defaults to `6659` .
1. 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.
1. Under **Recipients** , enter the users or channels to receive updates, separated by spaces
(for example, `#channel1 user1` ). For more details, see [Enter irker recipients ](#enter-irker-recipients ).
1. Optional. Under **Colorize messages** , select the checkbox. irker will highlight your messages.
1. 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` .