debian-mirror-gitlab/doc/user/project/integrations/irker.md

72 lines
3.3 KiB
Markdown
Raw Normal View History

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
2022-01-26 12:08:38 +05:30
See also the [irker integration API documentation](../../../api/integrations.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
2022-10-11 01:57:18 +05:30
1. On the top bar, select **Main menu > Projects** and find your project.
2022-06-21 17:19:12 +05:30
1. On the left sidebar, select **Settings > Integrations**.
2021-10-27 15:23:28 +05:30
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`.