-
Notifications
You must be signed in to change notification settings - Fork 3
/
janus.conf.example
299 lines (260 loc) · 10.2 KB
/
janus.conf.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
# Janus configuration file
#
# This is a line-based configuation file, divided into blocks for networks
# and other grouped settings.
#
# GENERAL RULE: If you don't know what it does then just leave it alone.
# The default setting should work without any trouble.
# This however doesn't count for server blocks.
#
# Set block: settings for the janus server itself
set {
# Server name - set this to a single unique word. This is used to identify
# the server in the interjanus protocol.
# This does NOT need to be a domain name; it should be short.
name yourserver
# Saved data location - this is the file which janus will load and save
# state (such as the list of shared channels) between runs
save janus.dat
# Janus nick - Change this if you want a different interface nick
# Janus ident - Change this if you want a different interface ident
# Janus name - Change this if you want a different interface real name
# Janus host (rhost) - Change this if you want a different interface host
# Janus vhost (host) - Change this if you want a different interface vhost
janus_nick Janus
#janus_ident janus
#janus_name Janus Control Interface
#janus_rhost services.janus
#janus_host services
# Interface Type - This changes how the Janus interface responds to
# commands sent to it. It can either respond by private message used with
# IRC Bots or the traditional notices that Services are supposed to use.
# Possible options:
# notice - Sends Interface responses to the user as notices.
# privmsg - Sends Interface responses to the user as private messages.
# Note: This defaults to privmsg
#janus_type privmsg
# Administrator password - if set, this enables an "admin" account with
# full access to all commands. Once you have created normal accounts,
# this should be disabled as the password is stored in plaintext.
password verysecret
# Link mode - use janus as a network partition or a transparent bridge
# link - network partition, channels must be explicitly linked
# bridge - transpaent link, all channels linked, opers are more global
lmode link
# Global Linking Requirement - This is the minimum access level a user
# needs to be in a channel or on a network before Janus will allow them
# to create, destroy and link channels.
# Possible options:
# owner - User needs to be atleast an owner of the channel to add/link it
# op - User needs to be atleast an op on the channel to add/link it
# oper - User needs to be atleast an oper on the network to add/link channels
# Note: This defaults to owner
#linkreq owner
# Custom Domain - This will make Janus use a custom domain for Janus links
# in /map and /links. Please exclude the first . from the domain name.
# It defaults to 'janus' that displays as net.janus in /map and /links.
# This works without problems in an InterJanus setup.
#laddy gigirc.com
# Network Tag Separator - This is what Janus uses to seperate another network's
# (short) tag name from the user's nickname.
# Example:
# Trixar_za on the gig network with the septag of / would be Trixar_za/gig on
# any other network present in the Janus linked Network.
# Note: This can be any character and defaults to / when not set or left empty.
# Note: This is used to avoid nickname collisions so don't use strange/unsupported
# characters here or you'll have serious desync problems. TS6 Networks will change
# / to | because it's an unsupported nickname character.
#septag /
# Forced Network Tagging - This will force network tags for all users
# connected via janus to your network and may resolve common nickname
# collision issues.
# Note: Enabling tagall reverses how the forcetag command works. Forcetag will
# now disable tagging for the nickname you set it to while tagall is enabled.
#tagall 1
# Oper Visibity Level - Controls how oper statuses is shared across Janus linked
# networks. Leave this commented out or set it to 0 to keep opers in /lusers down.
# Note: This can be overridden on a per network basis via the oper_visibilty variable.
# 0 - Disables all Oper Status Sharing
# 1 - Adds +H (hide oper stats mode) to all Opers it shares
# 2 - Complete Oper Status Sharing without restrictions
#operlvl 0
# Control Code Level - This controls the colour and IRC control codes between Janus
# linked Networks. Use this to strip unwanted colours, underlines or bold from shared
# user's text.
# Note: This defaults to 0 when not set
# 0 - Allows Colours, Bold and Underline
# 1 - Removes only Colours
# 2 - Removes all Colours, Bold and Underline
#cclvl 1
# Run mode - process execution style
# mplex - Handle SSL and sockets using C; allows for perl process to be
# transparently restarted if perl's memory allocation gets too large
# uproc - Handle sockets internally to the worker process
# If "-daemon" is appended, janus will daemonize and optionally record its PID
# Note: If you don't know what the above means just leave the bottow two commented
# out to use the default setting.
#pidfile janus.pid
#runmode mplex-daemon
# Other parameters as defined by modules may be present here
# Example: Commands::Debug takes a date-based format for the dump files
datefmt %Y%m%d-%H%M%S
# SSL certificate. Only required if you are using an SSL server port,
# but will be presented as client certificates on connections
# These can be overridden in an individual link block
#ssl_certfile janus-cert.pem
#ssl_keyfile janus-key.pem
# Certificate Authority to verify certificates against - incoming and outgoing
#ssl_cafile janus-cert.pem
}
# Modules block: this is a list of modules which are loaded at startup.
# Modules can also be loaded or unloaded while janus is running.
# See README for a short description of each module.
modules {
Commands::*
Modules::Ban
Modules::Claim
Modules::Global
Modules::Qline
Modules::Signals
Modules::Services
Modules::Spamfilter
Modules::WhoisFilter
}
# Log blocks
log log/%Y%m%d.log {
# Type - a module in the Log package
# For "File" logs, the name is a strftime format string that will become the filename
type File
# Filter - what events to send to the log. Space-separated values
# See Log.pm for a full list; this will produce a reasonable log.
# Uncomment the filter to make a full log if you are submitting a bug report.
filter debug info warn err audit debug_in info_in warn_in err_in hook_err poison
## The following settings are specific to the File type:
# Run a dump before opening the log file (for possible replays)
dump 0
# rotate the log every N seconds
rotate 86400
# action to take on the log after closing
# closeact gzip
}
# Channel log: <netid>#channel
log net#logchan {
type Channel
filter audit
style color
}
# Listen blocks: listen for incoming server connections
#
# No listen block is required if you have janus connect to your servers
#
# The type of server is determined by the IP of the incoming connection;
# one port can be used for SSL and non-SSL, and for all types of servers.
# You cannot accept incoming connections from a server if another server
# shares its IP address; use outgoing connections or alternative IPs.
listen 8005
listen 127.0.0.1:8006
# Network link block - one block is required per network
# link <netid>
# Note: It's recommended that netid be short (between 3-5 characters) since
# they're used with network tags used with nicknames.
link u3 {
# Server type. This is a module in the Server package
type Unreal
# Should we try to autoconnect to this network by default?
autoconnect 1
# Address to connect to. Will do a DNS lookup if needed
# Using DNS will disable incoming connections from this server
linkaddr ::1
# Port to connect to
linkport 8001
# Source address (optional, for multihomed hosts)
linkbind ::1
# Password which is sent
sendpass pass
# Password which is expected to receive
recvpass pass
# Link type: either plain or ssl. Also used for incoming connections.
linktype plain
# For SSL links, certificate fingerprint may be checked.
# See extras/get-fp to read the fingerprint of an existing server
# This is done instead of checking the CA
# ssl_fp da39a3ee5e6b4b0d3255bfef95601890afd80709
# Long name of this network - this should match your IRCd's netname
netname TestNet
# What server name is used to introduce ourselves
# Optional, defaults to NAME.janus where NAME is set above
linkname hub.janus
# Unreal-only: numerics used for janus servers. Optional, defaults to 100-255
numeric_range 40-45,70,85-190
# Untrusted: if set, don't send real IP/host to this network
# untrusted 1
}
# Link block for an InspIRCd server
# (protocol details, module list, etc are autonegotiated on connect)
link i1 {
type Inspircd
# Considering the configurable nature of InspIRCd,
# the ability to toggle the owner and admin modes
# was needed. The default for chanprotect is yes
# for the best compatibilty, but it can be disabled
# by uncommenting the following:
#use_chanprotect no
linkaddr 4.2.2.2
linkport 8003
linktype plain
sendpass pass
recvpass pass
netname InspServ
autoconnect 1
}
# Other server protocols link the same way.
# See the protocol module names in src/Server/
link ts6 {
type TS6
# Considering the configurable nature of TS6 IRCds,
# especially ones like Elemental-IRCd, the ability
# to toggle the owner and admin modes ywas needed.
# They default to no for the best compatibilty, but
# you can enable them by uncommenting the following:
#use_owner yes
#use_admin yes
linkaddr 4.2.2.2
linkport 1234
linktype plain
sendpass abc
recvpass def
netname TS6Serv
autoconnect 1
}
# Inter-janus link block
# The link id must match the set::name of the remote server
link myserver {
type InterJanus
linkaddr ::1
linkport 8009
linktype ssl
sendpass pass
recvpass ssap
netname JLinkHub
autoconnect 0
#ssl_certfile alt-server.cert.pem
#ssl_keyfile alt-server.key.pem
}
# Relay bot link block
link cbot {
type ClientBot
linkaddr 1.2.3.4
linkport 6667
# ClientBot supports 3 link types: ssl, plain, tls.
# tls requires the server to support STARTTLS
linktype plain
nick jmirror
# You can set the Real Name with this
name Janus IRC Bot
servpass ServerPassWord
nspass NickServPassWord
# the nick must already be registered, and the bot will not ghost anyone camping
netname RelayBot
autoconnect 1
}