PTirc

UnrealIRCd

Jun 5th, 2018
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.87 KB | None | 0 0
  1. /* Configuration file for UnrealIRCd 4.0
  2. *
  3. * Simply copy this file to your conf/ directory, call it
  4. * 'unrealircd.conf' and walk through it line by line (edit it!)
  5. *
  6. * Important: All lines, except the opening { line, end with an ;
  7. * including };. This is very important, if you miss a ; somewhere then
  8. * the configuration file parser will complain and your file will not
  9. * be processed correctly!
  10. * If this is your first experience with an UnrealIRCd configuration
  11. * file then we really recommend you to read a little about the syntax,
  12. * this only takes a few minutes and will help you a lot:
  13. * https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
  14. *
  15. * UnrealIRCd 4 documentation (very extensive!):
  16. * https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
  17. *
  18. * Frequently Asked Questions:
  19. * https://www.unrealircd.org/docs/FAQ
  20. *
  21. */
  22.  
  23.  
  24. /* This is a comment, all text here is ignored (comment type #1) */
  25. // This is also a comment, this line is ignored (comment type #2)
  26. # This is also a comment, again this line is ignored (comment type #3)
  27.  
  28. /* UnrealIRCd makes heavy use of modules. Modules allow you to completely
  29. * customize the featureset you wish to enable in UnrealIRCd.
  30. * See: https://www.unrealircd.org/docs/Modules
  31. *
  32. * By using the include below we instruct the IRCd to read the file
  33. * 'modules.default.conf' which will load more than 150 modules
  34. * shipped with UnrealIRCd. In other words: this will simply load
  35. * all the available features in UnrealIRCd.
  36. * If you are setting up UnrealIRCd for the first time we suggest you
  37. * use this. Then, when everything is up and running you can come
  38. * back later to customize the list (if you wish).
  39. */
  40. include "modules.default.conf";
  41.  
  42. /* Now let's include some other files as well:
  43. * - help/help.conf for our on-IRC /HELPOP system
  44. * - badwords.conf for channel and user mode +G
  45. * - spamfilter.conf as an example for spamfilter usage
  46. * - operclass.default.conf contains some good operclasses which
  47. * you can use in your oper blocks.
  48. */
  49. include "help/help.conf";
  50. include "badwords.conf";
  51. include "spamfilter.conf";
  52. include "operclass.default.conf";
  53.  
  54. /* This is the me { } block which basically says who we are.
  55. * It defines our server name, some information line and an unique "sid".
  56. * The server id (sid) must start with a digit followed by two digits or
  57. * letters. The sid must be unique for your IRC network (each server should
  58. * have it's own sid).
  59. */
  60. me {
  61. name "irc.hyedomain.com";
  62. info "HYEDomain IRC Server";
  63. sid "001";
  64. };
  65.  
  66. /* The admin { } block defines what users will see if they type /ADMIN.
  67. * It normally contains information on how to contact the administrator.
  68. */
  69. admin {
  70. "Bob Smith";
  71. "bob";
  72. };
  73.  
  74. /* Clients and servers are put in class { } blocks, we define them here.
  75. * Class blocks consist of the following items:
  76. * - pingfreq: how often to ping a user / server (in seconds)
  77. * - connfreq: how often we try to connect to this server (in seconds)
  78. * - sendq: the maximum queue size for a connection
  79. * - recvq: maximum receive queue from a connection (flood control)
  80. */
  81.  
  82. /* Client class with good defaults */
  83. class clients
  84. {
  85. pingfreq 90;
  86. maxclients 1000;
  87. sendq 200k;
  88. recvq 8000;
  89. };
  90.  
  91. /* Special class for IRCOps with higher limits */
  92. class opers
  93. {
  94. pingfreq 90;
  95. maxclients 50;
  96. sendq 1M;
  97. recvq 8000;
  98. };
  99.  
  100. /* Server class with good defaults */
  101. class servers
  102. {
  103. pingfreq 60;
  104. connfreq 15; /* try to connect every 15 seconds */
  105. maxclients 10; /* max servers */
  106. sendq 5M;
  107. };
  108.  
  109. /* Allow blocks define which clients may connect to this server.
  110. * This allows you to add a server password or restrict the server to
  111. * specific IP's only. You also configure the maximum connections
  112. * allowed per IP here.
  113. * See also: https://www.unrealircd.org/docs/Allow_block
  114. */
  115.  
  116. /* Allow everyone in, but only 3 connections per IP */
  117. allow {
  118. ip *@*;
  119. class clients;
  120. maxperip 3;
  121. };
  122.  
  123. /* Example of a special allow block on a specific IP:
  124. * Requires users on that IP to connect with a password. If the password
  125. * is correct then it permits 20 connections on that IP.
  126. */
  127. allow {
  128. ip *@185.212.131.12;
  129. class clients;
  130. password "#";
  131. maxperip 20;
  132. };
  133.  
  134. /* Oper blocks define your IRC Operators.
  135. * IRC Operators are people who have "extra rights" compared to others,
  136. * for example they may /KILL other people, initiate server linking,
  137. * /JOIN channels even though they are banned, etc.
  138. *
  139. * For more information about becoming an IRCOp and how to do admin
  140. * tasks, see: https://www.unrealircd.org/docs/IRCOp_guide
  141. *
  142. * For details regarding the oper { } block itself, see
  143. * https://www.unrealircd.org/docs/Oper_block
  144. */
  145.  
  146. /* Here is an example oper block for 'bobsmith' with password 'test'.
  147. * You MUST change this!!
  148. */
  149. oper mac {
  150. class opers;
  151. mask *@*;
  152. password "";
  153. operclass netadmin;
  154. swhois "is a Network Administrator";
  155. vhost radio.hyedomain.com;
  156. };
  157. allow channel {
  158. channel "#Armenia";
  159. class "clients";
  160. };
  161.  
  162. /* Listen blocks define the ports where the server should listen on.
  163. * In other words: the ports that clients and servers may use to
  164. * connect to this server.
  165. *
  166. * Syntax:
  167. * listen {
  168. * {
  169. * ip <ip>;
  170. * port <port>;
  171. * options {
  172. * <options....>;
  173. * };
  174. * };
  175. */
  176.  
  177. /* Standard IRC port 6667 */
  178. listen {
  179. ip *;
  180. port 6667;
  181. };
  182.  
  183. /* Standard IRC SSL/TLS port 6697 */
  184. listen {
  185. ip *;
  186. port 6697;
  187. options { ssl; };
  188. };
  189.  
  190. listen {
  191. ip *;
  192. port 9339;
  193. };
  194.  
  195. /* Special SSL/TLS servers-only port for linking */
  196. listen {
  197. ip *;
  198. port 6900;
  199. options { ssl; serversonly; };
  200. };
  201.  
  202. /* NOTE: If you are on an IRCd shell with multiple IP's and you use
  203. * the above listen { } blocks then you will likely get an
  204. * 'Address already in use' error and the ircd won't start.
  205. * This means you MUST bind to a specific IP instead of '*' like:
  206. * listen { ip 1.2.3.4; port 6667; };
  207. * Of course, replace the IP with the IP that was assigned to you.
  208. */
  209.  
  210. /*
  211. * Link blocks allow you to link multiple servers together to form a network.
  212. * See https://www.unrealircd.org/docs/Tutorial:_Linking_servers
  213. */
  214.  
  215. link services.hyedomain.com {
  216. incoming {
  217. mask *@185.212.131.12;
  218. };
  219. outgoing {
  220. hostname 185.212.131.12;
  221. port 9339;
  222. };
  223. password "pvwyuznEhOI3d8SxoNNcmEtAdAxT";
  224. class servers;
  225. };
  226.  
  227. /* The link block for services is usually much simpler.
  228. * For more information about what Services are,
  229. * see https://www.unrealircd.org/docs/Services
  230. */
  231.  
  232. /* U-lines give other servers (even) more power/commands.
  233. * If you use services you must add them here.
  234. * NEVER put the name of an UnrealIRCd server here!!!
  235. */
  236.  
  237. /* Here you can add a password for the IRCOp-only /DIE and /RESTART commands.
  238. * This is mainly meant to provide a little protection against accidental
  239. * restarts and server kills.
  240. */
  241. drpass {
  242. restart "restart";
  243. die "die";
  244. };
  245.  
  246. /* The log block defines what should be logged and to what file.
  247. * See also https://www.unrealircd.org/docs/Log_block
  248. */
  249.  
  250. /* This is a good default, it logs almost everything */
  251. log "ircd.log" {
  252. flags {
  253. oper;
  254. connects;
  255. server-connects;
  256. kills;
  257. errors;
  258. sadmin-commands;
  259. chg-commands;
  260. oper-override;
  261. tkl;
  262. spamfilter;
  263. };
  264. };
  265.  
  266. /* With "aliases" you can create an alias like /SOMETHING to send a message to
  267. * some user or bot. They are usually used for services.
  268. *
  269. * We have a number of pre-set alias files, check out the alias/ directory.
  270. * As an example, here we include all aliases used for anope services.
  271. */
  272. include "aliases/anope.conf";
  273.  
  274. /* Ban nick names so they cannot be used by regular users */
  275. ban nick {
  276. mask "*C*h*a*n*S*e*r*v*";
  277. reason "Reserved for Services";
  278. };
  279. ban realname {
  280. mask "Jack";
  281. reason "Go away!";
  282. };
  283. /* Ban ip.
  284. * Note that you normally use /KLINE, /GLINE and /ZLINE for this.
  285. */
  286. ban ip {
  287. mask 195.86.232.81;
  288. reason "Hate you";
  289. };
  290.  
  291. /* Ban server - if we see this server linked to someone then we delink */
  292. ban server {
  293. mask eris.berkeley.edu;
  294. reason "Get out of here.";
  295. };
  296.  
  297. /* Ban user - just as an example, you normally use /KLINE or /GLINE for this */
  298. ban user {
  299. mask *tirc@*.saturn.bbn.com;
  300. reason "Idiot";
  301. };
  302.  
  303. /* Ban realname allows you to ban clients based on their 'real name'
  304. * or 'gecos' field.
  305. */
  306. ban realname {
  307. mask "Swat Team";
  308. reason "mIRKFORCE";
  309. };
  310.  
  311. ban realname {
  312. mask "sub7server";
  313. reason "sub7";
  314. };
  315.  
  316. /* Ban and TKL exceptions. Allows you to exempt users / machines from
  317. * KLINE, GLINE, etc.
  318. * If you are an IRCOp with a static IP (and no untrusted persons on that IP)
  319. * then we suggest you add yourself here. That way you can always get in
  320. * even if you accidentally place a *LINE ban on yourself.
  321. */
  322.  
  323. /* except ban protects you from KLINE and ZLINE */
  324. except ban {
  325. mask *@192.0.2.1;
  326. // you may add more mask entries here..
  327. };
  328.  
  329. /* except tkl with type 'all' protects you from GLINE, GZLINE, QLINE, SHUN */
  330. except tkl {
  331. mask *@192.0.2.1;
  332. type all;
  333. };
  334.  
  335. /* With deny dcc blocks you can ban filenames for DCC */
  336. deny dcc {
  337. filename "*sub7*";
  338. reason "Possible Sub7 Virus";
  339. };
  340.  
  341. /* deny channel allows you to ban a channel (mask) entirely */
  342. deny channel {
  343. channel "*warez*";
  344. reason "Warez is illegal";
  345. class "clients";
  346. };
  347.  
  348. /* VHosts (Virtual Hosts) allow users to acquire a different host.
  349. * See https://www.unrealircd.org/docs/Vhost_block
  350. */
  351.  
  352. /* Example vhost which you can use. On IRC type: /VHOST test test
  353. * NOTE: only people with an 'unrealircd.com' host may use it so
  354. * be sure to change the vhost::mask before you test.
  355. */
  356. vhost {
  357. vhost i.hate.microsefrs.com;
  358. mask *@unrealircd.com;
  359. login "test";
  360. password "test";
  361. };
  362.  
  363. /* You can include other configuration files */
  364. /* include "klines.conf"; */
  365.  
  366. /* Network configuration */
  367. set {
  368. network-name "HYEDomain";
  369. default-server "irc.hyedomain.com";
  370. services-server "hyedomain.com";
  371. stats-server "hyedomain.com";
  372. help-channel "#Help";
  373. hiddenhost-prefix "Clk";
  374. prefix-quit "Quit";
  375.  
  376. /* Cloak keys should be the same at all servers on the network.
  377. * They are used for generating masked hosts and should be kept secret.
  378. * The keys should be 3 random strings of 50-100 characters
  379. * and must consist of lowcase (a-z), upcase (A-Z) and digits (0-9).
  380. * HINT: On *NIX, you can run './unrealircd gencloak' in your shell to let
  381. * UnrealIRCd generate 3 random strings for you.
  382. */
  383.  
  384. cloak-keys { ""; ""; "";
  385.  
  386. };
  387. };
  388.  
  389. /* Server specific configuration */
  390.  
  391. set {
  392. kline-address "[email protected]"; /* e-mail or URL shown when a user is banned */
  393. modes-on-connect "+ixw"; /* when users connect, they will get these user modes */
  394. modes-on-oper "+xwgs"; /* when someone becomes IRCOp they'll get these modes */
  395. oper-auto-join "#hyedomain"; /* IRCOps are auto-joined to this channel */
  396. options {
  397. hide-ulines; /* hide U-lines in /MAP and /LINKS */
  398. show-connect-info; /* show "looking up your hostname" messages on connect */
  399. };
  400.  
  401. maxchannelsperuser 10; /* maximum number of channels a user may /JOIN */
  402.  
  403. /* The minimum time a user must be connected before being allowed to
  404. * use a QUIT message. This will hopefully help stop spam.
  405. */
  406. anti-spam-quit-message-time 10s;
  407.  
  408. /* Or simply set a static quit, meaning any /QUIT reason is ignored */
  409. /* static-quit "Client quit"; */
  410.  
  411. /* static-part does the same for /PART */
  412. /* static-part yes; */
  413.  
  414. /* Which /STATS to restrict to opers only. We suggest to leave it to * (ALL) */
  415. oper-only-stats "*";
  416.  
  417. /* Anti flood protection */
  418. anti-flood {
  419. nick-flood 3:60; /* 3 nick changes per 60 seconds (the default) */
  420. connect-flood 3:60; /* 3 connection attempts per 60 seconds (the default) */
  421. away-flood 4:120; /* 4 times per 2 minutes you may use /AWAY (default) */
  422. };
  423.  
  424. /* Settings for spam filter */
  425. spamfilter {
  426. ban-time 1d; /* default duration of a *LINE ban set by spamfilter */
  427. ban-reason "Spam/Advertising"; /* default reason */
  428. virus-help-channel "#help"; /* channel to use for 'viruschan' action */
  429. /* except "#help"; channel to exempt from Spamfilter */
  430. };
  431. };
  432.  
  433. /* Finally, you may wish to have a MOTD (Message of the Day), this can be
  434. * done by creating an 'ircd.motd' text file in your conf/ directory.
  435. * This file will be shown to your users on connect.
  436. * For more information see https://www.unrealircd.org/docs/MOTD_and_Rules
  437. */
  438.  
  439. /*
  440. * Problems or need more help?
  441. * 1) https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
  442. * 2) https://www.unrealircd.org/docs/FAQ <- answers 80% of your questions!
  443. * 3) If you are still having problems then you can get support:
  444. * - Forums: https://forums.unrealircd.org/
  445. * - IRC: irc.unrealircd.org (SSL on port 6697) / #unreal-support
  446. * Note that we require you to read the documentation and FAQ first!
  447. */
Advertisement
Add Comment
Please, Sign In to add comment