# The server object defines the server information parameters. server: # name - the server name name: "irc.localhost" # description - the description of the server on the network description: "Test server for biboumi" # network - the NETWORK= name in 005 for rfc1459 clients network: "irc.localhost" # recvq_len - the maximum number of lines that can be in a client's recvq recvq_len: 20 # motd - the motd content (will later be file) motd: - "Default MOTD" # The clients object defines client parameters clients: # ping_frequency - client ping frequency ping_frequency: minutes: 1 # ping_timeout - ping timeout length ping_timeout: minutes: 2 # The data object defines the data store parameters data: ## JSON should only be considered for testing # format - data store type format: "json" # filename - data store filename filename: ".mammon.data.json" # save_frequency - save the database every this amount of time save_frequency: minutes: 5 # The listeners object is a list of listeners. listeners: - {"host": "0.0.0.0", "port": 6667, "ssl": false, "certfile": "~/workspace/biboumi/cert.pem", "keyfile": "~/workspace/biboumi/key.pem", } # The logs section is a list of logs. logs: - { # path - the path of the logfile "path": "mammond.log", # level - the log level of the file "level": "debug" } # Limits define maximum lengths for various commands and objects # to remove a limit, simply comment it out limits: # user - maximum length of usernames user: 10 # nick - maximum length of nicknames nick: 50 # channel - maximum length of channel names channel: 200 # topic - maximum length of channel topics topic: 400 # line - maximum length of lines in and out line: 2048 # The register object defines registration information register: # verify_timeout - length of time a user has to verify their newly-created # account before it can be re-registered verify_timeout: days: 5 # enabled_callbacks - callbacks that we allow enabled_callbacks: # - mailto # - none # no verification required, will instantly register successfully # callbacks - types and details for various callback methods callbacks: # mailto - email using sendmail mailto: # from - address our messages get sent from from: mammon@example.com # sendmail - location of the sendmail binary sendmail: /usr/sbin/sendmail # verify_message_subject - subject of the verify message verify_message_subject: "{network_name} Account Registration" # verify_message - message sent to users to verify their account verify_message: | Hi, You have requested to register the account {account}. Your verification code is {auth_code} Please type "/quote REG VERIFY {account} {auth_code}" to complete registration Thank you, {network_name} # Roles define the capabilities an oper may have, as well as role-specific # metadata. # mammon capability names: # oper:local_kill allows /KILLing local users # oper:global_kill allows /KILLing local and remote users # oper:routing allows remote SQUIT and CONNECT # oper:kline allows KLINE and DLINE # oper:unkline allows UNKLINE and UNDLINE # oper:remote_ban allows remote klines # oper:rehash allows REHASH of server config # oper:die allows DIE and RESTART roles: # name - the name of the privilege set "local_op": # capabilities - a list of qualified capability names capabilities: - oper:local_kill - oper:kline - oper:unkline - metadata:set_local # metakeys_get - metadata keys this role can view metakeys_get: # - spammer_probability # title - metadata identifying the specific role title: "IRC Operator" # name - the name of the privilege set "global_op": # extends - inherets this role's capabilities extends: "local_op" # capabilities - a list of qualified capability names capabilities: - oper:global_kill - oper:remote_ban - metadata:set_global # title - metadata identifying the specific role title: "IRC Operator" # name - the name of the privilege set "network_admin": # capabilities - a list of qualified capability names capabilities: - oper:global_kill - oper:routing # title - metadata identifying the specific role title: "Network Administrator" # name - the name of the privilege set "server_admin": # extends - inherets this role's capabilities extends: "local_op" # capabilities - a list of qualified capability names capabilities: - oper:rehash - oper:die # title - metadata identifying the specific role title: "Server Administrator" # example metadata-specific roles # name - the name of the privilege set "spam_detection_bot": # capabilities - a list of qualified capability names capabilities: - metadata:set_global # metakeys_access - metadata keys this role can view and set metakeys_access: - spammer_probability # title - metadata identifying the specific role title: "Spam Detection Bot" # Metadata defines the metadata users are allowed to set for themselves metadata: # limit - max number of metadata each target is allowed to have # comment out to remove limit limit: 20 # whitelist - if defined, a list of lowercase keys that are checked when users set data whitelist: - avatar - info - source - url - version # restricted_keys - keys that unprived users cannot see / edit, and require a # special entry in a ROLE to see / edit restricted_keys: - away # - spammer_probability # Monitor defines the monitoring users are allowed to do on other users monitor: # limit - max number of 'monitors' each target is allowed to have # comment out to remove limit limit: 20 # Operator credentials allow a user to transition from a typical user role # to a privileged role. opers: # name - the name of the operator "nobody": # password - the plaintext oper password password: "nothing" # hostmask - if defined, the hostmask the oper must connect from hostmask: "*@localhost" # role - the role that the credentials allow transition to role: "local_op" # name - the name of the operator "somebody": # password - the hashed oper password # created by: mammond --mkpasswd password: "$6$rounds=100000$KkEHFBhWHV3BHCCS$YuOdlikJHdeIv2YpwvyLAtYCslDlsnUUnrfeKJiBh4SeVhkSU6pQqHWWDjr6lnalkkf1KLDD1wgSQH5AObILQ1" # hash - the hashing algorithm to use hash: "sha512_crypt" # hostmask - if defined, the hostmask the oper must connect from hostmask: "somebody!*@localhost" # role - the role that the credentials allow transition to role: "local_op" # The extensions section is a list of extension modules to load. extensions: - mammon.ext.rfc1459.42 - mammon.ext.rfc1459.ident - mammon.ext.ircv3.account_notify - mammon.ext.ircv3.server_time - mammon.ext.ircv3.echo_message - mammon.ext.ircv3.register - mammon.ext.ircv3.sasl - mammon.ext.misc.nopost