SHARE
TWEET

Untitled

a guest May 16th, 2019 12 in 324 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Configuration file for UnrealIRCd 4
  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. /* This is a comment, all text here is ignored (comment type #1) */
  24. // This is also a comment, this line is ignored (comment type #2)
  25. # This is also a comment, again this line is ignored (comment type #3)
  26.  
  27. /* UnrealIRCd makes heavy use of modules. Modules allow you to completely
  28.  * customize the featureset you wish to enable in UnrealIRCd.
  29.  * See: https://www.unrealircd.org/docs/Modules
  30.  *
  31.  * By using the include below we instruct the IRCd to read the file
  32.  * 'modules.default.conf' which will load more than 150 modules
  33.  * shipped with UnrealIRCd. In other words: this will simply load
  34.  * all the available features in UnrealIRCd.
  35.  * If you are setting up UnrealIRCd for the first time we suggest you
  36.  * use this. Then, when everything is up and running you can come
  37.  * back later to customize the list (if you wish).
  38.  */
  39. include "modules.default.conf";
  40.  
  41. /* Now let's include some other files as well:
  42.  * - help/help.conf for our on-IRC /HELPOP system
  43.  * - badwords.conf for channel and user mode +G
  44.  * - spamfilter.conf as an example for spamfilter usage
  45.  *   (commented out)
  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.madness.pro";
  62.     info "MADNESS Network";
  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.     "at";
  71.     "at";
  72.     "at@madness.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 20M;
  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 *@192.0.2.1;
  130.     class clients;
  131.     password "at";
  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'.3
  148.  * You MUST change this!!
  149.  */
  150. oper at {
  151.     class opers;
  152.     mask *@*;
  153.     password "at";
  154.     /* Oper permissions are defined in an 'operclass' block.
  155.      * See https://www.unrealircd.org/docs/Operclass_block
  156.      * UnrealIRCd ships with a number of default blocks, see
  157.      * the article for a full list. We choose 'netadmin' here.
  158.      */
  159.     operclass netadmin;
  160.     swhois "is a Network Administrator";
  161.     vhost madness.pro;
  162. };
  163.  
  164. /* Listen blocks define the ports where the server should listen on.
  165.  * In other words: the ports that clients and servers may use to
  166.  * connect to this server.
  167.  *
  168.  * Syntax:
  169.  * listen {
  170.  * {
  171.  *   ip <ip>;
  172.  *   port <port>;
  173.  *   options {
  174.  *     <options....>;
  175.  *   };
  176.  * };
  177.  */
  178.  
  179. /* Standard IRC port 6667 */
  180. listen {
  181.     ip *;
  182.     port 6667;
  183. };
  184.  
  185. /* Standard IRC SSL/TLS port 6697 */
  186. listen {
  187.     ip *;
  188.     port 6697;
  189.     options { ssl; };
  190. };
  191.  
  192. /* Special SSL/TLS servers-only port for linking */
  193. listen {
  194.     ip *;
  195.     port 6900;
  196.     options { ssl; serversonly; };
  197. };
  198.  
  199. /* NOTE: If you are on an IRCd shell with multiple IP's and you use
  200.  *       the above listen { } blocks then you will likely get an
  201.  *       'Address already in use' error and the ircd won't start.
  202.  *       This means you MUST bind to a specific IP instead of '*' like:
  203.  *       listen { ip 1.2.3.4; port 6667; };
  204.  *       Of course, replace the IP with the IP that was assigned to you.
  205.  */
  206.  
  207. /*
  208.  * Link blocks allow you to link multiple servers together to form a network.
  209.  * See https://www.unrealircd.org/docs/Tutorial:_Linking_servers
  210.  */
  211. link hub.madness.pro
  212. {
  213.     incoming {
  214.         mask *@something;
  215.     };
  216.  
  217.     outgoing {
  218.         bind-ip *; /* or explicitly an IP */
  219.         hostname hub.madness.pro;
  220.         port 6900;
  221.         options { ssl; };
  222.     };
  223.  
  224.     /* We use the SPKI fingerprint of the other server for authentication.
  225.      * Run './unrealircd spkifp' on the other side to get it.
  226.      * NOTE: requires UnrealIRCd 4.0.16 or later.
  227.      */
  228.     password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; };
  229.  
  230.     class servers;
  231. };
  232.  
  233. /* The link block for services is usually much simpler.
  234.  * For more information about what Services are,
  235.  * see https://www.unrealircd.org/docs/Services
  236.  */
  237. link services.madness.pro
  238. {
  239.     incoming {
  240.         mask 127.0.0.1;
  241.     };
  242.  
  243.     password "at";
  244.  
  245.     class servers;
  246. };
  247.  
  248. /* U-lines give other servers (even) more power/commands.
  249.  * If you use services you must add them here.
  250.  * NEVER put the name of an UnrealIRCd server here!!!
  251.  */
  252. ulines {
  253.     services.madness.pro;
  254. };
  255.  
  256. /* Here you can add a password for the IRCOp-only /DIE and /RESTART commands.
  257.  * This is mainly meant to provide a little protection against accidental
  258.  * restarts and server kills.
  259.  */
  260. drpass {
  261.     restart "at";
  262.     die "at";
  263. };
  264.  
  265. /* The log block defines what should be logged and to what file.
  266.  * See also https://www.unrealircd.org/docs/Log_block
  267.  */
  268.  
  269. /* This is a good default, it logs almost everything */
  270. log "ircd.log" {
  271.     flags {
  272.         oper;
  273.         connects;
  274.         server-connects;
  275.         kills;
  276.         errors;
  277.         sadmin-commands;
  278.         chg-commands;
  279.         oper-override;
  280.         tkl;
  281.         spamfilter;
  282.     };
  283. };
  284.  
  285. /* With "aliases" you can create an alias like /SOMETHING to send a message to
  286.  * some user or bot. They are usually used for services.
  287.  *
  288.  * We have a number of pre-set alias files, check out the alias/ directory.
  289.  * As an example, here we include all aliases used for anope services.
  290.  */
  291. include "aliases/anope.conf";
  292.  
  293. /* Ban nick names so they cannot be used by regular users */
  294. ban nick {
  295.     mask "*C*h*a*n*S*e*r*v*";
  296.     reason "Reserved for Services";
  297. };
  298.  
  299. /* Ban ip.
  300.  * Note that you normally use /KLINE, /GLINE and /ZLINE for this.
  301.  */
  302. ban ip {
  303.     mask 195.86.232.81;
  304.     reason "Hate you";
  305. };
  306.  
  307. /* Ban server - if we see this server linked to someone then we delink */
  308. ban server {
  309.     mask eris.berkeley.edu;
  310.     reason "Get out of here.";
  311. };
  312.  
  313. /* Ban user - just as an example, you normally use /KLINE or /GLINE for this */
  314. ban user {
  315.     mask *tirc@*.saturn.bbn.com;
  316.     reason "Idiot";
  317. };
  318.  
  319. /* Ban realname allows you to ban clients based on their 'real name'
  320.  * or 'gecos' field.
  321.  */
  322. ban realname {
  323.     mask "Swat Team";
  324.     reason "mIRKFORCE";
  325. };
  326.  
  327. ban realname {
  328.     mask "sub7server";
  329.     reason "sub7";
  330. };
  331.  
  332. /* Ban and TKL exceptions. Allows you to exempt users / machines from
  333.  * KLINE, GLINE, etc.
  334.  * If you are an IRCOp with a static IP (and no untrusted persons on that IP)
  335.  * then we suggest you add yourself here. That way you can always get in
  336.  * even if you accidentally place a *LINE ban on yourself.
  337.  */
  338.  
  339. /* except ban protects you from KLINE and ZLINE */
  340. except ban {
  341.     mask *@192.0.2.1;
  342.     // you may add more mask entries here..
  343. };
  344.  
  345. /* except tkl with type 'all' protects you from GLINE, GZLINE, QLINE, SHUN */
  346. except tkl {
  347.     mask *@192.0.2.1;
  348.     type all;
  349. };
  350.  
  351. /* With deny dcc blocks you can ban filenames for DCC */
  352. deny dcc {
  353.     filename "*sub7*";
  354.     reason "Possible Sub7 Virus";
  355. };
  356.  
  357. /* deny channel allows you to ban a channel (mask) entirely */
  358. deny channel {
  359.     channel "*warez*";
  360.     reason "Warez is illegal";
  361.     class "clients";
  362. };
  363.  
  364. /* VHosts (Virtual Hosts) allow users to acquire a different host.
  365.  * See https://www.unrealircd.org/docs/Vhost_block
  366.  */
  367.  
  368. /* Example vhost which you can use. On IRC type: /VHOST test test
  369.  * NOTE: only people with an 'unrealircd.com' host may use it so
  370.  *       be sure to change the vhost::mask before you test.
  371.  */
  372. vhost {
  373.     vhost i.hate.microsefrs.com;
  374.     mask *@unrealircd.com;
  375.     login "test";
  376.     password "test";
  377. };
  378.  
  379. /* Blacklist blocks will query an external DNS Blacklist service
  380.  * whenever a user connects, to see if the IP address is known
  381.  * to cause drone attacks, is a known hacked machine, etc.
  382.  * Documentation: https://www.unrealircd.org/docs/Blacklist_block
  383.  * Or just have a look at the blocks below.
  384.  */
  385.  
  386. /* DroneBL, probably the most popular blacklist used by IRC Servers.
  387.  * See https://dronebl.org/ for their documentation and the
  388.  * meaning of the reply types. At time of writing we use types:
  389.  * 3: IRC Drone, 5: Bottler, 6: Unknown spambot or drone,
  390.  * 7: DDoS Drone, 8: SOCKS Proxy, 9: HTTP Proxy, 10: ProxyChain,
  391.  * 11: Web Page Proxy, 12: Open DNS Resolver, 13: Brute force attackers,
  392.  * 14: Open Wingate Proxy, 15: Compromised router / gateway,
  393.  * 16: Autorooting worms.
  394.  */
  395. blacklist dronebl {
  396.         dns {
  397.                 name dnsbl.dronebl.org;
  398.                 type record;
  399.                 reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; };
  400.         };
  401.         action gline;
  402.         ban-time 24h;
  403.         reason "Proxy/Drone detected. Check https://dronebl.org/lookup?ip=$ip for details.";
  404. };
  405.  
  406. /* EFnetRBL, see https://rbl.efnetrbl.org/ for documentation
  407.  * and the meaning of the reply types.
  408.  * At time of writing: 1 is open proxy, 4 is TOR, 5 is drones/flooding.
  409.  *
  410.  * NOTE: If you want to permit TOR proxies on your server, then
  411.  *       you need to remove the '4;' below in the reply section.
  412.  */
  413. blacklist efnetrbl {
  414.         dns {
  415.                 name rbl.efnetrbl.org;
  416.                 type record;
  417.                 reply { 1; 4; 5; };
  418.         };
  419.         action gline;
  420.         ban-time 24h;
  421.         reason "Proxy/Drone/TOR detected. Check http://rbl.efnetrbl.org/?i=$ip for details.";
  422. };
  423.  
  424. /* You can include other configuration files */
  425. /* include "klines.conf"; */
  426.  
  427. /* Network configuration */
  428. set {
  429.     network-name        "MADNESS";
  430.     default-server      "irc.MADNESS.pro";
  431.     services-server     "services.madness.pro";
  432.     stats-server        "stats.madness.pro";
  433.     help-channel        "#Help";
  434.     hiddenhost-prefix   "MADNESS";
  435.     prefix-quit         "Quit";
  436.  
  437.     /* Cloak keys should be the same at all servers on the network.
  438.      * They are used for generating masked hosts and should be kept secret.
  439.      * The keys should be 3 random strings of 50-100 characters
  440.      * and must consist of lowcase (a-z), upcase (A-Z) and digits (0-9).
  441.      * HINT: On *NIX, you can run './unrealircd gencloak' in your shell to let
  442.      *       UnrealIRCd generate 3 random strings for you.
  443.      */
  444.     cloak-keys {
  445.         "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  446.         "doAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  447.         "eoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  448.     };
  449. };
  450.  
  451.     /* Cloak keys should be the same at all servers on the network.
  452.      * They are used for generating masked hosts and should be kept secret.
  453.      * The keys should be 3 random strings of 50-100 characters
  454.      * and must consist of lowcase (a-z), upcase (A-Z) and digits (0-9).
  455.      * HINT: On *NIX, you can run './unrealircd gencloak' in your shell to let
  456.      *       UnrealIRCd generate 3 random strings for you.
  457.      *
  458.     cloak-keys {
  459.         "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  460.         "boAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  461.         "coAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  462.     };
  463. };
  464.  
  465. /* Server specific configuration */
  466.  
  467. set {
  468.     kline-address "at@madness.pro"; /* e-mail or URL shown when a user is banned */
  469.     modes-on-connect "+ixw"; /* when users connect, they will get these user modes */
  470.     modes-on-oper    "+xwgs"; /* when someone becomes IRCOp they'll get these modes */
  471.     oper-auto-join "#opers"; /* IRCOps are auto-joined to this channel */
  472.     options {
  473.         hide-ulines; /* hide U-lines in /MAP and /LINKS */
  474.         show-connect-info; /* show "looking up your hostname" messages on connect */
  475.     };
  476.     maxchannelsperuser 10; /* maximum number of channels a user may /JOIN */
  477.  
  478.     /* The minimum time a user must be connected before being allowed to
  479.      * use a QUIT message. This will hopefully help stop spam.
  480.      */
  481.     anti-spam-quit-message-time 10s;
  482.  
  483.     /* Or simply set a static quit, meaning any /QUIT reason is ignored */
  484.     /* static-quit "Client quit";   */
  485.  
  486.     /* static-part does the same for /PART */
  487.     /* static-part yes; */
  488.  
  489.     /* Which /STATS to restrict to opers only. We suggest to leave it to * (ALL) */
  490.     oper-only-stats "*";
  491.  
  492.     /* Anti flood protection */
  493.     anti-flood {
  494.         nick-flood 3:60;    /* 3 nick changes per 60 seconds (the default) */
  495.         connect-flood 3:60; /* 3 connection attempts per 60 seconds (the default) */
  496.         away-flood 4:120;   /* 4 times per 2 minutes you may use /AWAY (default) */
  497.     };
  498.  
  499.     /* Settings for spam filter */
  500.     spamfilter {
  501.         ban-time 1d; /* default duration of a *LINE ban set by spamfilter */
  502.         ban-reason "Spam/Advertising"; /* default reason */
  503.         virus-help-channel "#help"; /* channel to use for 'viruschan' action */
  504.         /* except "#help"; channel to exempt from Spamfilter */
  505.     };
  506. };
  507.  
  508. /* Finally, you may wish to have a MOTD (Message of the Day), this can be
  509.  * done by creating an 'ircd.motd' text file in your conf/ directory.
  510.  * This file will be shown to your users on connect.
  511.  * For more information see https://www.unrealircd.org/docs/MOTD_and_Rules
  512.  */
  513.  
  514. /*
  515.  * Problems or need more help?
  516.  * 1) https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
  517.  * 2) https://www.unrealircd.org/docs/FAQ <- answers 80% of your questions!
  518.  * 3) If you are still having problems then you can get support:
  519.  *    - Forums: https://forums.unrealircd.org/
  520.  *    - IRC: irc.unrealircd.org (SSL on port 6697) / #unreal-support
  521.  *    Note that we require you to read the documentation and FAQ first!
  522.  */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top