summaryrefslogtreecommitdiff
path: root/docs/inspircd.conf.example
blob: a11eac17d591f31d517bc0e8f1824d68898de812 (plain)
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
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
########################################################################
#                                                                      #
#               ___                ___ ____   ____    _                #
#              |_ _|_ __  ___ _ __|_ _|  _ \ / ___|__| |               #
#               | || '_ \/ __| '_ \| || |_) | |   / _` |               #
#               | || | | \__ \ |_) | ||  _ <| |__| (_| |               #
#              |___|_| |_|___/ .__/___|_| \_\\____\__,_|               #
#                            |_|                                       #
#      ____             __ _                       _   _               #
#     / ___|___  _ __  / _(_) __ _ _   _ _ __ __ _| |_(_) ___  _ __    #
#    | |   / _ \| '_ \| |_| |/ _` | | | | '__/ _` | __| |/ _ \| '_ \   #
#    | |__| (_) | | | |  _| | (_| | |_| | | | (_| | |_| | (_) | | | |  #
#     \____\___/|_| |_|_| |_|\__, |\__,_|_|  \__,_|\__|_|\___/|_| |_|  #
#                            |___/                                     #
#                                                                      #
##################################||####################################
                                 #||#
##################################||####################################
#                                                                      #
#         This is an example of the config file for InspIRCd.          #
#             Change the options to suit your network                  #
#                                                                      #
#                 Last updated on : 09/01/2006                         #
#                 Written by      : CC  (cc@backchat.co.za)            #
#                 Updated by      : katsklaw (katsklaw@gmail.com)      #
#                 Updated by      : brain (brain@inspircd.org)         #
#                                                                      #
#    ____                _   _____ _     _       ____  _ _   _         #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |        #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |        #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|        #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)        #
#                                                                      #
#   Lines prefixed with READ THIS BIT, as shown above, are IMPORTANT   #
#   lines, and you REALLY SHOULD READ THEM. Yes, THIS MEANS YOU. Even  #
#   if you've configured InspIRCd before, these probably indicate      #
#   something new or different to this version and you SHOULD READ IT. #
#                                                                      #
########################################################################



#-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Here is where you enter the information about your server.        #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#     <server name="server.name"                                      #
#      description="Server Description"                               #
#      network="MyNetwork">                                           #
#                                                                     #

<server name="penguin.omega.org.za"
        description="Waddle World"
        network="Omega">


#-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Describes the Server Administrator's real name, nick              #
#   and email address.                                                #
#                                                                     #
#  Syntax is as follows:                                              #
#       <admin name="real name"                                       #
#              nick="nick name"                                       #
#              email="email@address.com">                             #
#                                                                     #

<admin  name="Johnny English"
        nick="MI5"
        email="MI5@the.best.secret.agent">


#-#-#-#-#-#-#-#-#-#-#-#-   PORT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Enter the port and address bindings here.                         #
#                                                                     #
#  bind address - specifies which the address which ports bind        #
#  port         - opens an unused port                                #
#  type         - can be 'clients' or 'servers'. The clients type is  #
#                 a standard tcp based socket, the servers type is a  #
#                 also a TCP based connection but of a different      #
#                 format.                                             #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  If you want to link servers to InspIRCd you must load the          #
#  m_spanningtree module! Please see the modules list below for       #
#  information on how to load this module! If you do not load this    #
#  module, server ports will NOT be bound!                            #
#                                                                     #
#  Leaving address empty binds to all available interfaces            #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
# <bind address="ip number" port="port" type="clients">               #
# <bind address="ip number" port="port" type="servers">               #
#                                                                     #

<bind address="" port="6660" type="clients">
<bind address="" port="7000" type="servers">
<bind address="" port="7001" type="servers">


#-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   You can configure the passwords here which you wish to use for    #
#   the die and restart commands. Only trusted ircops who will        #
#   need this ability should know the die and restart password.       #
#                                                                     #
#  Syntax is as follows:                                              #
#       <power diepass="die password" restartpass="restart password"  #
#        pause="secs before dying">                                   #
#                                                                     #

<power diepass="diepass" restartpass="restartpass" pause="2">


