2020-10-24 23:57:45 +05:30
---
2021-10-27 15:23:28 +05:30
stage: Ecosystem
group: Integrations
2021-02-22 17:27:13 +05:30
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-10-24 23:57:45 +05:30
---
2021-10-27 15:23:28 +05:30
# irker IRC Gateway **(FREE)**
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
GitLab provides a way to push update messages to an irker server. When
2021-02-22 17:27:13 +05:30
configured, pushes to a project trigger the service to send data directly
2021-10-27 15:23:28 +05:30
to the irker server.
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
See also the [irker integration API documentation ](../../../api/services.md ).
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
For more information, see the [irker project homepage ](https://gitlab.com/esr/irker ).
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
## Set up an irker daemon
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
You need to set up an irker daemon. To do so:
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
1. Download the irker code [from its repository ](https://gitlab.com/esr/irker ):
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
```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
2021-02-22 17:27:13 +05:30
need to follow the first steps of the next section.
2017-08-17 22:00:37 +05:30
2021-10-27 15:23:28 +05:30
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-08-17 22:00:37 +05:30
## Complete these steps in GitLab
2021-10-27 15:23:28 +05:30
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-22 19:07:51 +05:30
1. Ensure that the **Active** toggle is enabled.
2021-10-27 15:23:28 +05:30
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` .