72 lines
3.4 KiB
Markdown
72 lines
3.4 KiB
Markdown
---
|
|
stage: Ecosystem
|
|
group: Integrations
|
|
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
|
|
---
|
|
|
|
# irker IRC Gateway **(FREE)**
|
|
|
|
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](../../../api/services.md).
|
|
|
|
For more information, see the [irker project homepage](https://gitlab.com/esr/irker).
|
|
|
|
## Set up an irker daemon
|
|
|
|
You need to set up an irker daemon. To do so:
|
|
|
|
1. Download the irker code [from its repository](https://gitlab.com/esr/irker):
|
|
|
|
```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
|
|
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](http://www.catb.org/~esr/irker/security.html).
|
|
|
|
## Complete these steps in GitLab
|
|
|
|
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)**.
|
|
1. Ensure that the **Active** toggle is enabled.
|
|
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`.
|