#-#-#-#-#-#-#-#-#-#  INCLUDE CONFIGURATION  #-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# This optional tag allows you to include another config file         #
# allowing you to keep your configuration tidy. The configuration     #
# file you include will be treated as part of the configuration file  #
# which includes it, in simple terms the inclusion is transparent.    #
#                                                                     #
# All paths to config files are relative to the directory of the main #
# config file inspircd.conf, unless the filename starts with a forward#
# slash (/) in which case it is treated as an absolute path.          #
#                                                                     #
# Syntax is as follows:                                               #
#       <include file="file.conf">                                    #
#                                                                     #

#-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   This is where you can configure which connections are allowed     #
#   and denied access onto your server.                               #
#   The password is optional.                                         #
#   You may have as many of these as you require.                     #
#   To allow/deny all connections use a *                             #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#       <connect allow="ip or host">                                  #
#       <connect allow="ip or host" password="blahblah">              #
#       <connect allow="ip or host" password="blah" timeout="10">     #
#       <connect allow="ip or host" timeout="blah" flood="5">         #
#       <connect allow="ip or host" threshold="8" pingfreq="120">     #
#       <connect allow="ip or host" sendq="99999" revcq="696969">     #
#       <connect deny="ip or host">                                   #
#                                                                     #
#   You may optionally include timeout="x" on any allow line, which   #
#   specifies the amount of time given before an unknown connection   #
#   is closed if USER/NICK/PASS are not given. This value is in secs  #
#                                                                     #
#   You may also optionally include a flood="x" line which indicates  #
#   the number of lines a user may place into their buffer at once    #
#   before they are disconnected for excess flood. The default is to  #
#   DISABLE this feature. A recommended value is 10. A counter is     #
#   maintained for each user which is reset every 'threshold' seconds #
#   and specifying this threshold value with threshold="X" indicates  #
#   how often the counter is reset. For example, with flood="5" and   #
#   threshold="8", the user may not send more than 5 lines in 8 secs. #
#                                                                     #
#   You may optionally specify the sendq size and ping frequency of   #
#   each connect:allow line using the pingfreq="X" and sendq="X"      #
#   settings as shown in the full example below.                      #
#   The ping frequency is specified in seconds, and the sendq size    #
#   in bytes. It is recommended, although not enforced, that you      #
#   should never set your sendq size to less than 8k. Send Queues are #
#   dynamically allocated and can grow as needed up to the maximum    #
#   size specified.                                                   #
#                                                                     #
#   The optional recvq value is the maximum size which users in this  #
#   group may grow their receive queue to. This is recommended to be  #
#   kept pretty low compared to the sendq, as users will always       #
#   recieve more than they send in normal circumstances. The default  #
#   if not specified is 4096.                                         #
#                                                                     #
#   IMPORTANT NOTE, CALL THE CONFUSION POLICE!                        #
#   The sendq is the data waiting to be sent TO THE USER.             #
#   The recvq is the data being received FROM THE USER.               #
#   The names sendq and recvq are from the SERVER'S PERSPECTIVE not   #
#   that of the user... Just to clear up any confusion or complaints  #
#   that these are backwards :p                                       #
#                                                                     #

<connect allow="196.12.*"  password="secret">
<connect allow="*" timeout="60" flood="10" threshold="60" pingfreq="120" sendq="262144" recvq="4096">

<connect deny="69.254.*">


#-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-
#                                                                     #
#   Classes are a group of commands which are grouped together        #
#   and given a unique name. They used to define which commands       #
#   are available to certain types of Operators.                      #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#       <class name="name" commands="oper commands">                  #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  You are not forced to give these classes the names given below.    #
#  You can create your own named classes, if you want, in fact that   #
#  is the whole idea of this system!                                  #
#                                                                     #

<class name="Shutdown" commands="DIE RESTART REHASH">
<class name="ServerLink" commands="CONNECT SQUIT">
<class name="BanControl" commands="KILL GLINE KLINE ZLINE QLINE SHUN">
<class name="OperChat" commands="WALLOPS CHATOPS">
<class name="HostCloak" commands="SETHOST SETIDENT SETNAME">


