Verified Commit 3862e180 authored by anarcat's avatar anarcat
Browse files

improve invite-only stuff (team#42053)

parent 63f019ac
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -111,6 +111,45 @@ To remove a user from the group:

    /msg GroupServ access @tor-tpomember del $USER MEMBER

## Joining invite-only channels

Some channels on IRC might be marked with the invite-only mode
(`+i`). To join such channel, an operator of the channel needs to
invite you. Typically, the way this works is that you are a member of
a group that has `MEMBER` access to the channel and you can just
nicely ask `ChanServ` to invite you to the channel. For example, to
get access to `#secret`, you would tell `ChanServ`:

    invite #secret

Or, in command-line clients:

    /msg ChanServ invite #secret

And then join the channel:

    /join #secret

That's pretty inconvenient to do every time you rejoin though! To
workaround that issue, you can configure your IRC client to
automatically send the magic command when you reconnect to the
server.

Here are a couple of known examples, more examples are welcome:

### irssi

The configuration is done in the `chatnet` or "network" configuration,
for example, on OFTC, you would do:

```
chatnets = {
  OFTC = {
    type = "IRC";
    autosendcmd = "/^msg chanserv invite #secret; wait 100";
  };
```

## Using the Matrix bridge

Since mid-April 2021, many `#tor-*` channels are bridged (or
+18 −5
Original line number Diff line number Diff line
@@ -25,11 +25,24 @@ chatnets = {
  };
```

Matrix users are exempted from this through a `+I` mode that bypasses
the invite exception for the IP addresses used by the Matrix
bridge. On the Matrix side, we implemented a mechanism (a private
space) where we grant access to users on a need-to basis, similar to
how the `@tor-tpomember` group operates on IRC.
Further documentation on how to do this for other clients will be
published in the TPA [IRC documentation][] at the precise moment
anyone will require it for their particular client. Your help in
coming up with such example so precisely for all possible IRC clients
in its ~40 year of history is of course already welcome.

 [IRC documentation]: https://gitlab.torproject.org/tpo/tpa/team/-/wikis/howto/irc

Users of the bouncer on `chives.torproject.org` will be exempted from
this through a `+I` mode that bypasses the invite-only exception. More
exceptions could be granted for other bouncers used by multiple users
and other special cases.

Matrix users will also be exempted from this through another `+I` mode
covering the IP addresses used by the Matrix bridge. On the Matrix
side, we implemented a mechanism (a private space) where we grant
access to users on a need-to basis, similar to how the
`@tor-tpomember` group operates on IRC.

# Background