@@ -66,20 +66,25 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
66
66
# # It is also used in the Third Party Lookup API as the instance `desc`
67
67
# # property, where each server is an instance.
68
68
# name: "ExampleNet"
69
-
69
+ # # Additional addresses to connect to, used for load balancing between IRCDs.
70
70
# additionalAddresses: [ "irc2.example.com" ]
71
+ # # Typically additionalAddresses would be in addition to the address key given above,
72
+ # # but some configurations wish to exclusively use additional addresses while reserving
73
+ # # the top key for identification purposes. Set this to true to exclusively use the
74
+ # # additionalAddresses array when connecting to servers.
75
+ # onlyAdditionalAddresses: false
71
76
# #
72
77
# # [DEPRECATED] Use `name`, above, instead.
73
78
# # A human-readable description string
74
79
# # description: "Example.com IRC network"
75
-
80
+ #
76
81
# # An ID for uniquely identifying this server amongst other servers being bridged.
77
82
# # networkId: "example"
78
-
79
- # # URL to an icon used as the network icon whenever this network appear in
80
- # # a network list. (Like in the riot room directory, for instance.)
81
- # # icon: https ://example.com/images/hash.png
82
-
83
+ #
84
+ # # MXC URL to an icon used as the network icon whenever this network appear in
85
+ # # a network list. (Like in the Element room directory, for instance.)
86
+ # # icon: mxc ://matrix.org/LpsSLrbANVrEIEOgEaVteItf
87
+ #
83
88
# # The port to connect to. Optional.
84
89
# port: 6697
85
90
# # Whether to use SSL or not. Default: false.
@@ -92,19 +97,25 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
92
97
# # Whether to allow expired certs when connecting to the IRC server.
93
98
# # Usually this should be off. Default: false.
94
99
# allowExpiredCerts: false
95
- # # A specific CA to trust instead of the default CAs. Optional.
96
- # #ca: |
97
- # # -----BEGIN CERTIFICATE-----
98
- # # ...
99
- # # -----END CERTIFICATE-----
100
-
100
+ # # Set additional TLS options for the connections to the IRC server.
101
+ # #tlsOptions:
102
+ # # A specific CA to trust instead of the default CAs. Optional.
103
+ # #ca: |
104
+ # # -----BEGIN CERTIFICATE-----
105
+ # # ...
106
+ # # -----END CERTIFICATE-----
107
+ # # Server name for the SNI (Server Name Indication) TLS extension. If the address you
108
+ # # are using does not report the correct certificate name, you can override it here.
109
+ # # servername: real.server.name
110
+ # # ...or any options in https://nodejs.org/api/tls.html#tls_tls_connect_options_callback
111
+ #
101
112
# #
102
113
# # The connection password to send for all clients as a PASS (or SASL, if enabled above) command. Optional.
103
114
# # password: 'pa$$w0rd'
104
115
# #
105
116
# # Whether or not to send connection/error notices to real Matrix users. Default: true.
106
117
# sendConnectionMessages: true
107
-
118
+ #
108
119
# quitDebounce:
109
120
# # Whether parts due to net-splits are debounced for delayMs, to allow
110
121
# # time for the netsplit to resolve itself. A netsplit is detected as being
@@ -124,13 +135,13 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
124
135
# delayMinMs: 3600000 # 1h
125
136
# # Default: 7200000, = 2h
126
137
# delayMaxMs: 7200000 # 2h
127
-
138
+ #
128
139
# # A map for conversion of IRC user modes to Matrix power levels. This enables bridging
129
140
# # of IRC ops to Matrix power levels only, it does not enable the reverse. If a user has
130
141
# # been given multiple modes, the one that maps to the highest power level will be used.
131
142
# modePowerMap:
132
143
# o: 50
133
-
144
+ # v: 1
134
145
# botConfig:
135
146
# # Enable the presence of the bot in IRC channels. The bot serves as the entity
136
147
# # which maps from IRC -> Matrix. You can disable the bot entirely which
@@ -153,6 +164,8 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
153
164
# enabled: true
154
165
# # The nickname to give the AS bot.
155
166
# nick: "MatrixBot"
167
+ # # The username to give to the AS bot. Defaults to "matrixbot"
168
+ # username: "matrixbot"
156
169
# # The password to give to NickServ or IRC Server for this nick. Optional.
157
170
# # password: "helloworld"
158
171
# #
@@ -161,7 +174,7 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
161
174
# # real matrix users in them, even if there is a mapping for the channel.
162
175
# # Default: true
163
176
# joinChannelsIfNoUsers: true
164
-
177
+ #
165
178
# # Configuration for PMs / private 1:1 communications between users.
166
179
# privateMessages:
167
180
# # Enable the ability for PMs to be sent to/from IRC/Matrix.
@@ -170,12 +183,12 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
170
183
# # Prevent Matrix users from sending PMs to the following IRC nicks.
171
184
# # Optional. Default: [].
172
185
# # exclude: ["Alice", "Bob"] # NOT YET IMPLEMENTED
173
-
186
+ #
174
187
# # Should created Matrix PM rooms be federated? If false, only users on the
175
188
# # HS attached to this AS will be able to interact with this room.
176
189
# # Optional. Default: true.
177
190
# federate: true
178
-
191
+ #
179
192
# # Configuration for mappings not explicitly listed in the 'mappings'
180
193
# # section.
181
194
# dynamicChannels:
@@ -189,27 +202,34 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
189
202
# # Should the AS publish the new Matrix room to the public room list so
190
203
# # anyone can see it? Default: true.
191
204
# published: true
205
+ # # Publish the rooms to the homeserver directory, as oppose to the appservice
206
+ # # room directory. Only used if `published` is on.
207
+ # # Default: false
208
+ # useHomeserverDirectory: true
192
209
# # What should the join_rule be for the new Matrix room? If 'public',
193
210
# # anyone can join the room. If 'invite', only users with an invite can
194
211
# # join the room. Note that if an IRC channel has +k or +i set on it,
195
212
# # join_rules will be set to 'invite' until these modes are removed.
196
213
# # Default: "public".
197
214
# joinRule: public
198
- # # This will set the m.room.related_groups state event in newly created rooms
199
- # # with the given groupId. This means flares will show up on IRC users in those rooms.
200
- # # This should be set to the same thing as namespaces.users.group_id in irc_registration.
201
- # # This does not alter existing rooms.
202
- # # Leaving this option empty will not set the event.
203
- # groupId: +myircnetwork:localhost
204
215
# # Should created Matrix rooms be federated? If false, only users on the
205
216
# # HS attached to this AS will be able to interact with this room.
206
217
# # Default: true.
207
218
# federate: true
219
+ # # Force this room version when creating IRC channels. Beware if the homeserver doesn't
220
+ # # support the room version then the request will fail. By default, no version is requested.
221
+ # # roomVersion: "1"
208
222
# # The room alias template to apply when creating new aliases. This only
209
223
# # applies if createAlias is 'true'. The following variables are exposed:
210
224
# # $SERVER => The IRC server address (e.g. "irc.example.com")
211
225
# # $CHANNEL => The IRC channel (e.g. "#python")
212
226
# # This MUST have $CHANNEL somewhere in it.
227
+ # #
228
+ # # In certain circumstances you might want to bridge your whole IRC network as a
229
+ # # homeserver (e.g. #matrix:libera.chat). For these use cases, you can set the
230
+ # # template to just be $CHANNEL. Doing so will preclude you from supporting
231
+ # # other prefix characters though.
232
+ # #
213
233
# # Default: '#irc_$SERVER_$CHANNEL'
214
234
# aliasTemplate: "#irc_$CHANNEL"
215
235
# # A list of user IDs which the AS bot will send invites to in response
@@ -221,7 +241,11 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
221
241
# # Prevent the given list of channels from being mapped under any
222
242
# # circumstances.
223
243
# # exclude: ["#foo", "#bar"]
224
-
244
+ #
245
+ # # excludedUsers:
246
+ # # - regex: "@.*:evilcorp.com"
247
+ # # kickReason: "We don't like Evilcorp"
248
+ #
225
249
# # Configuration for controlling how Matrix and IRC membership lists are
226
250
# # synced.
227
251
# membershipLists:
@@ -230,12 +254,12 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
230
254
# # synced. This must be enabled for anything else in this section to take
231
255
# # effect. Default: false.
232
256
# enabled: false
233
-
257
+ #
234
258
# # Syncing membership lists at startup can result in hundreds of members to
235
259
# # process all at once. This timer drip feeds membership entries at the
236
260
# # specified rate. Default: 10000. (10s)
237
261
# floodDelayMs: 10000
238
-
262
+ #
239
263
# global:
240
264
# ircToMatrix:
241
265
# # Get a snapshot of all real IRC users on a channel (via NAMES) and
@@ -244,7 +268,14 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
244
268
# # Make virtual matrix clients join and leave rooms as their real IRC
245
269
# # counterparts join/part channels. Default: false.
246
270
# incremental: false
247
-
271
+ # # Should the bridge check if all Matrix users are connected to IRC and
272
+ # # joined to the channel before relaying messages into the room.
273
+ # #
274
+ # # This is considered a safety net to avoid any leakages by the bridge to
275
+ # # unconnected users, but given it ignores all IRC messages while users
276
+ # # are still connecting it may be overkill.
277
+ # requireMatrixJoined: false
278
+ #
248
279
# matrixToIrc:
249
280
# # Get a snapshot of all real Matrix users in the room and join all of
250
281
# # them to the mapped IRC channel on startup. Default: false.
@@ -253,21 +284,32 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
253
284
# # counterparts join/leave rooms. Make sure your 'maxClients' value is
254
285
# # high enough! Default: false.
255
286
# incremental: false
256
-
287
+ #
257
288
# # Apply specific rules to Matrix rooms. Only matrix-to-IRC takes effect.
258
289
# rooms:
259
290
# - room: "!fuasirouddJoxtwfge:localhost"
260
291
# matrixToIrc:
261
292
# initial: false
262
293
# incremental: false
263
-
294
+ #
264
295
# # Apply specific rules to IRC channels. Only IRC-to-matrix takes effect.
265
296
# channels:
266
297
# - channel: "#foo"
267
298
# ircToMatrix:
268
299
# initial: false
269
300
# incremental: false
270
-
301
+ # requireMatrixJoined: false
302
+ #
303
+ # # Should the bridge ignore users which are not considered active on the bridge
304
+ # # during startup
305
+ # ignoreIdleUsersOnStartup:
306
+ # enabled: true
307
+ # # How many hours can a user be considered idle for before they are considered
308
+ # # ignoreable
309
+ # idleForHours: 720
310
+ # # A regex which will exclude matching MXIDs from this check.
311
+ # exclude: "foobar"
312
+ #
271
313
# mappings:
272
314
# # 1:many mappings from IRC channels to room IDs on this IRC server.
273
315
# # The matrix room must already exist. Your matrix client should expose
@@ -277,27 +319,27 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
277
319
# # Channel key/password to use. Optional. If provided, matrix users do
278
320
# # not need to know the channel key in order to join the channel.
279
321
# # key: "secret"
280
-
322
+ #
281
323
# # Configuration for virtual matrix users. The following variables are
282
324
# # exposed:
283
325
# # $NICK => The IRC nick
284
326
# # $SERVER => The IRC server address (e.g. "irc.example.com")
285
327
# matrixClients:
286
328
# # The user ID template to use when creating virtual matrix users. This
287
- # # MUST have $NICK somewhere in it.
329
+ # # MUST start with an @ and have $NICK somewhere in it.
288
330
# # Optional. Default: "@$SERVER_$NICK".
289
331
# # Example: "@irc.example.com_Alice:example.com"
290
332
# userTemplate: "@irc_$NICK"
291
333
# # The display name to use for created matrix clients. This should have
292
334
# # $NICK somewhere in it if it is specified. Can also use $SERVER to
293
335
# # insert the IRC domain.
294
- # # Optional. Default: "$NICK (IRC) ". Example: "Alice (IRC) "
295
- # displayName: "$NICK (IRC) "
336
+ # # Optional. Default: "$NICK". Example: "Alice"
337
+ # displayName: "$NICK"
296
338
# # Number of tries a client can attempt to join a room before the request
297
339
# # is discarded. You can also use -1 to never retry or 0 to never give up.
298
340
# # Optional. Default: -1
299
341
# joinAttempts: -1
300
-
342
+ #
301
343
# # Configuration for virtual IRC users. The following variables are exposed:
302
344
# # $LOCALPART => The user ID localpart ("alice" in @alice:localhost)
303
345
# # $USERID => The user ID
@@ -326,9 +368,20 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
326
368
# # connected user. If not specified, all users will connect from the same
327
369
# # (default) address. This may require additional OS-specific work to allow
328
370
# # for the node process to bind to multiple different source addresses
329
- # # e.g IP_FREEBIND on Linux, which requires an LD_PRELOAD with the library
371
+ # # Linux kernels 4.3+ support sysctl net.ipv6.ip_nonlocal_bind=1
372
+ # # Older kernels will need IP_FREEBIND, which requires an LD_PRELOAD with the library
330
373
# # https://github.com/matrix-org/freebindfree as Node does not expose setsockopt.
331
374
# # prefix: "2001:0db8:85a3::" # modify appropriately
375
+ #
376
+ # # Optional. Define blocks of IPv6 addresses for different homeservers
377
+ # # which can be used to restrict users of those homeservers to a given
378
+ # # IP. These blocks should be considered immutable once set, as changing
379
+ # # the startFrom value will NOT adjust existing IP addresses.
380
+ # # Changing the startFrom value to a lower value may conflict with existing clients.
381
+ # # Multiple homeservers may NOT share blocks.
382
+ # blocks:
383
+ # - homeserver: another-server.org
384
+ # startFrom: '10:0000'
332
385
# #
333
386
# # The maximum amount of time in seconds that the client can exist
334
387
# # without sending another message before being disconnected. Use 0 to
@@ -365,6 +418,25 @@ matrix_appservice_irc_ircService_servers: [] # noqa var-naming
365
418
# # through the bridge e.g. caller ID as there is no way to /ACCEPT.
366
419
# # Default: "" (no user modes)
367
420
# # userModes: "R"
421
+ # # The format of the realname defined for users, either mxid or reverse-mxid
422
+ # realnameFormat: "mxid"
423
+ # # The minimum time to wait between connection attempts if we were disconnected
424
+ # # due to throttling.
425
+ # # pingTimeoutMs: 600000
426
+ # # The rate at which to send pings to the IRCd if the client is being quiet for a while.
427
+ # # Whilst the IRCd *should* be sending pings to us to keep the connection alive, it appears
428
+ # # that sometimes they don't get around to it and end up ping timing us out.
429
+ # # pingRateMs: 60000
430
+ # # Choose which conditions the IRC bridge should kick Matrix users for. Decisions to this from
431
+ # # defaults should be taken with care as it may dishonestly repesent Matrix users on the IRC
432
+ # # network, and cause your bridge to be banned.
433
+ # kickOn:
434
+ # # Kick a Matrix user from a bridged room if they fail to join the IRC channel.
435
+ # channelJoinFailure: true
436
+ # # Kick a Matrix user from ALL rooms if they are unable to get connected to IRC.
437
+ # ircConnectionFailure: true
438
+ # # Kick a Matrix user from ALL rooms if they choose to QUIT the IRC network.
439
+ # userQuit: true
368
440
369
441
# Controls whether the matrix-appservice-discord container exposes its HTTP port (tcp/9999 in the container).
370
442
#
0 commit comments