#-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   This is where you specify which types of operators you have on    #
#   your server, as well as the commands they are allowed to use.     #
#   This works alongside with the classes specified above.            #
#                                                                     #
#  type name  - a name for the combined class types                   #
#                                                                     #
#  classes    - specified above, used for flexibility for the         #
#               server admin to decide on which operators get         #
#               what commands                                         #
#                                                                     #
#  host       - optional hostmask operators will recieve on oper-up.  #
#                                                                     #
#  Syntax is as follows:                                              #
#                                                                     #
#       <type name="name" classes="class name" host="oper hostmask">  #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  You are not forced to give these types the names given below.      #
#  You can create your own named types, if you want, in fact that     #
#  is the whole idea of this system!                                  #
#                                                                     #

<type name="NetAdmin" classes="OperChat BanControl HostCloak Shutdown ServerLink" host="netadmin.omega.org.za">
<type name="GlobalOp" classes="OperChat BanControl HostCloak ServerLink" host="ircop.omega.org.za">
<type name="Helper" classes="HostCloak" host="helper.omega.org.za">


#-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Opers are defined here. This is a very important section.         #
#   Remember to only make operators out of truthworthy people.        #
#                                                                     #
#  name      - oper name, best to use lower-case                      #
#                                                                     #
#  password  - password to oper-up,                                   #
#              encryption not supported by inspircd. However, there   #
#              are modules that allow for oper password encryption.   #      
#                                                                     #
#  host      - host of client allowed to oper-up.                     #
#              wildcards accepted                                     #
#                                                                     #
#  type      - specified above, defines the kind of operator          #
#                                                                     #
#  Syntax is as follows:                                              #
#       <oper name="login"                                            #
#             password="pass"                                         #
#             host="hostmask@of.oper"                                 #
#             type="oper type">                                       #
#                                                                     #

<oper   name="katsklaw"
        password="s3cret"
        host="*@*"
        type="NetAdmin">


#-#-#-#-#-#-#-#-#-#-#-  SERVER LINK CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Defines which servers can link to this one, and which servers this  #
# server may create outbound links to.                                #
#                                                                     #
# name        -   The name is the canocial name of the server, does   #
#                 not have to resolve - but it is expected to be sent #
#                 in the remote servers connection info.              #
# ipaddr      -   Valid host or ip address for remote server. *       #
#                                                                     #
# port        -   The TCP port for the remote server.                 #
#                                                                     #
# sendpass    -   Password to send to create an outbound connection   #
#                 to this server.                                     #
#                                                                     #
# recvpass    -   Password to receive to accept an inbound connection #
#                 from this server.                                   #
#                                                                     #
# autoconnect -   Sets the server to autoconnect. Where x is the num. #
# (optional)      of seconds between attempts. e.g. 300 = 5 minutes.  #
#                                                                     #
# encryptionkey - Encryption key to be used for AES encryption, where #
#                 supported. Links using the spanning tree protocol   #
#                 support AES. The encryption key must be EXACTLY 8,  #
#                 16 or 32 characters in length for a 64, 128 or 256  #
#                 bit key, respectively.                              #
#                                                                     #
# hidden        - When using m_spanningtree.so for linking. you may   #
#                 set this to 'yes', and if you do, the IP address/   #
#                 hostname of this connection will NEVER be shown to  #
#                 any opers on the network. In /STATS c its address   #
#                 will show as *@<hidden>, and during CONNECT and     #
#                 inbound connections, its IP will show as <hidden>   #
#                 UNLESS the connection fails (e.g. due to a bad      #
#                 password or servername)                             #
#                                                                     #
# to u:line a server (give it extra privilages required for running   #
# services, Q, etc) you must include the <uline server> tag as shown  #
# in the example below. You can have as many of these as you like.    #
#                                                                     #
# WARNING: Unlike other ircds, u:lining a server allows ALL users on  #
# that server to operoverride modes. This should only be used for     #
# services and protected oper servers!                                #
#                                                                     #
# IMPORTANT NOTE: When specifying the ip address and/or host, the     #
# server software will prioritize RESOLVED hostnames above ip         #
# addresses, so for example if your target server resolves to a.b.com #
# you MUST put a.b.com into your link block, and NOT the IP address   #
# of a.b.com. The system uses reverse resolution.                     #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
#  If you want to link servers to InspIRCd you must load the          #
#  m_spanningtree module! Please see the modules list below for       #
#  information on how to load this module! If you do not load this    #
#  module, server links will NOT work!                                #
#                                                                     #

