Advertisement
Guest User

Untitled

a guest
May 4th, 2018
290
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.43 KB | None | 0 0
  1. /* doc/example.conf - brief example configuration file
  2. *
  3. * Copyright (C) 2000-2002 Hybrid Development Team
  4. * Copyright (C) 2002-2005 ircd-ratbox development team
  5. * Copyright (C) 2005-2006 charybdis development team
  6. *
  7. * $Id: example.conf 3582 2007-11-17 21:55:48Z jilles $
  8. *
  9. * See reference.conf for more information.
  10. */
  11.  
  12. /* Extensions */
  13. #loadmodule "extensions/chm_adminonly.so";
  14. loadmodule "extensions/chm_operonly.so";
  15. #loadmodule "extensions/chm_sslonly.so";
  16. #loadmodule "extensions/chm_operonly_compat.so";
  17. #loadmodule "extensions/chm_quietunreg_compat.so";
  18. #loadmodule "extensions/chm_sslonly_compat.so";
  19. #loadmodule "extensions/createauthonly.so";
  20. loadmodule "extensions/extb_account.so";
  21. loadmodule "extensions/extb_canjoin.so";
  22. loadmodule "extensions/extb_channel.so";
  23. loadmodule "extensions/extb_extgecos.so";
  24. loadmodule "extensions/extb_oper.so";
  25. loadmodule "extensions/extb_realname.so";
  26. #loadmodule "extensions/extb_server.so";
  27. #loadmodule "extensions/extb_ssl.so";
  28. #loadmodule "extensions/hurt.so";
  29. #loadmodule "extensions/m_findforwards.so";
  30. loadmodule "extensions/m_identify.so";
  31. loadmodule "extensions/m_mkpasswd.so";
  32. loadmodule "extensions/m_webirc.so";
  33. #loadmodule "extensions/m_cycle.so";
  34. #loadmodule "extensions/m_oaccept.so";
  35. #loadmodule "extensions/m_opme.so";
  36. loadmodule "extensions/m_forcejoin.so";
  37. loadmodule "extensions/m_forcenick.so";
  38. loadmodule "extensions/m_forcequit.so";
  39. #loadmodule "extensions/m_okick.so";
  40. #loadmodule "extensions/no_oper_invis.so";
  41. #loadmodule "extensions/show_whois.so";
  42. loadmodule "extensions/sno_farconnect.so";
  43. loadmodule "extensions/sno_globalkline.so";
  44. loadmodule "extensions/sno_globaloper.so";
  45.  
  46. serverinfo {
  47. name = "london.foxatomic.net";
  48. sid = "99X";
  49. description = "FoxAtomic Public Server";
  50. network_name = "FoxAtomicNET";
  51. helpchan = "#help";
  52. helpurl = "http://www.mynet.net/help";
  53. hub = yes;
  54.  
  55. /* ssl_private_key: our ssl private key */
  56. ssl_private_key = "etc/ssl.key";
  57.  
  58. /* ssl_cert: certificate for our ssl server */
  59. ssl_cert = "etc/ssl.pem";
  60.  
  61. /* ssl_dh_params: DH parameters, generate with openssl dhparam -out dh.pem 1024 */
  62. ssl_dh_params = "etc/dh.pem";
  63.  
  64. /* ssl_cipher_list: A list of ciphers, dependent on your TLS backend */
  65. #ssl_cipher_list = "EECDH+HIGH:EDH+HIGH:HIGH:!aNULL";
  66.  
  67. /* ssld_count: number of ssld processes you want to start, if you
  68. * have a really busy server, using N-1 where N is the number of
  69. * cpu/cpu cores you have might be useful. A number greater than one
  70. * can also be useful in case of bugs in ssld and because ssld needs
  71. * two file descriptors per SSL connection.
  72. */
  73. ssld_count = 1;
  74.  
  75. /* default max clients: the default maximum number of clients
  76. * allowed to connect. This can be changed once ircd has started by
  77. * issuing:
  78. * /quote set maxclients <limit>
  79. */
  80. default_max_clients = 1024;
  81. };
  82.  
  83. admin {
  84. name = "Lazy admin (lazya)";
  85. description = "FoxAtomicNET client server";
  86. email = "nobody@127.0.0.1";
  87. };
  88.  
  89. log {
  90. fname_userlog = "logs/userlog";
  91. #fname_fuserlog = "logs/fuserlog";
  92. fname_operlog = "logs/operlog";
  93. #fname_foperlog = "logs/foperlog";
  94. fname_serverlog = "logs/serverlog";
  95. #fname_klinelog = "logs/klinelog";
  96. fname_killlog = "logs/killlog";
  97. fname_operspylog = "logs/operspylog";
  98. #fname_ioerrorlog = "logs/ioerror";
  99. };
  100.  
  101. /* class {} blocks MUST be specified before anything that uses them. That
  102. * means they must be defined before auth {} and before connect {}.
  103. */
  104. class "users" {
  105. ping_time = 2 minutes;
  106. number_per_ident = 10;
  107. number_per_ip = 30;
  108. number_per_ip_global = 50;
  109. cidr_ipv4_bitlen = 24;
  110. cidr_ipv6_bitlen = 64;
  111. number_per_cidr = 200;
  112. max_number = 3000;
  113. sendq = 400 kbytes;
  114. };
  115.  
  116. class "opers" {
  117. ping_time = 5 minutes;
  118. number_per_ip = 10;
  119. max_number = 1000;
  120. sendq = 1 megabyte;
  121. };
  122.  
  123. class "server" {
  124. ping_time = 5 minutes;
  125. connectfreq = 5 minutes;
  126. max_number = 1;
  127. sendq = 4 megabytes;
  128. };
  129.  
  130. listen {
  131. /* If you want to listen on a specific IP only, specify host.
  132. * host definitions apply only to the following port line.
  133. */
  134. host = "159.65.31.80";
  135. port = 5000, 6665 .. 6669;
  136. sslport = 6697;
  137.  
  138. */
  139. host = "127.0.0.1";
  140. port = 6667;
  141.  
  142.  
  143.  
  144. /* Listen on IPv6 (if you used host= above). */
  145. host = "2a03:b0c0:1:d0::39a:5000";
  146. port = 5000, 6665 .. 6669;
  147. sslport = 9999;
  148. };
  149.  
  150. /* auth {}: allow users to connect to the ircd (OLD I:)
  151. * auth {} blocks MUST be specified in order of precedence. The first one
  152. * that matches a user will be used. So place spoofs first, then specials,
  153. * then general access, then restricted.
  154. */
  155. auth {
  156. /* user: the user@host allowed to connect. Multiple IPv4/IPv6 user
  157. * lines are permitted per auth block. This is matched against the
  158. * hostname and IP address (using :: shortening for IPv6 and
  159. * prepending a 0 if it starts with a colon) and can also use CIDR
  160. * masks.
  161. */
  162. user = "*@172.16.0.0/12";
  163. user = "*test@123D:B567:*";
  164.  
  165. /* auth_user: The username (authenticated via SASL or PASS) allowed
  166. * to connect. You are able to put multiple auth_user lines. If people
  167. * are authenticating via SASL in this way, it is recommended to comment
  168. * out the password option below. You will also *NEED* to specify a user
  169. * line above auth_user, this can safely be "*@*", however.
  170. */
  171. auth_user = "jilles";
  172. auth_user = "jdhore";
  173.  
  174. /* password: an optional password that is required to use this block.
  175. * By default this is not encrypted, specify the flag "encrypted" in
  176. * flags = ...; below if it is.
  177. */
  178. password = "letmein";
  179.  
  180. /* spoof: fake the users user@host to be be this. You may either
  181. * specify a host or a user@host to spoof to. This is free-form,
  182. * just do everyone a favour and dont abuse it. (OLD I: = flag)
  183. */
  184. spoof = "I.still.hate.packets";
  185.  
  186. /* autojoin: Channel (or channels, comma-seperated) to join users
  187. * in this auth block to on connect. Note that this won't join
  188. * the user through any bans or otherwise restrictive chmodes.
  189. */
  190. autojoin = "#Lounge";
  191.  
  192.  
  193. /* Possible flags in auth:
  194. *
  195. * encrypted | password is encrypted with mkpasswd
  196. * spoof_notice | give a notice when spoofing hosts
  197. * exceed_limit (old > flag) | allow user to exceed class user limits
  198. * kline_exempt (old ^ flag) | exempt this user from k/g/xlines&dnsbls
  199. * dnsbl_exempt | exempt this user from dnsbls
  200. * spambot_exempt | exempt this user from spambot checks
  201. * shide_exempt | exempt this user from serverhiding
  202. * jupe_exempt | exempt this user from generating
  203. * warnings joining juped channels
  204. * resv_exempt | exempt this user from resvs
  205. * flood_exempt | exempt this user from flood limits
  206. * USE WITH CAUTION.
  207. * no_tilde (old - flag) | don't prefix ~ to username if no ident
  208. * need_ident (old + flag) | require ident for user in this class
  209. * need_ssl | require SSL/TLS for user in this class
  210. * need_sasl | require SASL id for user in this class
  211. */
  212. flags = kline_exempt, exceed_limit;
  213.  
  214. /* class: the class the user is placed in */
  215. class = "opers";
  216. };
  217.  
  218. /* Example WEBIRC authblock */
  219. auth {
  220. /* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */
  221. user = "webirc@159.65.31.80";
  222.  
  223. /* password: password the webirc client sends in the WEBIRC command.
  224. * You can use a encrypted password here (see above auth block).
  225. */
  226. password = "lionpassword";
  227.  
  228. /* spoof: This is required to keep it what it is currently if you
  229. * want the webirc client to show the users' real host as their
  230. * host on IRC.
  231. */
  232. spoof = "webirc.";
  233. class = "users";
  234. };
  235.  
  236. auth {
  237. /* user: webirc@IP.OF.YOUR.WEBIRC . the webirc@ part is required */
  238. user = "webirc@127.0.0.1";
  239.  
  240. /* password: password the webirc client sends in the WEBIRC command.
  241. * You can use a encrypted password here (see above auth block).
  242. */
  243. password = "lionpassword";
  244.  
  245. /* spoof: This is required to keep it what it is currently if you
  246. * want the webirc client to show the users' real host as their
  247. * host on IRC.
  248. */
  249. spoof = "webirc.";
  250. class = "users";
  251. };
  252.  
  253. auth {
  254. user = "*@*";
  255. class = "users";
  256. };
  257.  
  258. /* privset {} blocks MUST be specified before anything that uses them. That
  259. * means they must be defined before operator {}.
  260. */
  261. privset "local_op" {
  262. privs = oper:local_kill, oper:operwall;
  263. };
  264.  
  265. privset "server_bot" {
  266. extends = "local_op";
  267. privs = oper:kline, oper:remoteban, snomask:nick_changes;
  268. };
  269.  
  270. privset "global_op" {
  271. extends = "local_op";
  272. privs = oper:global_kill, oper:routing, oper:kline, oper:unkline, oper:xline,
  273. oper:resv, oper:mass_notice, oper:remoteban;
  274. };
  275.  
  276. privset "admin" {
  277. extends = "global_op";
  278. privs = oper:admin, oper:die, oper:rehash, oper:spy, oper:override;
  279. };
  280.  
  281. connect "irc.foxatomic.net" {
  282. host = "159.65.31.80";
  283. send_password = "lionpassword";
  284. accept_password = "lionpassword";
  285. port = 6697;
  286. hub_mask = "*";
  287. class = "server";
  288. flags = ssl,compressed,topicburst;
  289.  
  290. #fingerprint = "c77106576abf7f9f90cca0f63874a60f2e40a64b";
  291.  
  292. /* If the connection is IPv6, uncomment below.
  293. * Use 0::1, not ::1, for IPv6 localhost. */
  294. #aftype = ipv6;
  295.  
  296. };
  297. connect "services.foxatomic.net" {
  298. host = "159.65.31.80";
  299. send_password = "lionpassword";
  300. accept_password = "lionpassword";
  301. port = 5000;
  302. hub_mask = "*";
  303. class = "server";
  304. flags = topicburst;
  305.  
  306. };
  307. connect "fuckshakes.foxatomic.net" {
  308. host = "198.23.253.140";
  309. send_password = "lionpassword";
  310. accept_password = "lionpassword";
  311. port = 6697;
  312. hub_mask = "*";
  313. class = "server";
  314. flags = ssl,topicburst;
  315.  
  316. };
  317. connect "cola.foxatomic.net" {
  318. host = "23.94.173.99";
  319. send_password = "lionpassword";
  320. accept_password = "lionpassword";
  321. port = 6697;
  322. hub_mask = "*";
  323. class = "server";
  324. flags = ssl,topicburst;
  325. };
  326. service {
  327. name = "services.foxatomic.net";
  328. };
  329.  
  330. cluster {
  331. name = "*";
  332. flags = kline, tkline, unkline, xline, txline, unxline, resv, tresv, unresv;
  333. };
  334.  
  335. shared {
  336. oper = "*@*", "*";
  337. flags = all;
  338. };
  339.  
  340. /* exempt {}: IPs that are exempt from Dlines and rejectcache. (OLD d:) */
  341. exempt {
  342. ip = "127.0.0.1";
  343. };
  344.  
  345. channel {
  346. #disabledmodes = "ME";
  347. autochanmodes = "nt";
  348. autotopic = "Please set a topic, and if necessary, register this channel.";
  349. admin_on_channel_create = no;
  350. exemptchanops = "NT";
  351. use_halfop = yes;
  352. use_admin = yes;
  353. use_owner = yes;
  354. use_knock = yes;
  355. knock_delay = 5 minutes;
  356. knock_delay_channel = 1 minute;
  357. max_chans_per_user = 15;
  358. max_bans = 100;
  359. max_bans_large = 500;
  360. default_split_user_count = 0;
  361. default_split_server_count = 0;
  362. no_create_on_split = no;
  363. no_join_on_split = no;
  364. burst_topicwho = yes;
  365. kick_on_split_riding = no;
  366. only_ascii_channels = no;
  367. cycle_host_change = yes;
  368. host_in_topic = yes;
  369. resv_forcepart = yes;
  370. channel_target_change = yes;
  371. };
  372.  
  373. serverhide {
  374. flatten_links = yes;
  375. links_delay = 5 minutes;
  376. hidden = no;
  377. disable_hidden = no;
  378. };
  379.  
  380. /* These are the blacklist settings.
  381. * You can have multiple combinations of host and rejection reasons.
  382. * They are used in pairs of one host/rejection reason.
  383. *
  384. * These settings should be adequate for most networks, and are (presently)
  385. * required for use on AthemeNet.
  386. *
  387. * Word to the wise: Do not use blacklists like SPEWS for blocking IRC
  388. * connections.
  389. *
  390. * As of charybdis 2.1.3, you can do some keyword substitution on the rejection
  391. * reason. The available keyword substitutions are:
  392. *
  393. * ${ip} - the user's IP
  394. * ${host} - the user's canonical hostname
  395. * ${dnsbl-host} - the dnsbl hostname the lookup was done against
  396. * ${nick} - the user's nickname
  397. * ${network-name} - the name of the network
  398. *
  399. * Note: AHBL (the providers of the below *.ahbl.org BLs) request that they be
  400. * contacted, via email, at admins@2mbit.com before using these BLs.
  401. * See <http://www.ahbl.org/services.php> for more information.
  402. */
  403. blacklist {
  404. host = "rbl.efnetrbl.org";
  405. reject_reason = "${nick}, your IP (${ip}) is listed in EFnet's RBL. For assistance, see http://efnetrbl.org/?i=${ip}";
  406.  
  407. host = "dnsbl.dronebl.org";
  408. reject_reason = "${nick}, your IP (${ip}) is listed in DroneBL. For assistance, see http://dronebl.org/lookup_branded.do?ip=${ip}&network=${network-name}";
  409.  
  410. host = "torexit.dan.me.uk";
  411. reject_reason = "${nick}, your IP (${ip}) is listed as a TOR exit node. In order to protect ${network-name} from TOR-based abuse, we are not allowing TOR exit nodes to connect to our network.";
  412.  
  413. host = "dnsbl.foxatomic.net";
  414. reject_reason = "${nick}, your IP (${ip}) is listed in FoxAtomic DNSBL. There is currently no page you may seek assistance by. Email adam@foxatomic.net for help.";
  415. };
  416.  
  417. alias "NickServ" {
  418. target = "NickServ";
  419. };
  420.  
  421. alias "ChanServ" {
  422. target = "ChanServ";
  423. };
  424.  
  425. alias "OperServ" {
  426. target = "OperServ";
  427. };
  428.  
  429. alias "MemoServ" {
  430. target = "MemoServ";
  431. };
  432.  
  433. alias "HostServ" {
  434. target = "HostServ";
  435. };
  436.  
  437. alias "BotServ" {
  438. target = "BotServ";
  439. };
  440.  
  441. alias "InfoServ" {
  442. target = "InfoServ";
  443. };
  444.  
  445. alias "GroupServ" {
  446. target = "GroupServ";
  447. };
  448.  
  449. alias "NS" {
  450. target = "NickServ";
  451. };
  452.  
  453. alias "CS" {
  454. target = "ChanServ";
  455. };
  456.  
  457. alias "OS" {
  458. target = "OperServ";
  459. };
  460.  
  461. alias "MS" {
  462. target = "MemoServ";
  463. };
  464.  
  465. alias "HS" {
  466. target = "HostServ";
  467. };
  468.  
  469. alias "BS" {
  470. target = "BotServ";
  471. };
  472.  
  473. alias "IS" {
  474. target = "InfoServ";
  475. };
  476.  
  477. alias "GS" {
  478. target = "GroupServ";
  479. };
  480.  
  481. general {
  482. hide_error_messages = opers;
  483. hide_spoof_ips = yes;
  484.  
  485. /*
  486. * default umodes: umodes to set upon connection
  487. * If you have enabled the ip_cloaking extension, and you wish for
  488. * incoming clients to be cloaked upon connection, +x must be in
  489. * the umode string below.
  490. */
  491. default_umodes = "-ix";
  492.  
  493. default_operstring = "is an IRC Operator";
  494. default_adminstring = "is a Server Administrator";
  495. default_operhost = "staff.testnet.net";
  496. #static_quit = "I like turtles!";
  497. servicestring = "is a Network Service";
  498.  
  499. /*
  500. * Nick of the network's SASL agent. Used to check whether services are here,
  501. * SASL credentials are only sent to its server. Needs to be a service.
  502. *
  503. * Defaults to SaslServ if unspecified.
  504. */
  505. sasl_service = "SaslServ";
  506.  
  507. disable_fake_channels = no;
  508. hide_channel_below_users = 1;
  509. tkline_expire_notices = no;
  510. default_floodcount = 10;
  511. failed_oper_notice = yes;
  512. dots_in_ident=2;
  513. min_nonwildcard = 4;
  514. min_nonwildcard_simple = 3;
  515. max_accept = 100;
  516. max_monitor = 100;
  517. anti_nick_flood = yes;
  518. max_nick_time = 20 seconds;
  519. max_nick_changes = 5;
  520. anti_spam_exit_message_time = 1 minutes;
  521. use_part_messages = yes;
  522. ts_warn_delta = 30 seconds;
  523. ts_max_delta = 5 minutes;
  524. client_exit = yes;
  525. collision_fnc = yes;
  526. global_snotices = yes;
  527. dline_with_reason = yes;
  528. kline_delay = 0 seconds;
  529. kline_with_reason = yes;
  530. kline_reason = "K-Lined";
  531. identify_service = "NickServ@services.int";
  532. identify_command = "IDENTIFY";
  533. non_redundant_klines = yes;
  534. warn_no_nline = yes;
  535. use_propagated_bans = yes;
  536. stats_e_disabled = no;
  537. stats_c_oper_only=no;
  538. stats_h_oper_only=no;
  539. stats_y_oper_only=no;
  540. stats_o_oper_only=yes;
  541. stats_P_oper_only=no;
  542. stats_i_oper_only=masked;
  543. stats_k_oper_only=masked;
  544. map_oper_only = no;
  545. links_oper_only = no;
  546. operspy_admin_only = no;
  547. operspy_dont_care_user_info = no;
  548. secret_channels_in_whois = no;
  549. caller_id_wait = 1 minute;
  550. pace_wait_simple = 1 second;
  551. pace_wait = 10 seconds;
  552. short_motd = no;
  553. ping_cookie = no;
  554. connect_timeout = 30 seconds;
  555. default_ident_timeout = 5;
  556. disable_auth = no;
  557. no_oper_flood = yes;
  558. true_no_oper_flood = no;
  559. max_targets = 4;
  560. client_flood = 20;
  561. use_whois_actually = no;
  562. oper_only_umodes = operwall, locops, servnotice;
  563. oper_umodes = locops, servnotice, operwall, wallop;
  564. oper_snomask = "+s";
  565. burst_away = yes;
  566. nick_delay = 0 seconds; # 15 minutes if you want to enable this
  567. reject_ban_time = 1 minute;
  568. reject_after_count = 3;
  569. reject_duration = 5 minutes;
  570. throttle_duration = 60;
  571. throttle_count = 4;
  572. static_parts = no;
  573. static_part_reason = " ";
  574. expire_override_time = 5 minutes;
  575.  
  576. };
  577.  
  578. modules {
  579. path = "modules";
  580. path = "modules/autoload";
  581. };
  582. .include "opers.conf"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement