Advertisement
Guest User

Untitled

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