<link name="hub.penguin.org"
        ipaddr="penguin.box.com"
        port="7000"
        autoconnect="300"
        sendpass="outgoing!password"
        recvpass="incoming!password">

<link name="services.antarctic.com"
        ipaddr="localhost"
        port="7000"
        sendpass="penguins"
        recvpass="polarbears">

<uline server="services.antarctic.com">


#-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION  -#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   These options let you define the path to your motd and rules      #
#   files.                                                            #
#                                                                     #

<files  motd="/home/cc/inspircd/conf/inspire.motd"
        rules="/home/cc/inspircd/conf/inspire.rules">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-# DNS SERVER -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Define your DNS server address here. InspIRCd has its own resolver  #
# and you must define this otherwise nobody's host will resolve. The  #
# timeout value is in seconds.                                        #
#                                                                     #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
# When choosing a server, be sure to choose one which will do a       #
# RECURSIVE LOOKUP. InspIRCd's resolver does not currently do these   #
# recursive lookups itself, to save time and resources. The dns       #
# server recommended by the InspIRCd team is bind, available from the #
# ISC website. If your DNS server does not do a recursive lookup, you #
# will be able to notice this by the fact that none of your users are #
# resolving even though the DNS server appears to be up! Most ISP and #
# hosting provider DNS servers support recursive lookups.             #
#                                                                     #

<dns server="127.0.0.1" timeout="5">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#  PID FILE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Define the path to the PID file here. The PID file can be used to   #
# rehash the ircd from the shell or to terminate the ircd from the    #
# shell using shell scripts, perl scripts etc, and to monitor the     #
# ircd's state via cron jobs.                                         #
#                                                                     #

<pid file="/path/to/inspircd.pid">

#-#-#-#-#-#-#-#-#-#-#-#-#- BANLIST LIMITS #-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Use these tags to customise the ban limits on a per channel basis.  #
# the tags are read from top to bottom, and any tag found which       #
# matches the channels name applies the banlimit to that channel.     #
# It is advisable to put an entry with the channel as '*' at the      #
# bottom of the list. If none are specified or no maxbans tag is      #
# matched, the banlist size defaults to 64 entries.                   #
#                                                                     #

<banlist chan="#morons" limit="128">
<banlist chan="*" limit="69">

#-#-#-#-#-#-#-#-#-#-#-  DISABLED COMMANDS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# This tag is optional, and specifies one or more commands which are  #
# not available to non-operators. For example you may wish to disable #
# NICK and prevent non-opers from changing their nicknames.           #
# Note that any disabled commands take effect only after the user has #
# 'registered' (e.g. after the initial USER/NICK/PASS on connection)  #
# so for example disabling NICK will not cripple your network.        #
#                                                                     #
#         <disabled commands="TOPIC MODE">                            #
#                                                                     #


#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Just remove this... Its here to make you read ALL of the config   #
#   file options ;)                                                   #

<die value="You should probably edit your config *PROPERLY* and try again.">



