Advertisement
PTirc

UnrealIRCd

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