diff options
author | DukePyrolator <DukePyrolator@anope.org> | 2013-10-26 18:31:50 +0200 |
---|---|---|
committer | DukePyrolator <DukePyrolator@anope.org> | 2013-10-26 18:42:58 +0200 |
commit | b5af310f8aacd168ba4b9bee97374558e11c57fd (patch) | |
tree | 10be038b2b6fd717ae59b8cdb5106d76b896ef72 /data/stats.standalone.example.conf | |
parent | 2cfc97053faba7582cd57701900de78ebacb12ce (diff) |
added the irc2sql gateway module
Diffstat (limited to 'data/stats.standalone.example.conf')
-rw-r--r-- | data/stats.standalone.example.conf | 522 |
1 files changed, 522 insertions, 0 deletions
diff --git a/data/stats.standalone.example.conf b/data/stats.standalone.example.conf new file mode 100644 index 000000000..45526f389 --- /dev/null +++ b/data/stats.standalone.example.conf @@ -0,0 +1,522 @@ +/* + * Example configuration file for Services. After making the appropriate + * changes to this file, place it in the Services conf directory (as + * specified in the "configure" script, default /home/username/services/conf) + * under the name "services.conf". + * + * The format of this file is fairly simple: three types of comments are supported: + * - All text after a '#' on a line is ignored, as in shell scripting + * - All text after '//' on a line is ignored, as in C++ + * - A block of text like this one is ignored, as in C + * + * Outside of comments, there are three structures: blocks, keys, and values. + * + * A block is a named container, which contains a number of key to value pairs + * - you may think of this as an array. + * + * A block is created like so: + * foobar + * { + * moo = "cow" + * foo = bar + * } + * + * Note that nameless blocks are allowed and are often used with comments to allow + * easily commenting an entire block, for example: + * #foobar + * { + * moo = "cow" + * foo = bar + * } + * is an entirely commented block. + * + * Keys are case insensitive. Values depend on what key - generally, information is + * given in the key comment. The quoting of values (and most other syntax) is quite + * flexible, however, please do not forget to quote your strings: + * + * "This is a parameter string with spaces in it" + * + * If you need to include a double quote inside a quoted string, precede it + * by a backslash: + * + * "This string has \"double quotes\" in it" + * + * Time parameters can be specified either as an integer representing a + * number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit + * specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days. + * Combinations (such as "1h30m") are not permitted. Examples (all of which + * represent the same length of time, one day): + * + * "86400", "86400s", "1440m", "24h", "1d" + * + * In the documentation for each directive, one of the following will be + * included to indicate whether an option is required: + * + * [REQUIRED] + * Indicates a directive which must be given. Without it, Services will + * not start. + * + * [RECOMMENDED] + * Indicates a directive which may be omitted, but omitting it may cause + * undesirable side effects. + * + * [OPTIONAL] + * Indicates a directive which is optional. If not given, the feature + * will typically be disabled. If this is not the case, more + * information will be given in the documentation. + * + * [DISCOURAGED] + * Indicates a directive which may cause undesirable side effects if + * specified. + * + * [DEPRECATED] + * Indicates a directive which will disappear in a future version of + * Services, usually because its functionality has been either + * superseded by that of other directives or incorporated into the main + * program. + */ + +/* + * [OPTIONAL] Defines + * + * You can define values to other values, which can be used to easily change + * every value in the configuration. For example, use: + * + * define + * { + * name = "ChanServ" + * value = "ChannelServ" + * } + * + * To replace every occurrence of ChanServ with ChannelServ in the configuration file, + * and in every included configuration file (such as chanserv.example.conf). + */ + +/* + * The services.host define is used in multiple different locations throughout the + * configuration for services clients hostnames. + */ +define +{ + name = "services.host" + value = "services.localhost.net" +} + +/* + * [OPTIONAL] Additional Includes + * + * You can include additional configuration files here. + * You may also include executable files, which will be executed and + * the output from it will be included into your configuration. + */ + +#include +{ + type = "file" + name = "some.conf" +} + +#include +{ + type = "executable" + name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf" +} + +/* + * [REQUIRED] IRCd Config + * + * This section is used to set up Anope to connect to your IRC network. + * This section can be included multiple times, and Anope will attempt to + * connect to each server until it finally connects. + * + * Each uplink IRCd should have a corresponding configuration to allow Services + * to link to it. + * + * An example configuration for InspIRCd that is compatible with the below uplink + * and serverinfo configuration would look like: + * + * <link name="services.localhost.net" + * ipaddr="127.0.0.1" + * port="7000" + * sendpass="mypassword" + * recvpass="mypassword"> + * <uline server="services.localhost.net" silent="yes"> + * <bind address="127.0.0.1" port="7000" type="servers"> + * + * An example configuration for UnrealIRCd that is compatible with the below uplink + * and serverinfo configuration would look like: + * + * link services.localhost.net + * { + * username *; + * hostname *; + * bind-ip "127.0.0.1"; + * port 7000; + * hub *; + * password-connect "mypassword"; + * password-receive "mypassword"; + * class servers; + * }; + * ulines { services.localhost.net; }; + * listen 127.0.0.1:7000; + */ +uplink +{ + /* + * The IP or hostname of the IRC server you wish to connect Services to. + * Usually, you will want to connect Services over 127.0.0.1 (aka localhost). + * + * NOTE: On some shell providers, this will not be an option. + */ + host = "127.0.0.1" + + /* + * Enable if Services should connect using IPv6. + */ + ipv6 = no + + /* + * Enable if Services should connect using SSL. + * You must have m_ssl loaded for this to work. + */ + ssl = no + + /* + * The port to connect to. + * The IRCd *MUST* be configured to listen on this port, and to accept + * server connections. + * + * Refer to your IRCd documentation for how this is to be done. + */ + port = 7000 + + /* + * The password to send to the IRC server for authentication. + * This must match the link block on your IRCd. + * + * Refer to your IRCd documentation for more information on link blocks. + */ + password = "mypassword" +} + +/* + * [REQUIRED] Server Information + * + * This section contains information about the Services server. + */ +serverinfo +{ + /* + * The hostname that Services will be seen as, it must have no conflicts with any + * other server names on the rest of your IRC network. Note that it does not have + * to be an existing hostname, just one that isn't on your network already. + */ + name = "stats.localhost.net" + + /* + * The text which should appear as the server's information in /whois and similar + * queries. + */ + description = "Stats for IRC Networks" + + /* + * The local address that Services will bind to before connecting to the remote + * server. This may be useful for multihomed hosts. If omitted, Services will let + * the Operating System choose the local address. This directive is optional. + * + * If you don't know what this means or don't need to use it, just leave this + * directive commented out. + */ + #localhost = "nowhere." + + /* + * What Server ID to use for this connection? + * Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation + * to see if this is needed. + */ + #id = "00A" + + /* + * The filename containing the Services process ID. The path is relative to the + * services root directory. + */ + pid = "data/services.pid" + + /* + * The filename containing the Message of the Day. The path is relative to the + * services root directory. + */ + motd = "conf/services.motd" +} + +/* + * [REQUIRED] Protocol module + * + * This directive tells Anope which IRCd Protocol to speak when connecting. + * You MUST modify this to match the IRCd you run. + * + * Supported: + * - bahamut + * - charybdis + * - hybrid + * - inspircd12 + * - inspircd20 + * - ngircd + * - plexus + * - ratbox + * - unreal + */ +module +{ + name = "inspircd20" +} + +/* + * [REQUIRED] Network Information + * + * This section contains information about the IRC network that Services will be + * connecting to. + */ +networkinfo +{ + /* + * This is the name of the network that Services will be running on. + */ + networkname = "LocalNet" + + /* + * Set this to the maximum allowed nick length on your network. + * Be sure to set this correctly, as setting this wrong can result in + * Services being disconnected from the network. + */ + nicklen = 31 + + /* Set this to the maximum allowed ident length on your network. + * Be sure to set this correctly, as setting this wrong can result in + * Services being disconnected from the network. + */ + userlen = 10 + + /* Set this to the maximum allowed hostname length on your network. + * Be sure to set this correctly, as setting this wrong can result in + * Services being disconnected from the network. + */ + hostlen = 64 + + /* Set this to the maximum allowed channel length on your network. + */ + chanlen = 32 + + /* The maximum number of list modes settable on a channel (such as b, e, I). + * Comment out or set to 0 to disable. + */ + modelistsize = 100 + + /* + * The characters allowed in hostnames. This is used for validating hostnames given + * to services, such as BotServ bot hostnames and user vhosts. Changing this is not + * recommended unless you know for sure your IRCd supports whatever characters you are + * wanting to use. Telling services to set a vHost containing characters your IRCd + * disallows could potentially break the IRCd and/or Services. + * + * It is recommended you DON'T change this. + */ + vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" + + /* + * If set to true, allows vHosts to not contain dots (.). + * Newer IRCds generally do not have a problem with this, but the same warning as + * vhost_chars applies. + * + * It is recommended you DON'T change this. + */ + allow_undotted_vhosts = false + + /* + * The characters that are not allowed to be at the very beginning or very ending + * of a vHost. The same warning as vhost_chars applies. + * + * It is recommended you DON'T change this. + */ + disallow_start_or_end = ".-" +} + +/* + * [REQUIRED] Services Options + * + * This section contains various options which determine how Services will operate. + */ +options +{ + /* + * On Linux/UNIX systems Anope can setuid and setgid to this user and group + * after starting up. This is useful if Anope has to bind to privileged ports + */ + #user = "anope" + #group = "anope" + + /* + * The case mapping used by services. This must be set to a valid locale name + * installed on your machine. Services use this case map to compare, with + * case insensitivity, things such as nick names, channel names, etc. + * + * We provide two special casemaps shipped with Anope, ascii and rfc1459. + * + * This value should be set to what your IRCd uses, which is probably rfc1459, + * however Anope has always used ascii for comparison, so the default is ascii. + * + * Changing this value once set is not recommended. + */ + casemap = "ascii" + + /* + * Sets the timeout period for reading from the uplink. + */ + readtimeout = 5s + + /* + * Sets the interval between sending warning messages for program errors via + * WALLOPS/GLOBOPS. + */ + warningtimeout = 4h + + /* + * If set, Services will only show /stats o to IRC Operators. This directive + * is optional. + */ + #hidestatso = yes + + /* + * A space-separated list of ulined servers on your network, it is assumed that + * the servers in this list are allowed to set channel modes and Services will + * not attempt to reverse their mode changes. + * + * WARNING: Do NOT put your normal IRC user servers in this directive. + * + * This directive is optional. + */ + #ulineservers = "services.your.network" + + /* + * How long to wait between connection retries with the uplink(s). + */ + retrywait = 60s +} + +/* + * [RECOMMENDED] Logging Configuration + * + * This section is used for configuring what is logged and where it is logged to. + * You may have multiple log blocks if you wish. Remember to properly secure any + * channels you choose to have Anope log to! + */ +log +{ + /* + * Target(s) to log to, which may be one of the following: + * - a channel name + * - a filename + * - globops + */ + target = "stats.log" + + /* Log to both services.log and the channel #services + * + * Note that some older IRCds, such as Ratbox, require services to be in the + * log channel to be able to message it. To do this, configure service:channels to + * join your logging channel. + */ + #target = "stats.log #services" + + /* + * The source(s) to only accept log messages from. Leave commented to allow all sources. + * This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name. + */ + #source = "" + + /* + * The bot used to log generic messages which have no predefined sender if there + * is a channel in the target directive. + */ + bot = "Global" + + /* + * The number of days to keep logfiles, only useful if you are logging to a file. + * Set to 0 to never delete old logfiles. + * + * Note that Anope must run 24 hours a day for this feature to work correctly. + */ + logage = 7 + + /* + * What types of log messages should be logged by this block. There are nine general categories: + * + * servers - Server actions, linking, squitting, etc. + * channels - Actions in channels such as joins, parts, kicks, etc. + * users - User actions such as connecting, disconnecting, changing name, etc. + * other - All other messages without a category. + * rawio - Logs raw input and output from services + * debug - Debug messages (log files can become VERY large from this). + * + * These options determine what messages from the categories should be logged. Wildcards are accepted, and + * you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv + * messages except for operserv/akill. Note that processing stops at the first matching option, which + * means "* ~operserv/*" would log everything because * matches everything. + * + * Valid server options are: + * connect, quit, sync, squit + * + * Valid channel options are: + * create, destroy, join, part, kick, leave, mode + * + * Valid user options are: + * connect, disconnect, quit, nick, ident, host, mode, maxusers, oper + * + * Rawio and debug are simple yes/no answers, there are no types for them. + * + * Note that modules may add their own values to these options. + */ + servers = "*" + #channels = "~mode *" + users = "connect disconnect nick" + other = "*" + rawio = no + debug = no +} + +/* + * [REQUIRED] MySQL Database configuration. + * + * m_mysql + * + * This module allows other modules to use MySQL. + */ +module +{ + name = "m_mysql" + + mysql + { + /* The name of this service. */ + name = "mysql/main" + database = "anope" + server = "127.0.0.1" + username = "anope" + password = "mypassword" + port = 3306 + } +} + +/* + * IRC2SQL Gateway + * This module collects data about users, channels and servers. It doesn't build stats + * itself, however, it gives you the database, it's up to you how you use it. + * + * Requires a MySQL Database and MySQL version 5.5 or higher + */ +include +{ + type = "file" + name = "irc2sql.example.conf" +} + |