#-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   Settings to define which features are useable on your server.     #
#                                                                     #
#  prefixquit    - a prefix for a client's quit message               #
#                                                                     #
#  loglevel      - specifies what detail of messages to log in the    #
#                  log file. You may select from debug, verbose,      #
#                  default, sparse and none.                          #
#  allowhalfop   - allows the +h channel mode                         #
#                                                                     #
#  noservices    - If noservices is true, yes, or 1, then the first   #
#                  user into a channel gets founder status. This is   #
#                  only useful on networks running the m_chanprotect  #
#                  module without services.                           #
#                                                                     #
#  netbuffersize - size of the buffer used to receive data from       #
#                  clients. The ircd may only read() this amount      #
#                  of text in one go at any time. (OPTIONAL)          #
#                                                                     #
#  maxwho        - The maximum number of results returned by a /WHO   #
#                  query. This is to prevent /WHO being used as a     #
#                  spam vector or means of flooding an ircd. The      #
#                  default is 128, it is not recommended to raise it  #
#                  above 1024. Values up to 65535 are permitted.      #
#                                                                     #
#  somaxconn     - The maximum number of sockets that may be waiting  #
#                  in the accept queue. This usually allows the ircd  #
#                  to soak up more connections in a shorter space of  #
#                  time when increased but please be aware there is a #
#                  system defined maximum value to this, the same way #
#                  there is a system defined maximum number of file   #
#                  descriptors. Some systems may only allow this to   #
#                  be up to 5 (ugh) while others such as FreeBSD will #
#                  default to a much nicer 128.                       #
#                                                                     #
#  moduledir     - This optional value indicates a runtime change of  #
#                  the location where modules are to be found. This   #
#                  does not add a supplementary directory. There can  #
#                  only be one module path.                           #
#                                                                     #
#  softlimit     - This optional feature allows a defined softlimit.  #
#                  if defined sets a soft maxconnections value, has   #
#                  to be less than the ./configure maxclients         #
#                                                                     #
#  operonlystats - The operonlystats field is optional and specifies  #
#                  which stats characters in /STATS may only be       #
#                  requested by an IRC operator. Stats characters in  #
#                  this field are case sensitive and enforced as      #
#                  oper-only independent of if they are in a module   #
#                  or the core.                                       #
#                                                                     #
#  customversion - If you specify this configuration item, and it is  #
#                  not set to an empty value, then when a user does   #
#                  a /VERSION command on the ircd, this string will   #
#                  be displayed as the second portion of the output,  #
#                  replacing the system 'uname', compile flags and    #
#                  socket engine/dns engine names. You may use this   #
#                  to enhance security, or simply for vanity.         #
#                                                                     #
# maxtargets     - The maxtargets field is optional, and if not       #
#                  defined, defaults to 20. It indicates the maximum  #
#                  number of targets which may be given to commands   #
#                  such as PRIVMSG, KICK etc.                         #
#                                                                     #


<options prefixquit="Quit: "
         loglevel="default"
         netbuffersize="10240"
         maxwho="128"
         noservices="0"
         somaxconn="128"
         softlimit="128"
         operonlystats="oclgkz"
         customversion=""
         maxtargets="20"
         allowhalfop="yes">



