Advertisement
Guest User

Untitled

a guest
Mar 17th, 2019
885
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 41.73 KB | None | 0 0
  1. services.conf
  2.  
  3. /*
  4.  * Example configuration file for Services. After making the appropriate
  5.  * changes to this file, place it in the Services conf directory (as
  6.  * specified in the "configure" script, default /home/username/services/conf)
  7.  * under the name "services.conf".
  8.  *
  9.  * The format of this file is fairly simple: three types of comments are supported:
  10.  *  - All text after a '#' on a line is ignored, as in shell scripting
  11.  *  - All text after '//' on a line is ignored, as in C++
  12.  *  - A block of text like this one is ignored, as in C
  13.  *
  14.  * Outside of comments, there are three structures: blocks, keys, and values.
  15.  *
  16.  * A block is a named container, which contains a number of key to value pairs
  17.  * - you may think of this as an array.
  18.  *
  19.  * A block is created like so:
  20.  * foobar
  21.  * {
  22.  *    moo = "cow"
  23.  *    foo = bar
  24.  * }
  25.  *
  26.  * Note that nameless blocks are allowed and are often used with comments to allow
  27.  * easily commenting an entire block, for example:
  28.  * #foobar
  29.  * {
  30.  *    moo = "cow"
  31.  *    foo = bar
  32.  * }
  33.  * is an entirely commented block.
  34.  *
  35.  * Keys are case insensitive. Values depend on what key - generally, information is
  36.  * given in the key comment. The quoting of values (and most other syntax) is quite
  37.  * flexible, however, please do not forget to quote your strings:
  38.  *
  39.  *   "This is a parameter string with spaces in it"
  40.  *
  41.  * If you need to include a double quote inside a quoted string, precede it
  42.  * by a backslash:
  43.  *
  44.  *   "This string has \"double quotes\" in it"
  45.  *
  46.  * Time parameters can be specified either as an integer representing a
  47.  * number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
  48.  * specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
  49.  * Combinations (such as "1h30m") are not permitted. Examples (all of which
  50.  * represent the same length of time, one day):
  51.  *
  52.  *   "86400", "86400s", "1440m", "24h", "1d"
  53.  *
  54.  * In the documentation for each directive, one of the following will be
  55.  * included to indicate whether an option is required:
  56.  *
  57.  * [REQUIRED]
  58.  *     Indicates a directive which must be given. Without it, Services will
  59.  *     not start.
  60.  *
  61.  * [RECOMMENDED]
  62.  *     Indicates a directive which may be omitted, but omitting it may cause
  63.  *     undesirable side effects.
  64.  *
  65.  * [OPTIONAL]
  66.  *     Indicates a directive which is optional. If not given, the feature
  67.  *     will typically be disabled. If this is not the case, more
  68.  *     information will be given in the documentation.
  69.  *
  70.  * [DISCOURAGED]
  71.  *     Indicates a directive which may cause undesirable side effects if
  72.  *     specified.
  73.  *
  74.  * [DEPRECATED]
  75.  *     Indicates a directive which will disappear in a future version of
  76.  *     Services, usually because its functionality has been either
  77.  *     superseded by that of other directives or incorporated into the main
  78.  *     program.
  79.  */
  80.  
  81. /*
  82.  * [OPTIONAL] Defines
  83.  *
  84.  * You can define values to other values, which can be used to easily change
  85.  * many values in the configuration. at once.
  86.  */
  87.  
  88. /*
  89.  * The services.host define is used in multiple different locations throughout the
  90.  * configuration for services clients hostnames.
  91.  */
  92. define
  93. {
  94.     name = "service.chatserve.website"
  95.     value = "services.chatserve.website"
  96. }
  97.  
  98. /*
  99.  * [OPTIONAL] Additional Includes
  100.  *
  101.  * You can include additional configuration files here.
  102.  * You may also include executable files, which will be executed and
  103.  * the output from it will be included into your configuration.
  104.  */
  105.  
  106. #include
  107. {
  108.     type = "file"
  109.     name = "some.conf"
  110. }
  111.  
  112. #include
  113. {
  114.     type = "executable"
  115.     name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
  116. }
  117.  
  118. /*
  119.  * [REQUIRED] IRCd Config
  120.  *
  121.  * This section is used to set up Anope to connect to your IRC network.
  122.  * This section can be included multiple times, and Anope will attempt to
  123.  * connect to each server until it finally connects.
  124.  *
  125.  * Each uplink IRCd should have a corresponding configuration to allow Services
  126.  * to link to it.
  127.  *
  128.  * An example configuration for InspIRCd that is compatible with the below uplink
  129.  * and serverinfo configuration would look like:
  130.  *
  131. <link name="services.chatserve.website"
  132.             ipaddr="127.0.0.1"
  133.             port="7000"
  134.             sendpass="*******"
  135.             recvpass="*******">
  136. <uline server="services.chatserve.website" silent="yes">
  137. <bind address="127.0.0.1" port="7000" type="servers">
  138.  *
  139.  * An example configuration for UnrealIRCd that is compatible with the below uplink
  140.  * and serverinfo configuration would look like:
  141.  *
  142.  *     link services.localhost.net
  143.  *     {
  144.  *          username *;
  145.  *          hostname *;
  146.  *          bind-ip "127.0.0.1";
  147.  *          port 7000;
  148.  *          hub *;
  149.  *          password-connect "mypassword";
  150.  *          password-receive "mypassword";
  151.  *          class servers;
  152.  *     };
  153.  *     ulines { services.localhost.net; };
  154.  *     listen 127.0.0.1:7000;
  155.  *
  156.  
  157. /*
  158.  * [REQUIRED] Server Information
  159.  *
  160.  * This section contains information about the Services server.
  161.  */
  162. serverinfo
  163. {
  164.     /*
  165.      * The hostname that Services will be seen as, it must have no conflicts with any
  166.      * other server names on the rest of your IRC network. Note that it does not have
  167.      * to be an existing hostname, just one that isn't on your network already.
  168.      */
  169.     name = "services.chatserve.website"
  170.  
  171.     /*
  172.      * The text which should appear as the server's information in /whois and similar
  173.      * queries.
  174.      */
  175.     description = "Services for ChatServe IRC Network"
  176.  
  177.     /*
  178.      * The local address that Services will bind to before connecting to the remote
  179.      * server. This may be useful for multihomed hosts. If omitted, Services will let
  180.      * the Operating System choose the local address. This directive is optional.
  181.      *
  182.      * If you don't know what this means or don't need to use it, just leave this
  183.      * directive commented out.
  184.      */
  185.     #localhost = "nowhere."
  186.  
  187.     /*
  188.      * What Server ID to use for this connection?
  189.      * Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
  190.      * to see if this is needed.
  191.      */
  192.     #id = "00A"
  193.  
  194.     /*
  195.      * The filename containing the Services process ID. The path is relative to the
  196.      * services root directory.
  197.      */
  198.     pid = "data/services.pid"
  199.  
  200.     /*
  201.      * The filename containing the Message of the Day. The path is relative to the
  202.      * services root directory.
  203.      */
  204.     motd = "conf/services.motd"
  205. }
  206.  
  207. uplink
  208. {
  209.         /*
  210.          * The IP or hostname of the IRC server you wish to connect Services to.
  211.          * Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
  212.          *
  213.          * NOTE: On some shell providers, this will not be an option.
  214.          */
  215.         host = "127.0.0.1"
  216.  
  217.         /*
  218.          * Enable if Services should connect using IPv6.
  219.          */
  220.         ipv6 = no
  221.  
  222.         /*
  223.          * Enable if Services should connect using SSL.
  224.          * You must have an SSL module loaded for this to work.
  225.          */
  226.         ssl = no
  227.  
  228.         /*
  229.          * The port to connect to.
  230.          * The IRCd *MUST* be configured to listen on this port, and to accept
  231.          * server connections.
  232.          *
  233.          * Refer to your IRCd documentation for how this is to be done.
  234.          */
  235.         port = 7000
  236.  
  237.         /*
  238.          * The password to send to the IRC server for authentication.
  239.          * This must match the link block on your IRCd.
  240.          *
  241.          * Refer to your IRCd documentation for more information on link blocks.
  242.          */
  243.         password = "*******"
  244. }
  245. /*
  246.  * [REQUIRED] Protocol module
  247.  *
  248.  * This directive tells Anope which IRCd Protocol to speak when connecting.
  249.  * You MUST modify this to match the IRCd you run.
  250.  *
  251.  * Supported:
  252.  *  - bahamut
  253.  *  - charybdis
  254.  *  - hybrid
  255.  *  - inspircd12
  256.  *  - inspircd20
  257.  *  - ngircd
  258.  *  - plexus
  259.  *  - ratbox
  260.  *  - unreal (for 3.2.x)
  261.  *  - unreal4
  262.  */
  263. module
  264. {
  265.     name = "inspircd20"
  266.  
  267.     /*
  268.      * Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
  269.      * services immediately reversing mode changes for locked modes.
  270.      *
  271.      * If the protocol module you have loaded does not support this, this setting will have no effect.
  272.      */
  273.     use_server_side_mlock = yes
  274.  
  275.     /*
  276.      * Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
  277.      * services immediately reversing topic changes.
  278.      *
  279.      * If the protocol module you have loaded does not support this, this setting will have no effect.
  280.      */
  281.     use_server_side_topiclock = yes
  282. }
  283.  
  284. /*
  285.  * [REQUIRED] Network Information
  286.  *
  287.  * This section contains information about the IRC network that Services will be
  288.  * connecting to.
  289.  */
  290. networkinfo
  291. {
  292.     /*
  293.      * This is the name of the network that Services will be running on.
  294.      */
  295.     networkname = "ChatServe IRCd"
  296.  
  297.     /*
  298.      * Set this to the maximum allowed nick length on your network.
  299.      * Be sure to set this correctly, as setting this wrong can result in
  300.      * Services being disconnected from the network.
  301.      */
  302.     nicklen = 31
  303.  
  304.     /* Set this to the maximum allowed ident length on your network.
  305.      * Be sure to set this correctly, as setting this wrong can result in
  306.      * Services being disconnected from the network.
  307.      */
  308.     userlen = 10
  309.  
  310.     /* Set this to the maximum allowed hostname length on your network.
  311.      * Be sure to set this correctly, as setting this wrong can result in
  312.      * Services being disconnected from the network.
  313.      */
  314.     hostlen = 64
  315.  
  316.     /* Set this to the maximum allowed channel length on your network.
  317.      */
  318.     chanlen = 32
  319.  
  320.     /* The maximum number of list modes settable on a channel (such as b, e, I).
  321.      * Comment out or set to 0 to disable.
  322.      */
  323.     modelistsize = 100
  324.  
  325.     /*
  326.      * Characters allowed in nicknames. This always includes the characters described
  327.      * in RFC1459, and so does not need to be set for normal behavior. Changing this to
  328.      * include characters your IRCd doesn't support will cause your IRCd and/or Services
  329.      * to break. Multibyte characters are not supported, nor are escape sequences.
  330.      *
  331.      * It is recommended you DON'T change this.
  332.      */
  333.     #nick_chars = ""
  334.  
  335.     /*
  336.      * The characters allowed in hostnames. This is used for validating hostnames given
  337.      * to services, such as BotServ bot hostnames and user vhosts. Changing this is not
  338.      * recommended unless you know for sure your IRCd supports whatever characters you are
  339.      * wanting to use. Telling services to set a vHost containing characters your IRCd
  340.      * disallows could potentially break the IRCd and/or Services.
  341.      *
  342.      * It is recommended you DON'T change this.
  343.      */
  344.     vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
  345.  
  346.     /*
  347.      * If set to true, allows vHosts to not contain dots (.).
  348.      * Newer IRCds generally do not have a problem with this, but the same warning as
  349.      * vhost_chars applies.
  350.      *
  351.      * It is recommended you DON'T change this.
  352.      */
  353.     allow_undotted_vhosts = false
  354.  
  355.     /*
  356.      * The characters that are not allowed to be at the very beginning or very ending
  357.      * of a vHost. The same warning as vhost_chars applies.
  358.      *
  359.      * It is recommended you DON'T change this.
  360.      */
  361.     disallow_start_or_end = ".-"
  362. }
  363.  
  364. /*
  365. * [REQUIRED] Services Options
  366. *
  367. * This section contains various options which determine how Services will operate.
  368. */
  369. options
  370. {
  371.     /*
  372.      * On Linux/UNIX systems Anope can setuid and setgid to this user and group
  373.      * after starting up. This is useful if Anope has to bind to privileged ports
  374.      */
  375.     #user = "anope"
  376.     #group = "anope"
  377.  
  378.     /*
  379.      * The case mapping used by services. This must be set to a valid locale name
  380.      * installed on your machine. Services use this case map to compare, with
  381.      * case insensitivity, things such as nick names, channel names, etc.
  382.      *
  383.      * We provide two special casemaps shipped with Anope, ascii and rfc1459.
  384.      *
  385.      * This value should be set to what your IRCd uses, which is probably rfc1459,
  386.      * however Anope has always used ascii for comparison, so the default is ascii.
  387.      *
  388.      * Changing this value once set is not recommended.
  389.      */
  390.     casemap = "ascii"
  391.  
  392.     /*
  393.      * This key is used to initiate the random number generator. This number
  394.      * MUST be random as you want your passcodes to be random. Don't give this
  395.      * key to anyone! Keep it private!
  396.      *
  397.      * NOTE: If you don't uncomment this or keep the default values, any talented
  398.      * programmer would be able to easily "guess" random strings used to mask
  399.      * information. Be safe, and come up with a 7-digit number.
  400.      *
  401.      * This directive is optional, but highly recommended.
  402.      */
  403.     #seed = 9866235
  404.  
  405.     /*
  406.      * If set, Services will perform more stringent checks on passwords. If this
  407.      * isn't set, Services will only disallow a password if it is the same as the
  408.      * entity (nickname name) with which it is associated. When set, however,
  409.      * Services will also check that the password is at least five
  410.      * characters long, and in the future will probably check other things
  411.      * as well.
  412.      *
  413.      * This directive is optional, but recommended.
  414.      */
  415.     strictpasswords = yes
  416.  
  417.     /*
  418.      * Sets the number of invalid password tries before Services removes a user
  419.      * from the network. If a user enters a number of invalid passwords equal to
  420.      * the given amount for any Services function or combination of functions
  421.      * during a single IRC session (subject to badpasstimeout, below), Services
  422.      * will issues a /KILL for the user. If not given, Services will ignore
  423.      * failed password attempts (though they will be logged in any case).
  424.      *
  425.      * This directive is optional, but recommended.
  426.      */
  427.     badpasslimit = 5
  428.  
  429.     /*
  430.      * Sets the time after which invalid passwords are forgotten about. If a user
  431.      * does not enter any incorrect passwords in this amount of time, the incorrect
  432.      * password count will reset to zero. If not given, the timeout will be
  433.      * disabled, and the incorrect password count will never be reset until the user
  434.      * disconnects.
  435.      *
  436.      * This directive is optional.
  437.      */
  438.     badpasstimeout = 1h
  439.  
  440.     /*
  441.      * Sets the delay between automatic database updates.
  442.      */
  443.     updatetimeout = 5m
  444.  
  445.     /*
  446.      * Sets the delay between checks for expired nicknames and channels.
  447.      */
  448.     expiretimeout = 30m
  449.  
  450.     /*
  451.      * Sets the timeout period for reading from the uplink.
  452.      */
  453.     readtimeout = 5s
  454.  
  455.     /*
  456.      * Sets the interval between sending warning messages for program errors via
  457.      * WALLOPS/GLOBOPS.
  458.      */
  459.     warningtimeout = 4h
  460.  
  461.     /*
  462.      * Sets the (maximum) frequency at which the timeout list is checked. This,
  463.      * combined with readtimeout above, determines how accurately timed events,
  464.      * such as nick kills, occur; it also determines how much CPU time Services
  465.      * will use doing this. Higher values will cause less accurate timing but
  466.      * less CPU usage.
  467.      *
  468.      * Note that this value is not an absolute limit on the period between
  469.      * checks of the timeout list; the previous may be as great as readtimeout
  470.      * (above) during periods of inactivity.
  471.      *
  472.      * If this directive is not given, it will default to 0.
  473.      */
  474.     timeoutcheck = 3s
  475.  
  476.     /*
  477.      * If set, this will allow users to let Services send PRIVMSGs to them
  478.      * instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
  479.      * which also toggles the default communication (PRIVMSG or NOTICE) to
  480.      * use for unregistered users.
  481.      *
  482.      * This is a feature that is against the IRC RFC and should be used ONLY
  483.      * if absolutely necessary.
  484.      *
  485.      * This directive is optional, and not recommended.
  486.      */
  487.     #useprivmsg = yes
  488.  
  489.     /*
  490.      * If set, will force Services to only respond to PRIVMSGs addresses to
  491.      * Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
  492.      * conjunction with IRCd aliases. This directive is optional.
  493.      *
  494.      * This option will have no effect on some IRCds, such as TS6 IRCds.
  495.      */
  496.     #usestrictprivmsg = yes
  497.  
  498.     /*
  499.      * If set, Services will only show /stats o to IRC Operators. This directive
  500.      * is optional.
  501.      */
  502.     #hidestatso = yes
  503.  
  504.     /*
  505.      * A space-separated list of ulined servers on your network, it is assumed that
  506.      * the servers in this list are allowed to set channel modes and Services will
  507.      * not attempt to reverse their mode changes.
  508.      *
  509.      * WARNING: Do NOT put your normal IRC user servers in this directive.
  510.      *
  511.      * This directive is optional.
  512.      */
  513.     #ulineservers = "stats.your.network"
  514.  
  515.     /*
  516.      * How long to wait between connection retries with the uplink(s).
  517.      */
  518.     retrywait = 60s
  519.  
  520.     /*
  521.      * If set, Services will hide commands that users don't have the privilege to execute
  522.      * from HELP output.
  523.      */
  524.     hideprivilegedcommands = yes
  525.  
  526.     /*
  527.      * If set, Services will hide commands that users can't execute because they are not
  528.      * logged in from HELP output.
  529.      */
  530.     hideregisteredcommands = yes
  531.  
  532.     /* The regex engine to use, as provided by the regex modules.
  533.      * Leave commented to disable regex matching.
  534.      *
  535.      * Note for this to work the regex module providing the regex engine must be loaded.
  536.      */
  537.     regexengine = "regex/pcre"
  538.  
  539.     /*
  540.      * A list of languages to load on startup that will be available in /nickserv set language.
  541.      * Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
  542.      * Note that english should not be listed here because it is the base language.
  543.      *
  544.      * Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
  545.      */
  546.     languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
  547.  
  548.     /*
  549.      * Default language that non- and newly-registered nicks will receive messages in.
  550.      * Set to "en" to enable English. Defaults to the language the system uses.
  551.      */
  552.     #defaultlanguage = "es_ES.UTF-8"
  553. }
  554.  
  555. /*
  556.  * [OPTIONAL] BotServ
  557.  *
  558.  * Includes botserv.example.conf, which is necessary for BotServ functionality.
  559.  *
  560.  * Remove this block to disable BotServ.
  561.  */
  562. include
  563. {
  564.     type = "file"
  565.     name = "botserv.example.conf"
  566. }
  567.  
  568. /*
  569.  * [RECOMMENDED] ChanServ
  570.  *
  571.  * Includes chanserv.example.conf, which is necessary for ChanServ functionality.
  572.  *
  573.  * Remove this block to disable ChanServ.
  574.  */
  575. include
  576. {
  577.     type = "file"
  578.     name = "chanserv.example.conf"
  579. }
  580.  
  581. /*
  582.  * [RECOMMENDED] Global
  583.  *
  584.  * Includes global.example.conf, which is necessary for Global functionality.
  585.  *
  586.  * Remove this block to disable Global.
  587.  */
  588. include
  589. {
  590.     type = "file"
  591.     name = "global.example.conf"
  592. }
  593.  
  594. /*
  595.  * [OPTIONAL] HostServ
  596.  *
  597.  * Includes hostserv.example.conf, which is necessary for HostServ functionality.
  598.  *
  599.  * Remove this block to disable HostServ.
  600.  */
  601. include
  602. {
  603.     type = "file"
  604.     name = "hostserv.example.conf"
  605. }
  606.  
  607. /*
  608.  * [OPTIONAL] MemoServ
  609.  *
  610.  * Includes memoserv.example.conf, which is necessary for MemoServ functionality.
  611.  *
  612.  * Remove this block to disable MemoServ.
  613.  */
  614. include
  615. {
  616.     type = "file"
  617.     name = "memoserv.example.conf"
  618. }
  619.  
  620. /*
  621.  * [OPTIONAL] NickServ
  622.  *
  623.  * Includes nickserv.example.conf, which is necessary for NickServ functionality.
  624.  *
  625.  * Remove this block to disable NickServ.
  626.  */
  627. include
  628. {
  629.     type = "file"
  630.     name = "nickserv.example.conf"
  631. }
  632.  
  633. /*
  634.  * [RECOMMENDED] OperServ
  635.  *
  636.  * Includes operserv.example.conf, which is necessary for OperServ functionality.
  637.  *
  638.  * Remove this block to disable OperServ.
  639.  */
  640. include
  641. {
  642.     type = "file"
  643.     name = "operserv.example.conf"
  644. }
  645.  
  646. /*
  647.  * [RECOMMENDED] Logging Configuration
  648.  *
  649.  * This section is used for configuring what is logged and where it is logged to.
  650.  * You may have multiple log blocks if you wish. Remember to properly secure any
  651.  * channels you choose to have Anope log to!
  652.  */
  653. log
  654. {
  655.     /*
  656.      * Target(s) to log to, which may be one of the following:
  657.      *   - a channel name
  658.      *   - a filename
  659.      *   - globops
  660.      */
  661.     target = "services.log"
  662.  
  663.     /* Log to both services.log and the channel #services
  664.      *
  665.      * Note that some older IRCds, such as Ratbox, require services to be in the
  666.      * log channel to be able to message it. To do this, configure service:channels to
  667.      * join your logging channel.
  668.      */
  669.     #target = "services.log #services"
  670.  
  671.     /*
  672.      * The source(s) to only accept log messages from. Leave commented to allow all sources.
  673.      * This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
  674.      */
  675.     #source = ""
  676.  
  677.     /*
  678.      * The bot used to log generic messages which have no predefined sender if there
  679.      * is a channel in the target directive.
  680.      */
  681.     bot = "Global"
  682.  
  683.     /*
  684.      * The number of days to keep logfiles, only useful if you are logging to a file.
  685.      * Set to 0 to never delete old logfiles.
  686.      *
  687.      * Note that Anope must run 24 hours a day for this feature to work correctly.
  688.      */
  689.     logage = 7
  690.  
  691.     /*
  692.      * What types of log messages should be logged by this block. There are nine general categories:
  693.      *
  694.      *  admin      - Execution of admin commands (OperServ, etc).
  695.      *  override   - A services operator using their powers to execute a command they couldn't normally.
  696.      *  commands   - Execution of general commands.
  697.      *  servers    - Server actions, linking, squitting, etc.
  698.      *  channels   - Actions in channels such as joins, parts, kicks, etc.
  699.      *  users      - User actions such as connecting, disconnecting, changing name, etc.
  700.      *  other      - All other messages without a category.
  701.      *  rawio      - Logs raw input and output from services
  702.      *  debug      - Debug messages (log files can become VERY large from this).
  703.      *
  704.      * These options determine what messages from the categories should be logged. Wildcards are accepted, and
  705.      * you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
  706.      * messages except for operserv/akill. Note that processing stops at the first matching option, which
  707.      * means "* ~operserv/*" would log everything because * matches everything.
  708.      *
  709.      * Valid admin, override, and command options are:
  710.      *    pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
  711.      *
  712.      * Valid server options are:
  713.      *    connect, quit, sync, squit
  714.      *
  715.      * Valid channel options are:
  716.      *    create, destroy, join, part, kick, leave, mode
  717.      *
  718.      * Valid user options are:
  719.      *    connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
  720.      *
  721.      * Rawio and debug are simple yes/no answers, there are no types for them.
  722.      *
  723.      * Note that modules may add their own values to these options.
  724.      */
  725.     admin = "*"
  726.     override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
  727.     commands = "~operserv/* *"
  728.     servers = "*"
  729.     #channels = "~mode *"
  730.     users = "connect disconnect nick"
  731.     other = "*"
  732.     rawio = no
  733.     debug = no
  734. }
  735.  
  736. /*
  737. * A log block to globops some useful things.
  738. */
  739. log
  740. {
  741.     target = "globops"
  742.     admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
  743.     servers = "squit"
  744.     users = "oper"
  745.     other = "expire/* bados akill/*"
  746. }
  747.  
  748. /*
  749. * [RECOMMENDED] Oper Access Config
  750. *
  751. * This section is used to set up staff access to restricted oper only commands.
  752. * You may define groups of commands and privileges, as well as who may use them.
  753. *
  754. * This block is recommended, as without it you will be unable to access most oper commands.
  755. * It replaces the old ServicesRoot directive amongst others.
  756. *
  757. * The command names below are defaults and are configured in the *serv.conf's. If you configure
  758.  * additional commands with permissions, such as commands from third party modules, the permissions
  759.  * must be included in the opertype block before the command can be used.
  760.  *
  761.  * Available privileges:
  762.  *  botserv/administration        - Can view and assign private BotServ bots
  763.  *  botserv/fantasy               - Can use fantasy commands without the FANTASIA privilege
  764.  *  chanserv/administration       - Can modify the settings of any channel (including changing of the owner!)
  765.  *  chanserv/access/list          - Can view channel access and akick lists, but not modify them
  766.  *  chanserv/access/modify        - Can modify channel access and akick lists, and use /chanserv enforce
  767.  *  chanserv/auspex               - Can see any information with /chanserv info
  768.  *  chanserv/no-register-limit    - May register an unlimited number of channels and nicknames
  769.  *  chanserv/kick                 - Can kick and ban users from channels through ChanServ
  770.  *  memoserv/info                 - Can see any information with /memoserv info
  771.  *  memoserv/set-limit            - Can set the limit of max stored memos on any user and channel
  772.  *  memoserv/no-limit             - Can send memos through limits and throttles
  773.  *  nickserv/access               - Can modify other users access and certificate lists
  774.  *  nickserv/alist                - Can see the channel access list of other users
  775.  *  nickserv/auspex               - Can see any information with /nickserv info
  776.  *  nickserv/confirm              - Can confirm other users nicknames
  777.  *  nickserv/drop                 - Can drop other users nicks
  778.  *  operserv/config               - Can modify services's configuration
  779. *  operserv/oper/modify          - Can add and remove operators with at most the same privileges
  780. *  protected                     - Can not be kicked from channels by Services
  781. *
  782. * Available commands:
  783. *   botserv/bot/del          botserv/bot/add               botserv/bot/change        botserv/set/private
  784. *   botserv/set/nobot
  785. *
  786. *   chanserv/drop            chanserv/getkey               chanserv/invite
  787. *   chanserv/list            chanserv/suspend              chanserv/topic
  788. *
  789. *   chanserv/saset/bantype   chanserv/saset/description    chanserv/saset/email       chanserv/saset/keepmodes
  790. *   chanserv/saset/founder   chanserv/saset/keeptopic      chanserv/saset/restricted
  791. *   chanserv/saset/peace     chanserv/saset/persist        chanserv/saset/private
  792. *   chanserv/saset/secure    chanserv/saset/securefounder  chanserv/saset/secureops
  793. *   chanserv/saset/signkick  chanserv/saset/successor      chanserv/saset/topiclock
  794. *   chanserv/saset/url       chanserv/saset/noexpire       chanserv/saset/autoop
  795. *
  796. *   memoserv/sendall        memoserv/staff
  797. *
  798. *   nickserv/getpass        nickserv/getemail      nickserv/suspend      nickserv/ajoin
  799. *   nickserv/list
  800. *
  801. *   nickserv/saset/autoop     nickserv/saset/email   nickserv/saset/greet     nickserv/saset/password
  802. *   nickserv/saset/display    nickserv/saset/kill    nickserv/saset/language  nickserv/saset/message
  803. *   nickserv/saset/private    nickserv/saset/secure  nickserv/saset/url       nickserv/saset/noexpire
  804. *   nickserv/saset/keepmodes
  805. *
  806. *   hostserv/set            hostserv/del           hostserv/list
  807. *
  808. *   global/global
  809. *
  810. *   operserv/news         operserv/stats        operserv/kick       operserv/exception    operserv/seen
  811. *   operserv/mode         operserv/session      operserv/modinfo    operserv/ignore       operserv/chanlist
  812. *   operserv/chankill     operserv/akill        operserv/sqline     operserv/snline       operserv/userlist
  813. *   operserv/oper         operserv/config       operserv/umode      operserv/logsearch
  814. *   operserv/modload      operserv/jupe         operserv/set        operserv/noop
  815. *   operserv/quit         operserv/update       operserv/reload     operserv/restart
  816. *   operserv/shutdown     operserv/svs          operserv/oline      operserv/kill
  817. *
  818. * Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
  819. * These can contain commands for oper-only strings (see above) which grants access to that specific command,
  820. * and privileges (which grant access to more general permissions for the named area).
  821. * Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
  822. *
  823. * Below are some default example types, but this is by no means exhaustive,
  824. * and it is recommended that you configure them to your needs.
  825. */
  826.  
  827. opertype
  828. {
  829.     /* The name of this opertype */
  830.     name = "Helper"
  831.  
  832.     /* What commands (see above) this opertype has */
  833.     commands = "hostserv/*"
  834. }
  835.  
  836. opertype
  837. {
  838.     /* The name of this opertype */
  839.     name = "Services Operator"
  840.  
  841.     /* What opertype(s) this inherits from. Separate with a comma. */
  842.     inherits = "Helper, Another Helper"
  843.  
  844.     /* What commands (see above) this opertype may use */
  845.     commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
  846.  
  847.     /* What privs (see above) this opertype has */
  848.     privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
  849.  
  850.     /*
  851.      * Modes to be set on users when they identify to accounts linked to this opertype.
  852.      *
  853.      * This can be used to automatically oper users who identify for services operator accounts, and is
  854.      * useful for setting modes such as Plexus's user mode +N.
  855.      *
  856.      * Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
  857.      */
  858.     #modes = "+o"
  859. }
  860.  
  861. opertype
  862. {
  863.     name = "Services Administrator"
  864.  
  865.     inherits = "Services Operator"
  866.  
  867.     commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
  868.  
  869.     privs = "*"
  870. }
  871.  
  872. opertype
  873. {
  874.     name = "Services Root"
  875.  
  876.     commands = "*"
  877.  
  878.     privs = "*"
  879. }
  880.  
  881. /*
  882.  * After defining different types of operators in the above opertype section, we now define who is in these groups
  883.  * through 'oper' blocks, similar to ircd access.
  884.  *
  885.  * The default is to comment these out (so NOBODY will have Services access).
  886.  * You probably want to add yourself and a few other people at minimum.
  887.  *
  888.  * As with all permissions, make sure to only give trustworthy people access to Services.
  889.  */
  890.  
  891. #oper
  892. {
  893.     /* The nickname of this services oper */
  894.     #name = "nick1"
  895.  
  896.     /* The opertype this person will have */
  897.     type = "Services Root"
  898.  
  899.     /* If set, the user must be an oper on the IRCd to gain their Services
  900.      * oper privileges.
  901.      */
  902.     require_oper = yes
  903.  
  904.     /* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
  905.     #password = "secret"
  906.  
  907.     /* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
  908.     #certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
  909.  
  910.     /* An optional list of user@host masks. If defined the user must be connected from one of them */
  911.     #host = "*@*.anope.org ident@*"
  912.  
  913.     /* An optional vHost to set on users who identify for this oper block.
  914.      * This will override HostServ vHosts, and may not be available on all IRCds
  915.      */
  916.     #vhost = "oper.mynet"
  917. }
  918.  
  919. #oper
  920. {
  921.     name = "nick2"
  922.     type = "Services Administrator"
  923. }
  924.  
  925. #oper
  926. {
  927.     name = "nick3"
  928.     type = "Helper"
  929. }
  930.  
  931. /*
  932. * [OPTIONAL] Mail Config
  933. *
  934. * This section contains settings related to the use of e-mail from Services.
  935. * If the usemail directive is set to yes, unless specified otherwise, all other
  936. * directives are required.
  937. *
  938. * NOTE: Users can find the IP of the machine services is running on by examining
  939. * mail headers. If you do not want your IP known, you should set up a mail relay
  940. * to strip the relevant headers.
  941. */
  942. mail
  943. {
  944.     /*
  945.      * If set, this option enables the mail commands in Services. You may choose
  946.      * to disable it if you have no Sendmail-compatible mailer installed. Whilst
  947.      * this directive (and entire block) is optional, it is required if
  948.      * nickserv:registration is set to yes.
  949.      */
  950.     usemail = yes
  951.  
  952.     /*
  953.      * This is the command-line that will be used to call the mailer to send an
  954.      * e-mail. It must be called with all the parameters needed to make it
  955.      * scan the mail input to find the mail recipient; consult your mailer
  956.      * documentation.
  957.      *
  958.      * Postfix users must use the compatible sendmail utility provided with
  959.      * it. This one usually needs no parameters on the command-line. Most
  960.      * sendmail applications (or replacements of it) require the -t option
  961.      * to be used.
  962.      */
  963.     sendmailpath = "/usr/sbin/sendmail -t"
  964.  
  965.     /*
  966.      * This is the e-mail address from which all the e-mails are to be sent from.
  967.      * It should really exist.
  968.      */
  969.     sendfrom = "services@localhost.net"
  970.  
  971.     /*
  972.      * This controls the minimum amount of time a user must wait before sending
  973.      * another e-mail after they have sent one. It also controls the minimum time
  974.      * a user must wait before they can receive another e-mail.
  975.      *
  976.      * This feature prevents users from being mail bombed using Services and
  977.      * it is highly recommended that it be used.
  978.      *
  979.      * This directive is optional, but highly recommended.
  980.      */
  981.     delay = 5m
  982.  
  983.     /*
  984.      * If set, Services will not attempt to put quotes around the TO: fields
  985.      * in e-mails.
  986.      *
  987.      * This directive is optional, and as far as we know, it's only needed
  988.      * if you are using ESMTP or QMail to send out e-mails.
  989.      */
  990.     #dontquoteaddresses = yes
  991.  
  992.     /*
  993.      * The subject and message of emails sent to users when they register accounts.
  994.      */
  995.     registration_subject = "Nickname registration for %n"
  996.     registration_message = "Hi,
  997.  
  998.                 You have requested to register the nickname %n on %N.
  999.                 Please type \" /msg NickServ CONFIRM %c \" to complete registration.
  1000.  
  1001.                 If you don't know why this mail was sent to you, please ignore it silently.
  1002.  
  1003.                 %N administrators."
  1004.  
  1005.     /*
  1006.      * The subject and message of emails sent to users when they request a new password.
  1007.      */
  1008.     reset_subject = "Reset password request for %n"
  1009.     reset_message = "Hi,
  1010.  
  1011.             You have requested to have the password for %n reset.
  1012.             To reset your password, type \" /msg NickServ CONFIRM %n %c \"
  1013.  
  1014.             If you don't know why this mail was sent to you, please ignore it silently.
  1015.  
  1016.             %N administrators."
  1017.  
  1018.     /*
  1019.      * The subject and message of emails sent to users when they request a new email address.
  1020.      */
  1021.     emailchange_subject = "Email confirmation"
  1022.     emailchange_message = "Hi,
  1023.  
  1024.             You have requested to change your email address from %e to %E.
  1025.             Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
  1026.  
  1027.             If you don't know why this mail was sent to you, please ignore it silently.
  1028.  
  1029.             %N administrators."
  1030.  
  1031.     /*
  1032.      * The subject and message of emails sent to users when they receive a new memo.
  1033.      */
  1034.     memo_subject = "New memo"
  1035.     memo_message = "Hi %n,
  1036.  
  1037.             You've just received a new memo from %s. This is memo number %d.
  1038.  
  1039.             Memo text:
  1040.  
  1041.             %t"
  1042. }
  1043.  
  1044. /*
  1045.  * [REQUIRED] Database configuration.
  1046.  *
  1047.  * This section is used to configure databases used by Anope.
  1048.  * You should at least load one database method, otherwise any data you
  1049.  * have will not be stored!
  1050.  */
  1051.  
  1052. /*
  1053.  * [DEPRECATED] db_old
  1054.  *
  1055.  * This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
  1056.  * early Anope 1.9.x. This module only loads these databases, and will NOT save them.
  1057.  * You should only use this to upgrade old databases to a newer database format by loading
  1058.  * other database modules in addition to this one, which will be used when saving databases.
  1059.  */
  1060. #module
  1061. {
  1062.     name = "db_old"
  1063.  
  1064.     /*
  1065.      * This is the encryption type used by the databases. This must be set correctly or
  1066.      * your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
  1067.      * You must also be sure to load the correct encryption module below in the Encryption
  1068.      * Modules section so that your passwords work.
  1069.      */
  1070.     #hash = "md5"
  1071. }
  1072.  
  1073. /*
  1074.  * [RECOMMENDED] db_flatfile
  1075.  *
  1076.  * This is the default flatfile database format.
  1077.  */
  1078. module
  1079. {
  1080.     name = "db_flatfile"
  1081.  
  1082.     /*
  1083.      * The database name db_flatfile should use
  1084.      */
  1085.     database = "anope.db"
  1086.  
  1087.     /*
  1088.      * Sets the number of days backups of databases are kept. If you don't give it,
  1089.      * or if you set it to 0, Services won't backup the databases.
  1090.      *
  1091.      * NOTE: Services must run 24 hours a day for this feature to work.
  1092.      *
  1093.      * This directive is optional, but recommended.
  1094.      */
  1095.     keepbackups = 3
  1096.  
  1097.     /*
  1098.      * Allows Services to continue file write operations (i.e. database saving)
  1099.      * even if the original file cannot be backed up. Enabling this option may
  1100.      * allow Services to continue operation under conditions where it might
  1101.      * otherwise fail, such as a nearly-full disk.
  1102.      *
  1103.      * NOTE: Enabling this option can cause irrecoverable data loss under some
  1104.      * conditions, so make CERTAIN you know what you're doing when you enable it!
  1105.      *
  1106.      * This directive is optional, and you are discouraged against enabling it.
  1107.      */
  1108.     #nobackupokay = yes
  1109.  
  1110.     /*
  1111.      * If enabled, services will fork a child process to save databases.
  1112.      *
  1113.      * This is only useful with very large databases, with hundreds
  1114.      * of thousands of objects, that have a noticeable delay from
  1115.      * writing databases.
  1116.      *
  1117.      * If your database is large enough cause a noticeable delay when
  1118.      * saving you should consider a more powerful alternative such
  1119.      * as db_sql or db_redis, which incrementally update their
  1120.      * databases asynchronously in real time.
  1121.      */
  1122.     fork = no
  1123. }
  1124.  
  1125. /*
  1126. * db_sql and db_sql_live
  1127. *
  1128. * db_sql module allows saving and loading databases using one of the SQL engines.
  1129. * This module loads the databases once on startup, then incrementally updates
  1130. * objects in the database as they are changed within Anope in real time. Changes
  1131. * to the SQL tables not done by Anope will have no effect and will be overwritten.
  1132. *
  1133. * db_sql_live module allows saving and loading databases using one of the SQL engines.
  1134. * This module reads and writes to SQL in real time. Changes to the SQL tables
  1135. * will be immediately reflected into Anope. This module should not be loaded
  1136. * in conjunction with db_sql.
  1137. *
  1138. */
  1139. #module
  1140. {
  1141.     name = "db_sql"
  1142.     #name = "db_sql_live"
  1143.  
  1144.     /*
  1145.      * The SQL service db_sql(_live) should use, these are configured in modules.conf.
  1146.      * For MySQL, this should probably be mysql/main.
  1147.      */
  1148.     engine = "sqlite/main"
  1149.  
  1150.     /*
  1151.      * An optional prefix to prepended to the name of each created table.
  1152.      * Do not use the same prefix for other programs.
  1153.      */
  1154.     #prefix = "anope_db_"
  1155.  
  1156.     /* Whether or not to import data from another database module in to SQL on startup.
  1157.      * If you enable this, be sure that the database services is configured to use is
  1158.      * empty and that another database module to import from is loaded before db_sql.
  1159.      * After you enable this and do a database import you should disable it for
  1160.      * subsequent restarts.
  1161.      *
  1162.      * Note that you can not import databases using db_sql_live. If you want to import
  1163.      * databases and use db_sql_live you should import them using db_sql, then shut down
  1164.      * and start services with db_sql_live.
  1165.      */
  1166.     import = false
  1167. }
  1168.  
  1169. /*
  1170. * db_redis.
  1171. *
  1172. * This module allows using Redis (http://redis.io) as a database backend.
  1173. * This module requires that m_redis is loaded and configured properly.
  1174. *
  1175. * Redis 2.8 supports keyspace notifications which allows Redis to push notifications
  1176. * to Anope about outside modifications to the database. This module supports this and
  1177. * will internally reflect any changes made to the database immediately once notified.
  1178. * See docs/REDIS for more information regarding this.
  1179. */
  1180. #module
  1181. {
  1182.     name = "db_redis"
  1183.  
  1184.     /*
  1185.      * Redis database to use. This must be configured with m_redis.
  1186.      */
  1187.     engine = "redis/main"
  1188. }
  1189.  
  1190. /*
  1191. * [RECOMMENDED] Encryption modules.
  1192. *
  1193. * The encryption modules are used when dealing with passwords. This determines how
  1194. * the passwords are stored in the databases, and does not add any security as
  1195. * far as transmitting passwords over the network goes.
  1196. *
  1197. * Without any encryption modules loaded users will not be able to authenticate unless
  1198. * there is another module loaded that provides authentication checking, such as
  1199. * m_ldap_authentication or m_sql_authentication.
  1200. *
  1201. * With enc_none, passwords will be stored in plain text, allowing for passwords
  1202. * to be recovered later but it isn't secure and therefore is not recommended.
  1203.  *
  1204.  * The other encryption modules use one-way encryption, so the passwords can not
  1205.  * be recovered later if those are used.
  1206.  *
  1207.  * The first encryption module loaded is the primary encryption module. All new passwords are
  1208.  * encrypted by this module. Old passwords stored in another encryption method are
  1209.  * automatically re-encrypted by the primary encryption module on next identify.
  1210.  *
  1211.  * NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
  1212. * versions prior to Anope 1.7.17. If your databases were made using that module,
  1213. * use this and not enc_md5.
  1214. *
  1215. * NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
  1216. * potentially broken when moving between 2 different OSes, such as moving from
  1217. * Linux to Windows. It is recommended that you use enc_sha256 instead if you want
  1218. * to use an SHA-based encryption. If you choose to do so, it is also recommended
  1219. * that you first try to get everyone's passwords converted to enc_sha256 before
  1220.  * switching OSes by placing enc_sha256 at the beginning of the list.
  1221.  *
  1222.  */
  1223.  
  1224. #module { name = "enc_bcrypt" }
  1225. module { name = "enc_sha256" }
  1226. #module { name = "enc_md5" }
  1227. #module { name = "enc_sha1" }
  1228.  
  1229. /*
  1230.  * When using enc_none, passwords will be stored without encryption. This isn't secure
  1231. * therefore it is not recommended.
  1232. */
  1233. #module { name = "enc_none" }
  1234.  
  1235. /*
  1236. * enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
  1237.  * If your databases were made using that module, load it here to allow conversion to the primary
  1238.  * encryption method.
  1239.  */
  1240. #module { name = "enc_old" }
  1241.  
  1242.  
  1243. /* Extra (optional) modules. */
  1244. include
  1245. {
  1246.     type = "file"
  1247.     name = "modules.example.conf"
  1248. }
  1249.  
  1250. /*
  1251.  * Chanstats module.
  1252.  * Requires a MySQL Database.
  1253.  */
  1254. #include
  1255. {
  1256.     type = "file"
  1257.     name = "chanstats.example.conf"
  1258. }
  1259.  
  1260. /*
  1261.  * IRC2SQL Gateway
  1262.  * This module collects data about users, channels and servers. It doesn't build stats
  1263. * itself, however, it gives you the database, it's up to you how you use it.
  1264.  *
  1265.  * Requires a MySQL Database and MySQL version 5.5 or higher
  1266.  */
  1267. #include
  1268. {
  1269.     type = "file"
  1270.     name = "irc2sql.example.conf"
  1271. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement