Advertisement
Guest User

Untitled

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