#-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#  These tags define which modules will be loaded on startup by your  #
#  server. Add modules without any paths. When you make your ircd     #
#  using the 'make' command, all compiled modules will be moved into  #
#  the folder you specified when you ran ./configure. The module tag  #
#  automatically looks for modules in this location.                  #
#  If you attempt to load a module outside of this location, either   #
#  in the config, or via /LOADMODULE, you will receive an error.      #
#                                                                     #
#  By default, ALL modules are commented out. You must uncomment them #
#  or add lines to your config to load modules. Please refer to       #
#  http://www.inspircd.org/wiki/Modules_List for a list of modules and#
#  each modules link for any additional conf tags they require.       #
#                                                                     #
#  WINDOWS USERS PLEASE NOTE: You can still load these modules! They  #
#  are incorporated into the executable and can be loaded and removed #
#  similarly to if they were in a ramdisk.                            #
#    ____                _   _____ _     _       ____  _ _   _        #
#   |  _ \ ___  __ _  __| | |_   _| |__ (_)___  | __ )(_) |_| |       #
#   | |_) / _ \/ _` |/ _` |   | | | '_ \| / __| |  _ \| | __| |       #
#   |  _ <  __/ (_| | (_| |   | | | | | | \__ \ | |_) | | |_|_|       #
#   |_| \_\___|\__,_|\__,_|   |_| |_| |_|_|___/ |____/|_|\__(_)       #
#                                                                     #
# To link servers to InspIRCd, you MUST load the m_spanningtree       #
# module, as shown below. If you DO NOT do this, server links will    #
# NOT work at all. ie. The ports will NOT bind, and /connect will not #
# work properly. This is by design, to allow for the implementation   #
# of other linking protocols in modules in the future.                #

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Spanning Tree module - allows linking of servers using the spanning
# tree protocol (see the READ THIS BIT section above).
#
#<module name="m_spanningtree.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Foobar module - does nothing
#<module name="m_foobar.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Chanprotect module: gives +q and +a channel modes
#<module name="m_chanprotect.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Globops module: gives /GLOBOPS and usermode +g
#<module name="m_globops.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Noinvite module: Gives channel mode +V
#<module name="m_noinvite.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MD5 module: Allows MD5 hashed oper passwords
#<module name="m_opermd5.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restricted channels module: Allows only opers to create channels
#<module name="m_restrictchans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Deny Channels: Deny Channels from being used by users
#<module name="m_denychans.so"> 

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Services support module: Adds several usermodes such as +R and +M
#<module name="m_services.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Userip module: Adds the /USERIP command
#<module name="m_userip.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Alias module: Allows you to define server-side command aliases
#<module name="m_alias.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# CHGHOST module: Adds the /CHGHOST command
#<module name="m_chghost.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# HELPOP module: Provides the /HELPOP command
#<module name="m_helpop.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No kicks module: Adds the +Q channel mode
#<module name="m_nokicks.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper MOTD module: Provides support for seperate message of the day
# on oper-up
#<module name="m_opermotd.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Restrict message module: Allows users to only message opers
#<module name="m_restrictmsg.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Sethost module: Adds the /SETHOST command
#<module name="m_sethost.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Antibottler module: Labels bottler leech bots
#<module name="m_antibottler.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Watch module: Adds the WATCH command, which is used by clients to 
# maintain notify lists.
#<module name="m_watch.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Cloaking module: Adds usermode +x and cloaking support
#<module name="m_cloaking.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Hostchange module: Allows a different style of cloaking
#<module name="m_hostchange.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No nicks module: Adds the +N channel mode
#<module name="m_nonicks.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Override module: Adds support for oper override
#<module name="m_override.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAJOIN module: Adds the /SAJOIN command
#<module name="m_sajoin.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Set Idle module: Adds a command for opers to change their
# idle time (mainly a toy)
#<module name="m_setidle.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Block colour module: Adds the +c channel mode
#<module name="m_blockcolor.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Conn-Lusers: Shows the LUSERS output on connect
#<module name="m_conn_lusers.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Ident: Provides RFC 1413 ident lookup support
#<module name="m_ident.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No Notice module: adds the channel mode +T
#<module name="m_nonotice.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Parking module: Adds parking support and /PARK and /UNPARK
#<module name="m_park.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAMODE module: Adds the oper /SAMODE command
#<module name="m_samode.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SETNAME module: Adds the /SETNAME command
#<module name="m_setname.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Botmode module: Adds the user mode +B
#<module name="m_botmode.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Filter module: Provides glob-based message filtering
#<module name="m_filter.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Knock module: adds the /KNOCK command and +K channel mode
#<module name="m_knock.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper channels mode: Adds the +O channel mode
#<module name="m_operchans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Random Quote module: provides a random quote on connect
#<module name="m_randquote.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SANICK module: Allows opers to change user's nicks
#<module name="m_sanick.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Show Whois module: Adds the +W usermode which allows opers
# to see when they are whois'ed
#<module name="m_showwhois.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Strip colour module: Adds the channel mode +S
#<module name="m_stripcolor.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Censor module: Adds the channel mode +G
#<module name="m_censor.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Nick locking module: Adds the oper-only /NICKLOCK command
#<module name="m_nicklock.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper Join module: Forces opers to join a channel on oper-up
#<module name="m_operjoin.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Redirect module: Adds channel redirection (mode +L)
#<module name="m_redirect.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAPART module: Adds the oper /SAPART command
#<module name="m_sapart.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SILENCE module: Adds support for /SILENCE
#<module name="m_silence.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Test command module: Does nothing significant
#<module name="m_testcommand.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Channel filter module: Allows channel-op defined message
# filtering using simple string matches (channel mode +g)
#<module name="m_chanfilter.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# No ctcp module: Adds the channel mode +C to block CTCPs
#<module name="m_noctcp.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper levels module: Gives each oper a level and prevents
# actions being taken against higher level opers
#<module name="m_operlevels.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Remove module: Adds the /REMOVE command which is a peaceful
# alternative to /KICK
#<module name="m_remove.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SAQUIT module: Adds the oper /SAQUIT command (abusable!!!)
#<module name="m_saquit.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Timed bans module: Adds timed bans and the /TBAN command
#<module name="m_timedbans.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# Oper modes module: Allows you to specify modes to add/remove on oper
#<module name="m_opermodes.so">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
# SWHOIS module: Allows you to add arbitary lines to user WHOIS.
#<module name="m_swhois.so">


#-#-#-#-#-#-#-#-#-#-#-  FILTER  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_filter.so module, then       #
# specfiy below the path to the filter.conf file.                     #

