Advertisement
Guest User

Anope

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