#<filter file="/path/to/inspircd/filter.conf">


#-#-#-#-#-#-#-#-#-#-#-#-  HELPOP  CONFIGURATION  -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_helpop.so module, then       #
# specify below the path to the helpop.conf file.                     #

<die value="If you used the helpop include above then do *NOT* use this tag.">
#<helpop file="/path/to/inspircd/helpop.conf">


#-#-#-#-#-#-#-#-#-#-  RANDOMQUOTES CONFIGURATION -#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# Optional - If you specify to use the m_randquotes.so module, then   #
# specify below the path to the randquotes.conf file.                 #

#<randquote file="/path/to/inspircd/randquotes.conf">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-  BAN OPTIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# The ban tags define nick masks, host masks and ip ranges which are  #
# banned from your server. All details in these tags are local to     #
# Your server.                                                        #
#                                                                     #
#                                                                     #
# badip lines ban an ip range (same as a zline)                       #
#                                                                     #
# ipmask       -          The ip range to ban (wildcards possible)    #
# reason       -          Reason to display when disconnected         #
#                                                                     #
# badnick lines ban a nick mask (same as a qline)                     #
#                                                                     #
# nick         -          Nick mask to ban (wildcards possible)       #
# reason       -          Reason to display on /NICK                  #
#                                                                     #
# badhost lines ban a user@host mask (same as a kline)                #
#                                                                     #
# host         -          ident@hostname (wildcards possible)         #
# reason       -          Reason to display on disconnection          #
#                                                                     #
# exception lines define a hostmask that is excempt from [kzg]lines   #
#                                                                     #
# host         -          ident@hostname (wildcards possible)         #
# reason       -          Reason, shown only in /stats e              #
#                                                                     #

<badip ipmask="69.69.69.69" reason="No porn here thanks.">

<badnick nick="ChanServ" reason="Reserved For Services">
<badnick nick="NickServ" reason="Reserved For Services">
<badnick nick="OperServ" reason="Reserved For Services">
<badnick nick="MemoServ" reason="Reserved For Services">

<badhost host="*@hundredz.n.hundredz.o.1337.kiddies.com" reason="Too many 1337 kiddiots">
<badhost host="*@localhost" reason="No irc from localhost!">

<exception host="*@ircop.host.com" reason="Opers hostname">

#-#-#-#-#-#-#-#-#-#-#-  ALIAS DEFINITIONS  -#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
# If you have the m_alias.so module loaded, you may also define       #
# aliases as shown below. They are commonly used to provide shortcut  #
# commands to services, however they are not limited to jsut this use.#
# An alias tag requires the following values to be defined in it:     #
#                                                                     #
# text        -      The text to detect at the start of the line,     #
#                    must be at the start of the line to trigger the  #
#                    alias. May contain spaces, but case insensitive. #
# replace     -      The text to replace 'text' with. Usually this    #
#                    will be "PRIVMSG ServiceName" or similar.        #
# requires    -      If you provide a value for 'requires' this means #
#                    the given nickname MUST be online for the alias  #
#                    to successfully trigger. If they are not, then   #
#                    the user receives a 'no such nick' 401 numeric.  #
# uline       -      Defining this value with 'yes', 'true' or '1'    #
#                    will ensure that the user given in 'requires'    #
#                    must also be on a u-lined server, as well as     #
#                    actually being on the network. If the user is    #
#                    online, but not on a u-lined server, then an     #
#                    oper-alert is sent out as this is possibly signs #
#                    of a user trying to impersonate a service.       #
#                                                                     #

<alias text="NICKSERV" replace="PRIVMSG NickServ" requires="NickServ" uline="yes">
<alias text="CHANSERV" replace="PRIVMSG ChanServ" requires="ChanServ" uline="yes">
<alias text="NS" replace="PRIVMSG NickServ" requires="NickServ" uline="yes">
<alias text="CS" replace="PRIVMSG ChanServ" requires="ChanServ" uline="yes">

#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
#                                                                     #
#   You should already know what to do here :)                        #

<die value="You should probably edit your config *PROPERLY* and try again.">


#########################################################################
#                                                                       #
#                     - InspIRCd Development Team -                     #
#                        http://www.inspircd.org                        #
#                                                                       #
#########################################################################