Search
 
 

Display results as :
 


Rechercher Advanced Search

Web Applications
install Joomla Wordpress Phpbb Drupal FluxBB PunBB osCommerce simple-machines MYBB moodle vBulletin Dolphin-v.7.1.1 PHPNUKE XOOPS
Services
install BorkNet Services X3 Services Anope Atheme Services Srvx IRC Srervices
IRCD
install Snircd IRCU INSPIRCD UNREAL Nefarious Bircd Bahamut Asuka Charybdis
TCL SCRIPT
TCL SCRIPT FOR EGGDROP Allprotection4.7 Antiproxy
Bots
Bots install FishBot bobot++ Eggdrop janus Omega Security Services Botnix Bopm
Keywords

speed  multi  

Latest topics
» מדריך התקנה WORDPRESS על FREEBSD11
Mon Jul 17, 2017 2:50 am by Chief

» מדריך התקנה postgreSQL && phpPgAdmin על FREEBSD11
Sun Jul 16, 2017 4:23 pm by Chief

» מדריך התקנה PHPMYADMIN על FREEBSD11
Sat Jul 15, 2017 5:44 am by Chief

» mIRCx IRC Network Config
Fri Jul 07, 2017 12:57 pm by Chief

» מדריך איך מתקינים DESKTOP על FREEBSD
Fri Jul 07, 2017 12:44 pm by Chief

» מדריך התקנה FTP SERVER על FREEBSD
Mon Jul 03, 2017 3:52 am by Chief

» install inspircd in freebsd 11
Sat Jul 01, 2017 11:57 pm by Chief

» מדריך התקנה FEDORA 25
Sat Jul 01, 2017 7:59 pm by Chief

» מדריך התקנה מערכת הפעלה FREEBSD
Sat Jun 24, 2017 12:59 am by Chief

August 2017
MonTueWedThuFriSatSun
 123456
78910111213
14151617181920
21222324252627
28293031   

Calendar Calendar

Affiliates
free forum

Affiliates
free forum


mIRCx IRC Network Config

View previous topic View next topic Go down

mIRCx IRC Network Config

Post  Chief on Wed Apr 09, 2014 5:47 pm

mIRCx IRC Network Config
Hello people The staff mIRCx IRC say sorry about some guide without no picture because the websit is stop run and soon we mIRCx fix this
today i am up some files X3 version 1.8 and 1.9 and config Nefarious 2.2
ok then if someone he is want download X3 version 1.9 then this from here its good
https://sourceforge.net/projects/x3version9/files/latest/download?source=files
you download this files and open Tarminal and write like this

Code:

sudo unzip x3-master.zip
ok next step after you doing this and you see the folder x3-master close then write like this

Code:

sudo chmod -R 0777 /home/mircx/x3-master
after you run your config and start your services this working 100%
X3.config
Code:

/* *****************************************************************
 *  X3 Services Example Configuration file.
 * 
 *  Copy it to your x3 runtime dir, and edit to taste.
 *
 * This file allows two kinds of comments.  Whitespaces between
 * tokens are ignored.  All strings (even if they're just numbers)
 * MUST be enclosed in double quotes.  There must be a semicolon
 * after every * key/value pair.
 */

/* UPLINKS (servers we connect to) *********************************
 * Each subsection describes one server. X3 will try to connect to
 * each in turn maxtries times, and then will quit.
 */
"uplinks" {
    // This first entry connects to an ircd on teh same server an X3..
    "Hub" {  // This can be any string, just used here for your convenience
        "address"        "192.168.1.14";  // The IP address of the server
        "port"          "4400";      // What TCP port to connect to
        "password"      "asher";  // Both of these passwords must match
        "their_password" "asher";  //  the one in the ircd C line for X3.
        "enabled"        "1";  // Set to 0 to disable connecting to this server
        "max_tries"      "10";  // How many times to attemt reconnect before quitting
        "bind_address"  "192.168.1.14";  // LOCAL IP address we want to connect FROM
    };
    // This next one connects to an ircd on another server
    "Hub-west" {
        // IP address and port the server listens on
        "address"        "192.168.1.14"; // IP of remote server
        "port"          "4400";
        "password"      "asher";  // C line passwords
        "their_password" "asher";  // Set same as above
        "enabled"        "0"; // Set this to 1 to use this server..
        "max_tries"      "1";
        "bind_address"  "192.168.1.14";
    };
};

/* SERVER (Details about our existance) **********************************
 */
"server" {
    "hostname" "X3.mIRCxNet.Services";  // The servers name. (Use this in the ircd's C line)
    "description" "mIRCxNET Network Services"; // Shows up in /links.
    "network" "mIRCxNET";
    "hidden_host" "Users.mIRCxNET.Org"; // set this if you enabled Nefarious' +x mode
    /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
    * x3 does not set the host suffix for users, but must know it when making
    * things like bans, where it should not show the user's real hostname. */
    "hidden_host_type" "1"; // change this to 2 if you use Nefarious's style 2 host hiding.
    "key1" "45432"; // Set these key values to the network KEY values you use
    "key2" "76934"; // for host hiding style 2. If you are using Nefarious 1.3.0 (type 8)
    "key3" "98336"; // then these are ignored.
    "prefix" "mIRCxNET"; // If you use style 2 then this is the name that is prefixed to hosts.
    "numeric" "51"; // hint: If you get collisions on link, CHANGE THIS.
    /* Type handles some changes in Nefarious from version to version.
    * 4 - nefarious 0.4.x and other ircds
    * 5 - nefarious 1.0.x and higher (Obselete)
    * 6 - nefarious 1.1.0 and higher (Obselete)
    * 7 - nefarious 1.2.0 and higher (Obselete)
    * 8 - nefarious 1.3.0 and higher (Legacy Version)
    * 9 - nefarious 2.0.x and higher (Current Version)
    */
    "type" "8";
    "host_in_topic" "1"; //Set to 1 if your Nefarious server have the HOST_IN_TOPIC F:line set to TRUE.
    "max_users" "256"; // You can save a little memory by setting this to a lower value.
    "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
    "ping_freq" "60";
    "ping_timeout" "90";
    "max_cycles" "30"; // max uplink cycles before giving up
    // Admin information is traditionally: location, location, email
    // This shows up on a /admin x3.afternet.services command.
    "admin" (
        "mIRCxNET IRC Network",
        "www.afternet.org",
        "mircx@walla.com"
    );
    /* extended_accounts -
    * enable this for nefarious 0.4.x and higher and in ircd.conf add F:EXTENDED_ACCOUNTS:TRUE.
    * Sends 'AC R nick account' instead of 'AC nick account' and allows
    * for renames, login-on-connect,  etc.  If you use stock ircu set to 0. */
    "extended_accounts" "1";

    /* the following two settings are for ircu's HEAD_IN_SAND features, and are equivelent to
    * the F: lines in ircu's ircd.conf. both can be disabled by commenting them out. */
    //"his_servername" "*.AfterNET.org"; // hidden server name, shown in remote /whois requests
    //"his_servercomment" "AfterNET IRC Network";
};

/* SERVICES (Bot nicknames) *******************************************
 * Each section describes one service nickname and the details of that
 * bot's features
 *  You may disable a service by commenting out its "nick" config item.
 */
"services" {
    /* Nickserv is the bot you register with and auth to.
    * Afternet uses the name "Authserv" without the nickname reservation
    * features enabled. Some nets call it Nickserv and configure it to
    * reserve nicks.
    */
    "nickserv" {
        "nick" "AuthServ";  // The bots nick on IRC

        // If you want to have *@* as the default hostmask, set
        // default_hostmask. I highly reccomend this, and its required
        // for login-on-connect to work.
        "default_hostmask" "1";

        // do we warn users when someone new auths to their account?
        "warn_clone_auth" "1"; // -X3- warning: foobar has authed to your account

        // default max number of logins allowed on new accounts. Users can set it
        // to something different using authserv commands.
        "default_maxlogins" "3";
       
        // hard_maxlogins is the ammount the user cant override.
        "hard_maxlogins" "10";

        //automatically set the following modes when opers auth:
        // - if it includes o, then are auto remote-opered.
        "auto_oper" "+oxwgs";
        "auto_oper_privs" "CHAN_LIMIT SHOW_INVIS SHOW_ALL_INVIS KILL LOCAL_KILL REHASH RESTART DIE JUPE LOCAL_JUPE OPMODE WHOX SEE_CHAN PROPAGATE DISPLAY SEE_OPERS WIDE_GLINE FORCE_OPMODE REMOTEREHASH CHECK SEE_SECRET_CHAN WIDE_SHUN WIDE_ZLINE LIST_CHAN";

        // This names a file that contains easily guessed passwords.
        // It always contains "password", "<password>" and the user's
        // account name.
        // uncomment if you have a dict file.
        //"dict_file" "/usr/share/dict/words";

        // Minimum number of various types of characters permitted in
        // a password. Authserv will enforce these.
        "password_min_length" "4";
        "password_min_digits" "0";
        "password_min_upper" "0";
        "password_min_lower" "0";
       
        // What should valid account and nicks look like?
        // If valid_nick_regex is omitted, valid_account_regex is used
        // for both nicks and accounts.
        // Be very carefull changing these. This default is
        // basically limited to letters, numbers, dash and underscore.
        "valid_account_regex" "^[-_a-z0-9A-Z]{2,15}$";
        "valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";

        // Whats a valid hostname look like for fakehosts?
        "valid_fakehost_regex" "^[-_a-zA-Z0-9.]+$";

        // Force account names to lowercase? 1=yes 0=no
        //  WARNING: this will convert when reading them from the db, too.
        "force_handles_lowercase" "0";

        // "Nickserv" networks, set this to 0. "Authserv" networks,
        // set it to 1.
        "disable_nicks" "1";
            // One account may only own this many nicks.
            "nicks_per_account" "4";

            // Send a warning when someone uses a registered nick?
            "warn_nick_owned" "0";

            // What to do when someone uses the NickServ "reclaim" command?
            // This can be one of "none", "warn", "svsnick", or "kill", but
            // stock ircu does not support svsnick -- you need nefarious.
            "reclaim_action" "none";

            // What (else) to do when someone uses a registered nick?
            // This can be anything "reclaim_action" can be, but it makes
            // more sense to use the "warn_nick_owned" instead of "warn".
            "auto_reclaim_action" "none";

            // How long to wait before doing the auto_reclaim_action?
            // This is ignored if "auto_reclaim_action" is "none".
            "auto_reclaim_delay" "0";

            // Expire nicks
            "expire_nicks" "0";

            // how often should nicks be expired?
            "nick_expire_freq" "1d";

            // how long until a nick expires?
            "nick_expire_delay" "900d";

        // access control for who can change account flags
        // See /msg authserv help account flags
        "flag_levels" {
            "g" "800";    // God mode
            "lc_h" "800"; // support helper (lower case h)
            "uc_H" "800"; // net helper (upper case H)
            "S" "999";    // O3 access suspended
            "b" "1";      // Bot (Hidden from !staff etc)
            "I" "999";    // User can impersonate another account using SASL authentication
        };

        // and for who can change epithets for staff
        // epithets show up in /whois as another line about the person.
        "set_epithet_level" "800";

        // what opserv access level do you need to set somebody else's level?
        "modoper_level" "850";

        // how often should accounts be expired?
        "account_expire_freq" "1d";

        // how long until an account with access to any channel(s) expires?
        "account_expire_delay" "900d";

        // how long until an account with no access to any channels expires?
        "nochan_account_expire_delay" "365d";

        // how long must an account be inactive so it can be ounregistered without force?
        "ounregister_inactive" "1M";

        // which flags on an account require the ounregister to be used with force?
        "ounregister_flags" "ShgsfnHbu";

        // If somebody keeps guessing passwords incorrectly, do we gag them?
        "autogag_enabled" "1";
        "autogag_duration" "30m";
        "auth_policer" {
            "size" "5";
            "drain-rate" "0.05";
        };

        // How to integrate with email cookies?
        // In order to use mail, mail must be enabled and configured
        // down below in the mail section of this config file.
        "email_enabled" "0"; // Allow account verification and password reset by email.
        "email_required" "0"; // if above is 1, require verification to authenticate.
        "cookie_timeout" "2d"; // how long before we expire cookies?
        "accounts_per_email" "1"; // How many people can use the same email account.

        "email_search_level" "600"; // minimum OpServ level to search based on email address (search print email *foo*)
        "email_visible_level" "800"; // minimum OpServ level to see somebody's email address
        "titlehost_suffix" "AfterNET.Org"; // 'USET title' sets a fake hostname of name.title.titlehost on a user.
        "set_title_level" "900"; // Access to use 'uset title'.
        "set_fakehost_level" "1000"; //Access to set a freeform fakehost. (uset fakehost)

        // A list of denied words in the fakehosts
        "denied_fakehost_words" ("sex",
                                "fuck",
                                "asshole");

        // This is a hacked in feature which exports every account change to a file sync.log. Afternet uses this and
        // a bunch of custom PHP scripts to make our websites SQL user db the same as authserv, every 5 minutes.
        // You have to be a pretty handy person with the shell commands and programming to make use of this..
        "sync_log" "0";  // Log account changes to a file for syncing w/ a website?

        // Nickserv 'style' setting affects .userlist and other outputs.
        "default_style" "n"; // can be: n = normal, c = clean, or a = advanced.


        // LDAP configuration(s)
        // THIS IS EXPERIMENTAL! DO NOT USE IT IF YOU ARNT'T A DEVELOPER!!
        // LDAP stands for light directory access protocol. its what many larger orgs use for central user/password management. Its also the core technology behind windows active directory.
        // If you have an ldap server, you can configure X3 to use it instead of saving passwords locally.

        //"ldap_enable" "0";
        //"ldap_uri"  "ldaps://ldap.yournetwork.server:636";
        //"ldap_base" "ou=Users,dc=afternet,dc=org";
        //"ldap_dn_fmt" "uid=%s,ou=Users,dc=afternet,dc=org";
        //"ldap_autocreate" "1"; // automatically create accounts if they exist in ldap but not x3
        //// If you will be allowing users to register on IRC you need these:
        //"ldap_admin_dn" "cn=Admin,dc=afternet,dc=org";
        //"ldap_admin_pass" "xxxxxxxxxxx";
        //"ldap_object_classes" ( "top", "inetOrgAnonAccount" );
        ////      NOTE: inetOrgAnon is something I made up. its schema
        ////      can be found in the tools/ directory. ldap servers wont
        ////      know what that is by default.
        //// These configure what I store, and where.
        //"ldap_field_account" "uid";
        //"ldap_field_password" "userPassword";
        //"ldap_field_email" "mail";
        //"ldap_field_oslevel" "X3AccountLevel";
        ////      NOTE: X3AccountLevel is a custom LDAP attribute
        ////      that LDAP servers will not know by default. A custom
        ////      schema is required to provide it.
        //// This bit is needed if you want to put ircops into a group:
        //"ldap_oper_group_dn" "cn=Opers,ou=Groups,dc=afternet,dc=org";
        //"ldap_oper_group_level" "99";  // must be above this level to be added to oper ldap group
        //"ldap_field_group_member" "memberUid"; // what field group members are in
        //"ldap_timeout" "10"; // seconds

    };

    /*
    * OpServ is the bot opers use to do glines, look at info etc.
    * Afternet uses the nickname "O3" for this as its easier to type.
    */
    "opserv" {
        "nick" "O3";
        // should use of this service be limited to global opers?
        "privileged" "1";

        // fullname for service
        "description" "Oper Service Bot"; // (for /whois)

        // hostname for service; only used if "description" is also set
        "hostname" "X3.mIRCxNet.Services"; // (for /whois)

        // What channel should opserv send debug output to?
        //  I don't have any idea what debug info goes here. You can configure
        //  debugging logs in the log section to go to any channel.
        //  Probably safest to set to your oper channel.
        "debug_channel" "#TheOps";  // Bot will join this channel, also.
        "debug_channel_modes" "+tnOS";  // Modes get set every time X3 starts up

        // where to send general alerts (e.g. flood alerts)?
        "alert_channel" "#TheOps"; // Bot will join this channel, also.
        "alert_channel_modes" "+"; // Modes get set every time X3 starts up

        // who to tell about staff auths?
        "staff_auth_channel" "#OperServ"; // Bot will join this channel, also.
        "staff_auth_channel_modes" "+tnOs"; // modes get set every time X3 starts up

        // which channels should all services autojoin?
        "autojoin_channels" ("#TheOps", "#OperServ");

        // how many clones to allow from an untrusted host?
        // Use this carefully, users with half the # of clones will trigger this
        // when a server pings out and they reconnect before the old connection is noticed
        // to be dead by the server.. so set it at about twice the # you want to allow to
        // avoid false positives.
        "untrusted_max" "6";  // 3 connections and 3 ghosts, 7th connection causes a gline.

        // how long of a g-line should be issued if the max hosts is exceeded?
        "clone_gline_duration" "2h";  // durations are smhdmy

        // how long to g-line for ?block (or, by default, for trace gline)?
        "block_gline_duration" "12h";

        // how long to shun for ?sblock (or, by default, for trace shun)?
        "block_shun_duration" "12h";

        // When a user joins an illegal channel, O3 joins it and locks it down.
        // how long to keep an illegal channel locked down (seconds)?
        "purge_lock_delay" "60";

        // ------------------------------------------------------------------
        // Defcon Settings
        //
        // No new channel registrations                      1
        // No New Nick Registrations                          2
        // No Channel Mode changes                            4
        // Force Chan Mode                                    8
        // Use Reduced Session Limit                        16
        // KILL any new clients trying to connect            32
        // Services will ignore everyone but opers          64
        // Services will silently ignore everyone but opers 128
        // GLINE all new clients trying to connect          256
        // No new memos sent to block MemoServ attacks      512
        // SHUN all new clients trying to connect          1024
        //
        // These are the values are added together to determine each defcon setting:
        "DefCon1" "415";
        "DefCon2" "159";
        "DefCon3" "31";
        "DefCon4" "23";

        // Default defcon level, 5 is running all normally
        "DefConLevel" "5";

        // If defcon is limiting sessions then how many sessions should O3 allow?
        "DefConSessionLimit" "2";

        // Length of glines and shuns set on newly connecting clients, if defcon is glining
        // or shunning newly connecting clients
        "DefConGlineExpire" "5m";

        // Mode to set on all channels if defcon is forcing channel modes on all channels
        "DefConChanModes" "+r";

        // If not set to 0, defcon will set back to level 5 after this time
        "DefConTimeOut" "15m";

        // Set to 1 to send a notice to all users when defcon levels are changed
        "GlobalOnDefcon" "0";

        // If set to 1 along with the notice that the levels are changing an extra
        // notice will be sent
        "GlobalOnDefconMore" "0";

        // GlobalOnDefconMore notice.
        "DefconMessage" "Put your message to send your users here. Dont forget to uncomment GlobalOnDefconMore";

        // This notice will be used if GlobalOnDefcon and GlobalOnDefconMore are off
        "DefConOffMessage" "Services are now back to normal, sorry for any inconvenience";

        // Reason placed in defcon Glines and Shuns.
        "DefConGlineReason" "This network is currently not accepting connections, please try again later";

        // ------------------------------------------------------------------

        // To use geoip support in Opserv WHOIS then you will need to install
        // the c GeoIP api. Its available on http://www.maxmind.com, also on
        // apt on debian and ubuntu. The dat files can also be obtained
        // from the earlier URL. Place them in your X3 dir and away you go.
        // X3 will need a recompile once you install the c api. If there is a
        // GeoIP City Data file then the GeoIP data file will be ignored. However
        // bear in mind that the city data file is a lot larger than the plain
        // country data file so does take a bit longer to query. If you are
        // expieriencing ping timeouts you may need to tweak X3's I:line.
        "geoip_data_file" "./GeoIP.dat";
        "geoip_city_data_file" "";

        // The join-flood policer code goes off all the time when a server
        // goes down (and everyone reconnects) so i don't reccomend using it.
        // Automatically moderate join flooded channels?
        "join_flood_moderate" "0";
            // channel join flood policer params?
            "join_policer" {
                "size" "20";
                "drain-rate" "1";
            };
            // Don't moderate and warn channels unless there are more than
            // join_flood_moderate_threshold users in the channel. the
            // value 0 will disable the threshold.
            "join_flood_moderate_threshold" "50";
            // new user flood policer params
            "new_user_policer" {
                "size" "200";
                "drain-rate" "3";
            };
        // Min opserv level needed to set 'silent' glines in trace/addalert
        // (nefarious only)
        "silent_level" "700";
    };

    "chanserv" {
        "nick" "X3";

        // The umodes - add +d if you use nefarious 1.0 and you added 'b:lines'
        // to pass cmdchar through to chanserv anyway.
        "modes" "+iok";

        // The off_channel setting takes one of three numerical values:
        //  0 = off
        //  1 = use a registered channel mode, have services op themselves
        //  2 = all of the above, and a channel setting to have ChanServ not
        //      idle in the channel
        // NOTE: +z mode, needed for this to work. X3 contains modifications to
   // try and prevent desynchs. If you use this mode do not use any other service
   // that uses this mode.
        "off_channel" "no";

        // Infolines are sent when channel users join the channel. Users set them with USET INFO in X3.
        // how long should a person be unseen before resending infoline?
        "info_delay" "120";

        // Greetings can be configured by the channel manager(s) and sent to users who join the channel.
        // Many people (rightly) find this annoying, so keep them short.
        // maximum greeting length
        "max_greetlen" "120";

        // maximum users in a channel userlist
        "max_chan_users" "512";
        // maximum bans on a channel banlist
        "max_chan_bans" "512";
        // maximum length of a user's infoline
        "max_userinfo_length" "400";  // hard limit for infolines. This is also the default value.

        // If SET DynLimit is on and there are N users in the channel, ChanServ will
        // try to keep the limit at N+<adjust_threshold>. This makes the channel
        // somewhat protected from clone attacks.
        "adjust_threshold" "5";
        // .. but ChanServ will only increment or decrement the limit this often.
        "adjust_delay" "30";  // (seconds)

        // How often to look for expired bans?
        "ban_timeout_freq" "2m";

        // How often to look for channels that have expired?
        "chan_expire_freq" "1d";

        // How long is a channel unvisited (by masters or above) before it can be expired?
        "chan_expire_delay" "30d";

        // How often to look for dnrs that have expired?
        "dnr_expire_freq" "1h";

        // what !set options should we show when user calls "!set" with no arguments?
        "set_shows" ("DefaultTopic", "TopicMask", "Greeting", "UserGreeting", "Modes", "PubCmd", "InviteMe", "UserInfo", "EnfOps", "EnfModes", "EnfTopic", "TopicSnarf", "Setters", "CtcpReaction", "BanTimeout", "Protect", "Toys", "DynLimit", "NoDelete");

        // A list of !8ball responses
        "8ball" (
                "Are you out of your MIND?",
                "It won't happen, not a chance, definitely no.",
                "Outlook seems bleak.",
                "My sources say no.",
                "You bet!",
                "It is decidedly so.",
                "It's hard to be sure.",
                "Most definitely.",
                "In your dreams...",
                "If the prophets wish it...",
                "Forecast hazy, try again later.",
                "I don't know!",
                "Absolutely!",
                "Never.",
                "Yes.",
                "No.",
                "Maybe.");

        // This is a list of wheel-of-misfortune results. Remove them to disable.
        // You must make sure your ircd supports, and has enabled, the features needed
        // for these.
        "wheel" (
            "peer",
            // "partall",  // needs svspart
            "gline",
            // "shun",    // needs shun
            "nothing",
            // "randjoin", // needs svsjoin and svspart
            // "abusewhois",  // needs epitaph in /whois support
            "kickall",
            // "nickchange",  // needs svsnick
            "kill",
            "svsignore",
            "kickbanall" );

        // channel(s) that support helpers must be in to be helping
        // if this is a list, any one by itself will do
        "support_channel" ("#Operations", "#Help");

        // maximum number of channels a user may have. ( FORCE can override )
        "max_owned" "2";

        // how long between automatic topic and userlist refreshes with TopicRefresh/Resync
        "refresh_period" "10h";

        // what should !access say for various staff?
        "irc_operator_epithet" "AfterNET IRC Operator";
        "network_helper_epithet" "AfterNET Network Helper";
        "support_helper_epithet" "AfterNET Support Helper";

        // what should a newly registered channel get as its modes?
        "default_modes" "+nt";

        // minimum opserv access to set, clear or override channel nodelete setting?
        "nodelete_level" "1";

        // when does god mode time out?
        "god_timeout" "30m";

        // What should valid registered channels look like?
        // Be very carefull changing these. This default is
        // basically limited to letters, numbers, dash and underscore.
        "valid_channel_regex" "^#[-_a-z][-_a-z0-9]*$";
    };

    /* Global is a service bot that can send out network-wide messages for you. I
    * like to set ours' nick to 'AfterNET', but some people use 'Global'
    */
    "global" {
        "nick" "Global";
        // should users get community announcements by default or not?
        // community announcements are a type of global that users may
        // opt into (or out of, depending on this setting)
        "announcements_default" "on";
    };


    "spamserv" {
        // You may enable this service by removing the double slashes from the config
        // item. To disable it again add the double slashes back.
        // "nick" "SpamServ";

        // debug channel
        "debug_channel" "#operserv";
        "debug_channel_modes" "+tinms";

        // url of the network rules. if you don't have network rules, remove this key.
        "network_rules" "http://www.afternet.org/aup";

        // trigger for spamserv; remove this key to disable the trigger
        "trigger" "%";

        // ban duration of a short timedban.
        "short_ban_duration" "15m";

        // ban duration of a long timedban.
        "long_ban_duration" "1h";

        // duration of a gline. SpamServ will issue it after several violations and a kill.
        "gline_duration" "1h";

        // users may add "exception_max" exceptions to the list. IRCOps can override "exception_max".
        "exception_max" "10";

        // minimum & maximum length of an exception.
        "exception_min_len" "4";
        "exception_max_len" "12";

        // users may add "badword_max" badwords to the list. IRCOps can override badword_max".
        "badword_max" "10";

        // minimum & maximum length of an badword.
        "badword_min_len" "4";
        "badword_max_len" "12";

        // if someone advertises a channel, which doesn't exist (channel is empty, no users),
        // SpamServ doesn't punish the user.
        // enable this setting, if SpamServ has to ignore advertisements of channels, which do not exist.
        // disable this setting, if SpamServ has to punish the users whenever they advertise.
        "adv_chan_must_exist" "1";

        // remove all mirc codes from messages before checking for advertisements.
        // if this setting is disabled and someone spams a url which
        // contains a bold char, SpamServ doesn't punish him.
        "strip_mirc_codes" "1";

        // enable this, if SpamServ has to "follow" ChanServ, when a channel moves or merges.
        // disable it, if it shouldn't be possible to move or merge SpamServ with /msg chanserv move|merge.
        "allow_move_merge" "1";
    };
};

/* MODULES (optional components) *************************************************
 * These must be explicitly compiled in (see ./configure --help)
 * When enabled, they are configured here..
 */
"modules" {
    /* Helpserv is a help-queue tracker module for your #support channels, if
    * they are busy. It issues users tickets, and tracks the next available helper.
    */
    "helpserv" {
        // The description/fullname field
        "description" "Help Queue Manager"; // (for whois)

        // HelpServ bots log all of their requests to this file, with
        // details on when they were opened, closed, their contents,
        // helper, etc. The file is written in saxdb format for easy
        // parsing by external programs. Please note that you cannot
        // use ?set to change this value while x3 is running.
        "reqlogfile" "helpservreq.log";

        // How long should a helpserv be inactive (no requests assigned)
        // before it can be unregistered by the expire command?
        "expiration" "60d";

        // If a user prefix's this before their helpserv commands then instead
        // of a request being opened, they will be able to use helpserv commands.
        "user_escape" "@";
    };
    /* SockCheck reads sockcheck.conf and can do configurable scans
    * to probe for open relays in an attempt to stop drones from using
    * the network. DO NOT enable this unless you have permission from
    * your ISP.. the probes will show up as attacks on everyones firewalls
    * and you will get a lot of complaints.
    */
    "sockcheck" {
        // disabling this hopefully
        "max_sockets" "0";  // 64 is a good # of concurrent clients to be checked
        "max_read" "1024"; // don't read more than 1024 bytes from any client
        "gline_duration" "1d"; // issue G-lines lasting one hour
        "max_cache_age" "60"; // only cache results for 60 seconds
        "bind_address" "192.168.0.10"; // do proxy tests from this address
    };
    /* Snoop sends connect, quit, join, and part messages for every user
    * on the network, and helps in finding drones. Put it somewhere secure
    * so your users privacy is honored.
    */
    "snoop" {
        // Where to send snoop messages?
        "channel" "#MrSnoopy";
        "channel_modes" "+sntim";
        // Which bot?
        "bot" "O3";
        // Show new users and joins from net joins?  (off by default)
        "show_bursts" "0";
    };
    /* Track works just like Snoop except it only sends events for users
    * who have been specified
    * DANGER: track is currently very broken, and will crash x3 and possibly corrupt your db file.
    *  Unless your a developer, dont even compile it in!
    */
    "track" {
        // What to track by default?
        "snomask" "nick,join,part,kick,new,del,auth,chanmode,umode";
        // Where to send snoop messages?
        "channel" "#MrPeanuts";
        "channel_modes" "+sntOm";
        // Which bot?
        "bot" "O3";
        // Show new users and joins from net joins?  (off by default)
        "show_bursts" "0";
    };
    /* Memoserv lets users send messages to other users accounts.
    */
    "memoserv" {
        "bot" "MemoServ";
   "modes" "+k";
        "message_expiry" "30d"; // age when messages are deleted; set
                                // to 0 to disable message expiration
        "limit" "30"; // Max amount of messages a person can get.
    };
    "qserver" {
        "bind_address" "127.0.0.1";
        "port" "7702";
        "password" "hello";
    };
    "blacklist" {
        // File containing blacklisted client addresses.
        // "file" "blacklist.txt";
        // Each line in the file should start with an IP or hostname.
        // If there is whitespace and a message after that, the
        // message will override this one:
        "file_reason" "client is blacklisted";
        // How long should a blacklist G-line last?
        "gline_duration" "1h";
        // If you want to use DNS blacklists, add them here:
        "dnsbl" {
            // This DNSBL zone does not exist - you'll have to pick your own.
            "dnsbl.example.org" {
                "description" "Example DNSBL entry";
                "reason" "busted by a dns blacklist";
                "duration" "1h";
                // You can stick the client's IP in the G-line message.
                "reason_2" "Example DNSBL reported %ip%'s address as 127.0.0.2";
                // .. or the contents of a DNS TXT.
                "reason_3" "%txt%";
            };
        };
    };
    "sar" {
        // You generally will not want to override these defaults.
        // "resolv_conf" "/etc/resolv.conf";
        // "services" "/etc/services";
        // "bind_address" "0.0.0.0";
        // "bind_port" "0";
        // The defaults for these are derived from the system config files (above).
        // "domain" "example.org";
        // "timeout" "3"; // base timeout for a DNS reply
        // "retries" "3"; // number of times to retry on different servers or longer timeouts
        // "ndots" "1";  // number of dots needed in a hostname to bypass search path
        // "edns0" "0";  // if set, enable EDNS0 extended message sizes
        // "search" ("example.org", "example.net");
        // "nameservers" ("127.0.0.1");
    };
    /* WebTV allows webtv clients to use common IRC commands.
    */
    "webtv" {
        "bot" "IRC";
   "modes" "+k";

   // Should clients need to be marked to use this service?
   "required_mark" "1";
   // which marks are valid webtv marks?
   "valid_marks" ("webtv", "msntv", "msntv2");
    };
};

"policers" {
    "commands-luser" {
        "size" "5";
        "drain-rate" "0.5";
    };
};

"rlimits" {
    "data" "50M";
    "stack" "6M";
    "vmem" "100M";
};

/* MAIL (if and how X3 sends mail ) *********************************
 * Mainly Authserv/Nickserv send mail, See the Nickserv
 * section for additional mail settings also.
 */
"mail" {
    "enable" "0";
    "mailer" "/usr/sbin/sendmail";
    // OR Afternet uses a custom script to keep the services IP hidden:
    //    "mailer" "/home/x3user/x3/sendmail.sh";
    "from_address" "supportrobot@afternet.org";
    "extra_headers" ("AfterNET-Services: x3");
    "body_prefix_first" ("Welcome to AfterNET, looks like this is your first email from us.");
    "body_prefix" ("AfterNET Support - User and Channel registration system");
    "body_suffix_first" ("", "AfterNET IRC Network", "http://www.afternet.org");
    "body_suffix" ("", "AfterNET IRC Network", "http://www.afternet.org", "support@afternet.org","irc://irc.afternet.org/afternet");
    // If you are using the smtp mail back-end, you may need to set these:
    "smtp_server" "localhost";
    "smtp_service" "smtp";
    // "smtp_myname" "localhost.domain";
};

/* DBS (Databases) *************************************************
 * let you configure what databases go in what files.
 *
 * This default sets up everything in one big x3.db file.
 *
 * If you leave this section out, each database will be in its own file,
 * and they will be written out every half hour.
 */
"dbs" {
    // This just illustrates how you can jam every database into one huge ("mondo") file.
    "ChanServ" { "mondo_section" "ChanServ"; };
    "gline" { "mondo_section" "gline"; };
    "shun" { "mondo_section" "shun"; };
    "Global" { "mondo_section" "Global"; };
    "HelpServ" { "mondo_section" "HelpServ"; };
    "modcmd" { "mondo_section" "modcmd"; };
    "NickServ" { "mondo_section" "NickServ"; };
    "OpServ" { "mondo_section" "OpServ"; };
    "sendmail" { "mondo_section" "sendmail"; };
    "SpamServ" { "mondo_section" "SpamServ"; };

    // These are the options if you want a database to be in its own file.
    "mondo" {
        // Where to put it?
        "filename" "x3.db";
        // How often should it be saved?
        // (You can disable automatic saves by setting this to 0.)
        "frequency" "30m";
    };
};

/* LOGS (If and how X3 logs data ) ***********************************
 * LOGS sets up where X3 logs various kinds of info to.
 */
"logs" {
    // Two kinds of items exist in this section.

    // One is a facility configuration subsection.  These have the
    // name of a log facility (one of "ChanServ", "Global",
    // "HelpServ", "NickServ", "OpServ", "ProxyCheck", or "x3") and
    // the value is a subsection. The "x3" log facility is a
    // catch-all/fall-back facility.
    "x3" {
        // The "max_age" option says how long to keep log audit entries.
        "max_age" "10h";
        // The "max_count" option says how many log audit entries to keep.
        "max_count" "1024";
        // Audit (command tracking) entries are discarded if they exceed
        // either limit: for example, if entry 500 is 10 minutes old, it
        // will be discarded next time any audit command is logged.
    };

    // The other kind of item is a target list.  The name of each is a
    // description of facility-and-severity combinations, and the value
    // is a string (or list of strings) that describe where matching
    // events should be logged.  As a special case, the facility * will
    // specify how to log events regardless of their true facility, and
    // the severity * will match all severities for a facility.
    // Log targets use a psuedo-URI syntax:  one of "file:filename",
    // "std:[out|err|n]" where n is a valid file descriptor, or
    // "irc:#channel" (nicknames or server masks can be used instead
    // of channel names, but should be used with care).
    // The severity is one of "replay", "debug", "command", "info",
    // "override", "staff", "warning", "error", or "fatal".
    // WARNING: If any severity except "replay" for a facility is left
    // unspecified, it will use the default target (for example,
    // "file:chanserv.log").  For "replay" severity, you must ALWAYS
    // list a target to log it -- this is because it is very rarely
    // useful.
    "*.*" ("std:out", "file:everything.log"); // does NOT suppress any defaults
    "*.override,error,fatal" "irc:#TheOps"; // report all uses of staff commands
    "*.staff" "irc:#MrSnoopy"; // report all uses of staff commands
    "ChanServ.*" "file:chanserv.log"; // duplicates the default behavior
    "ProxyCheck.*" (); // stop it from logging anything
};
new config Nefarious and inspircd version 2.0.17
download from here
http://f2h.nana10.co.il/x955qk4e2vlj
By mIRCx IRC Network
Enjoy


Last edited by Chief on Sat Jun 25, 2016 5:31 pm; edited 2 times in total
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

Re: mIRCx IRC Network Config

Post  Admin on Thu Jul 24, 2014 1:49 am

ircd.conf for Nefarious2.0.0
Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};

# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub;
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 service = yes;
 xtraop = yes;
 local_kill = yes;
 deop_lchan = yes;
 whois_notice = yes;
 admin = yes;
 hide_oper = yes;
 freeform = yes;
 name = "darksis";
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.16";
 hidden = no;
 port = 6667;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.org";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
#  "IPCHECK_CLONE_LIMIT" = "4";
#  "IPCHECK_CLONE_PERIOD" = "40";
#  "IPCHECK_CLONE_DELAY" = "600";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
#  "OPERMOTD" = "FALSE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
#  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONANTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Admin
Admin

מספר הודעות : 288
Join date : 2009-09-12
Age : 37
מיקום : mIRCX IRC Network

View user profile http://mircx.forumotion.net

Back to top Go down

Re: mIRCx IRC Network Config

Post  Chief on Fri Oct 31, 2014 5:22 pm

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};

# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNET.Services";
 host = "192.168.1.11";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub;
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 service = yes;
 xtraop = yes;
 local_kill = yes;
 deop_lchan = yes;
 whois_notice = yes;
 admin = yes;
 hide_oper = yes;
 freeform = yes;
 name = "darksis";
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6669; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.11";
 hidden = no;
 port = 6669;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.org";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
#  "IPCHECK_CLONE_LIMIT" = "4";
#  "IPCHECK_CLONE_PERIOD" = "40";
#  "IPCHECK_CLONE_DELAY" = "600";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
#  "OPERMOTD" = "FALSE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
#  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONANTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

Re: mIRCx IRC Network Config

Post  Chief on Fri Oct 31, 2014 5:24 pm

Code:

/* *****************************************************************
 * X3 Services Example Configuration file.
 *
 * Copy it to your x3 runtime dir, and edit to taste.
 *
 * This file allows two kinds of comments. Whitespaces between
 * tokens are ignored. All strings (even if they're just numbers)
 * MUST be enclosed in double quotes. There must be a semicolon
 * after every * key/value pair.
 */

/* UPLINKS (servers we connect to) *********************************
 * Each subsection describes one server. X3 will try to connect to
 * each in turn maxtries times, and then will quit.
 */
"uplinks" {
    // This first entry connects to an ircd on teh same server an X3..
    "Hub" { // This can be any string, just used here for your convenience
        "address" "192.168.1.11"; // The IP address of the server
        "port" "4400"; // What TCP port to connect to
        "password" "asher"; // Both of these passwords must match
        "their_password" "asher"; // the one in the ircd C line for X3.
        "enabled" "1"; // Set to 0 to disable connecting to this server
        "max_tries" "10"; // How many times to attemt reconnect before quitting
        "bind_address" "192.168.1.11"; // LOCAL IP address we want to connect FROM
    };
    // This next one connects to an ircd on another server
    "Hub-west" {
        // IP address and port the server listens on
        "address" "192.168.234.123"; // IP of remote server
        "port" "8888";
        "password" "ekrpat"; // C line passwords
        "their_password" "ekrpat"; // Set same as above
        "enabled" "0"; // Set this to 1 to use this server..
        "max_tries" "1";
        "bind_address" "192.168.1.10";
    };
};

/* SERVER (Details about our existance) **********************************
 */
"server" {
    "hostname" "X3.mIRCxNET.Services"; // The servers name. (Use this in the ircd's C line)
    "description" "mIRCxNET Network Services"; // Shows up in /links.
    "network" "mIRCxNET";
    "hidden_host" "Users.mIRCxNET.Org"; // set this if you enabled Nefarious' +x mode
    /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
    * x3 does not set the host suffix for users, but must know it when making
    * things like bans, where it should not show the user's real hostname. */
    "hidden_host_type" "1"; // change this to 2 if you use Nefarious's style 2 host hiding.
    "key1" "45432"; // Set these key values to the network KEY values you use
    "key2" "76934"; // for host hiding style 2. If you are using Nefarious 1.3.0 (type
  "key3" "98336"; // then these are ignored.
    "prefix" "mIRCxNET"; // If you use style 2 then this is the name that is prefixed to hosts.
    "numeric" "51"; // hint: If you get collisions on link, CHANGE THIS.
    /* Type handles some changes in Nefarious from version to version.
    * 4 - nefarious 0.4.x and other ircds
    * 5 - nefarious 1.0.x and higher (Obselete)
    * 6 - nefarious 1.1.0 and higher (Obselete)
    * 7 - nefarious 1.2.0 and higher (Obselete)
    * 8 - nefarious 1.3.0 and higher (Legacy Version)
    * 9 - nefarious 2.0.x and higher (Current Version)
    */
    "type" "8";
    "host_in_topic" "1"; //Set to 1 if your Nefarious server have the HOST_IN_TOPIC F:line set to TRUE.
    "max_users" "256"; // You can save a little memory by setting this to a lower value.
    "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
    "ping_freq" "60";
    "ping_timeout" "90";
    "max_cycles" "30"; // max uplink cycles before giving up
    // Admin information is traditionally: location, location, email
    // This shows up on a /admin x3.afternet.services command.
    "admin" (
        "mIRCxNET IRC Network",
        "www.mIRCxnet.org",
        "Support Staff <support@mIRCxnet.org>"
    );
    /* extended_accounts -
    * enable this for nefarious 0.4.x and higher and in ircd.conf add F:EXTENDED_ACCOUNTS:TRUE.
    * Sends 'AC R nick account' instead of 'AC nick account' and allows
    * for renames, login-on-connect, etc. If you use stock ircu set to 0. */
    "extended_accounts" "1";

    /* the following two settings are for ircu's HEAD_IN_SAND features, and are equivelent to
    * the F: lines in ircu's ircd.conf. both can be disabled by commenting them out. */
    //"his_servername" "*.AfterNET.org"; // hidden server name, shown in remote /whois requests
    //"his_servercomment" "AfterNET IRC Network";
};

/* SERVICES (Bot nicknames) *******************************************
 * Each section describes one service nickname and the details of that
 * bot's features
 * You may disable a service by commenting out its "nick" config item.
 */
"services" {
    /* Nickserv is the bot you register with and auth to.
    * Afternet uses the name "Authserv" without the nickname reservation
    * features enabled. Some nets call it Nickserv and configure it to
    * reserve nicks.
    */
    "nickserv" {
        "nick" "AuthServ"; // The bots nick on IRC

        // If you want to have *@* as the default hostmask, set
        // default_hostmask. I highly reccomend this, and its required
        // for login-on-connect to work.
        "default_hostmask" "1";

        // do we warn users when someone new auths to their account?
        "warn_clone_auth" "1"; // -X3- warning: foobar has authed to your account

        // default max number of logins allowed on new accounts. Users can set it
        // to something different using authserv commands.
        "default_maxlogins" "3";
       
        // hard_maxlogins is the ammount the user cant override.
        "hard_maxlogins" "10";

        //automatically set the following modes when opers auth:
        // - if it includes o, then are auto remote-opered.
        "auto_oper" "+oxwgs";
        "auto_oper_privs" "CHAN_LIMIT SHOW_INVIS SHOW_ALL_INVIS KILL LOCAL_KILL REHASH RESTART DIE JUPE LOCAL_JUPE OPMODE WHOX SEE_CHAN PROPAGATE DISPLAY SEE_OPERS WIDE_GLINE FORCE_OPMODE REMOTEREHASH CHECK SEE_SECRET_CHAN WIDE_SHUN WIDE_ZLINE LIST_CHAN";

        // This names a file that contains easily guessed passwords.
        // It always contains "password", "<password>" and the user's
        // account name.
        // uncomment if you have a dict file.
        //"dict_file" "/usr/share/dict/words";

        // Minimum number of various types of characters permitted in
        // a password. Authserv will enforce these.
        "password_min_length" "4";
        "password_min_digits" "0";
        "password_min_upper" "0";
        "password_min_lower" "0";
       
        // What should valid account and nicks look like?
        // If valid_nick_regex is omitted, valid_account_regex is used
        // for both nicks and accounts.
        // Be very carefull changing these. This default is
        // basically limited to letters, numbers, dash and underscore.
        "valid_account_regex" "^[-_a-z0-9A-Z]{2,15}$";
        "valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";

        // Whats a valid hostname look like for fakehosts?
        "valid_fakehost_regex" "^[-_a-zA-Z0-9.]+$";

        // Force account names to lowercase? 1=yes 0=no
        // WARNING: this will convert when reading them from the db, too.
        "force_handles_lowercase" "0";

        // "Nickserv" networks, set this to 0. "Authserv" networks,
        // set it to 1.
        "disable_nicks" "1";
            // One account may only own this many nicks.
            "nicks_per_account" "4";

            // Send a warning when someone uses a registered nick?
            "warn_nick_owned" "0";

            // What to do when someone uses the NickServ "reclaim" command?
            // This can be one of "none", "warn", "svsnick", or "kill", but
            // stock ircu does not support svsnick -- you need nefarious.
            "reclaim_action" "none";

            // What (else) to do when someone uses a registered nick?
            // This can be anything "reclaim_action" can be, but it makes
            // more sense to use the "warn_nick_owned" instead of "warn".
            "auto_reclaim_action" "none";

            // How long to wait before doing the auto_reclaim_action?
            // This is ignored if "auto_reclaim_action" is "none".
            "auto_reclaim_delay" "0";

            // Expire nicks
            "expire_nicks" "0";

            // how often should nicks be expired?
            "nick_expire_freq" "1d";

            // how long until a nick expires?
            "nick_expire_delay" "900d";

        // access control for who can change account flags
        // See /msg authserv help account flags
        "flag_levels" {
            "g" "800"; // God mode
            "lc_h" "800"; // support helper (lower case h)
            "uc_H" "800"; // net helper (upper case H)
            "S" "999"; // O3 access suspended
            "b" "1"; // Bot (Hidden from !staff etc)
            "I" "999"; // User can impersonate another account using SASL authentication
        };

        // and for who can change epithets for staff
        // epithets show up in /whois as another line about the person.
        "set_epithet_level" "800";

        // what opserv access level do you need to set somebody else's level?
        "modoper_level" "850";

        // how often should accounts be expired?
        "account_expire_freq" "1d";

        // how long until an account with access to any channel(s) expires?
        "account_expire_delay" "900d";

        // how long until an account with no access to any channels expires?
        "nochan_account_expire_delay" "365d";

        // how long must an account be inactive so it can be ounregistered without force?
        "ounregister_inactive" "1M";

        // which flags on an account require the ounregister to be used with force?
        "ounregister_flags" "ShgsfnHbu";

        // If somebody keeps guessing passwords incorrectly, do we gag them?
        "autogag_enabled" "1";
        "autogag_duration" "30m";
        "auth_policer" {
            "size" "5";
            "drain-rate" "0.05";
        };

        // How to integrate with email cookies?
        // In order to use mail, mail must be enabled and configured
        // down below in the mail section of this config file.
        "email_disable" "1"; // Allow account verification and password reset by email.
        "email_required" "1"; // if above is 1, require verification to authenticate.
        "cookie_timeout" "2d"; // how long before we expire cookies?
        "accounts_per_email" "1"; // How many people can use the same email account.

        "email_search_level" "600"; // minimum OpServ level to search based on email address (search print email *foo*)
        "email_visible_level" "800"; // minimum OpServ level to see somebody's email address
        "titlehost_suffix" "AfterNET.Org"; // 'USET title' sets a fake hostname of name.title.titlehost on a user.
        "set_title_level" "900"; // Access to use 'uset title'.
        "set_fakehost_level" "1000"; //Access to set a freeform fakehost. (uset fakehost)

        // A list of denied words in the fakehosts
        "denied_fakehost_words" ("sex",
                                "fuck",
                                "asshole");

        // This is a hacked in feature which exports every account change to a file sync.log. Afternet uses this and
        // a bunch of custom PHP scripts to make our websites SQL user db the same as authserv, every 5 minutes.
        // You have to be a pretty handy person with the shell commands and programming to make use of this..
        "sync_log" "0"; // Log account changes to a file for syncing w/ a website?

        // Nickserv 'style' setting affects .userlist and other outputs.
        "default_style" "n"; // can be: n = normal, c = clean, or a = advanced.


        // LDAP configuration(s)
        // THIS IS EXPERIMENTAL! DO NOT USE IT IF YOU ARNT'T A DEVELOPER!!
        // LDAP stands for light directory access protocol. its what many larger orgs use for central user/password management. Its also the core technology behind windows active directory.
        // If you have an ldap server, you can configure X3 to use it instead of saving passwords locally.

        //"ldap_enable" "0";
        //"ldap_uri" "ldaps://ldap.yournetwork.server:636";
        //"ldap_base" "ou=Users,dc=afternet,dc=org";
        //"ldap_dn_fmt" "uid=%s,ou=Users,dc=afternet,dc=org";
        //"ldap_autocreate" "1"; // automatically create accounts if they exist in ldap but not x3
        //// If you will be allowing users to register on IRC you need these:
        //"ldap_admin_dn" "cn=Admin,dc=afternet,dc=org";
        //"ldap_admin_pass" "xxxxxxxxxxx";
        //"ldap_object_classes" ( "top", "inetOrgAnonAccount" );
        //// NOTE: inetOrgAnon is something I made up. its schema
        //// can be found in the tools/ directory. ldap servers wont
        //// know what that is by default.
        //// These configure what I store, and where.
        //"ldap_field_account" "uid";
        //"ldap_field_password" "userPassword";
        //"ldap_field_email" "mail";
        //"ldap_field_oslevel" "X3AccountLevel";
        //// NOTE: X3AccountLevel is a custom LDAP attribute
        //// that LDAP servers will not know by default. A custom
        //// schema is required to provide it.
        //// This bit is needed if you want to put ircops into a group:
        //"ldap_oper_group_dn" "cn=Opers,ou=Groups,dc=afternet,dc=org";
        //"ldap_oper_group_level" "99"; // must be above this level to be added to oper ldap group
        //"ldap_field_group_member" "memberUid"; // what field group members are in
        //"ldap_timeout" "10"; // seconds

    };

    /*
    * OpServ is the bot opers use to do glines, look at info etc.
    * Afternet uses the nickname "O3" for this as its easier to type.
    */
    "opserv" {
        "nick" "O3";
        // should use of this service be limited to global opers?
        "privileged" "1";

        // fullname for service
        "description" "Oper Service Bot"; // (for /whois)

        // hostname for service; only used if "description" is also set
        "hostname" "X3.mIRCxNET.Services"; // (for /whois)

        // What channel should opserv send debug output to?
        // I don't have any idea what debug info goes here. You can configure
        // debugging logs in the log section to go to any channel.
        // Probably safest to set to your oper channel.
        "debug_channel" "#TheOps"; // Bot will join this channel, also.
        "debug_channel_modes" "+tnOS"; // Modes get set every time X3 starts up

        // where to send general alerts (e.g. flood alerts)?
        "alert_channel" "#TheOps"; // Bot will join this channel, also.
        "alert_channel_modes" "+"; // Modes get set every time X3 starts up

        // who to tell about staff auths?
        "staff_auth_channel" "#OperServ"; // Bot will join this channel, also.
        "staff_auth_channel_modes" "+tnOs"; // modes get set every time X3 starts up

        // which channels should all services autojoin?
        "autojoin_channels" ("#TheOps", "#OperServ");

        // how many clones to allow from an untrusted host?
        // Use this carefully, users with half the # of clones will trigger this
        // when a server pings out and they reconnect before the old connection is noticed
        // to be dead by the server.. so set it at about twice the # you want to allow to
        // avoid false positives.
        "untrusted_max" "6"; // 3 connections and 3 ghosts, 7th connection causes a gline.

        // how long of a g-line should be issued if the max hosts is exceeded?
        "clone_gline_duration" "2h"; // durations are smhdmy

        // how long to g-line for ?block (or, by default, for trace gline)?
        "block_gline_duration" "12h";

        // how long to shun for ?sblock (or, by default, for trace shun)?
        "block_shun_duration" "12h";

        // When a user joins an illegal channel, O3 joins it and locks it down.
        // how long to keep an illegal channel locked down (seconds)?
        "purge_lock_delay" "60";

        // ------------------------------------------------------------------
        // Defcon Settings
        //
        // No new channel registrations 1
        // No New Nick Registrations 2
        // No Channel Mode changes 4
        // Force Chan Mode 8
        // Use Reduced Session Limit 16
        // KILL any new clients trying to connect 32
        // Services will ignore everyone but opers 64
        // Services will silently ignore everyone but opers 128
        // GLINE all new clients trying to connect 256
        // No new memos sent to block MemoServ attacks 512
        // SHUN all new clients trying to connect 1024
        //
        // These are the values are added together to determine each defcon setting:
        "DefCon1" "415";
        "DefCon2" "159";
        "DefCon3" "31";
        "DefCon4" "23";

        // Default defcon level, 5 is running all normally
        "DefConLevel" "5";

        // If defcon is limiting sessions then how many sessions should O3 allow?
        "DefConSessionLimit" "2";

        // Length of glines and shuns set on newly connecting clients, if defcon is glining
        // or shunning newly connecting clients
        "DefConGlineExpire" "5m";

        // Mode to set on all channels if defcon is forcing channel modes on all channels
        "DefConChanModes" "+r";

        // If not set to 0, defcon will set back to level 5 after this time
        "DefConTimeOut" "15m";

        // Set to 1 to send a notice to all users when defcon levels are changed
        "GlobalOnDefcon" "0";

        // If set to 1 along with the notice that the levels are changing an extra
        // notice will be sent
        "GlobalOnDefconMore" "0";

        // GlobalOnDefconMore notice.
        "DefconMessage" "Put your message to send your users here. Dont forget to uncomment GlobalOnDefconMore";

        // This notice will be used if GlobalOnDefcon and GlobalOnDefconMore are off
        "DefConOffMessage" "Services are now back to normal, sorry for any inconvenience";

        // Reason placed in defcon Glines and Shuns.
        "DefConGlineReason" "This network is currently not accepting connections, please try again later";

        // ------------------------------------------------------------------

        // To use geoip support in Opserv WHOIS then you will need to install
        // the c GeoIP api. Its available on http://www.maxmind.com, also on
        // apt on debian and ubuntu. The dat files can also be obtained
        // from the earlier URL. Place them in your X3 dir and away you go.
        // X3 will need a recompile once you install the c api. If there is a
        // GeoIP City Data file then the GeoIP data file will be ignored. However
        // bear in mind that the city data file is a lot larger than the plain
        // country data file so does take a bit longer to query. If you are
        // expieriencing ping timeouts you may need to tweak X3's I:line.
        "geoip_data_file" "./GeoIP.dat";
        "geoip_city_data_file" "";

        // The join-flood policer code goes off all the time when a server
        // goes down (and everyone reconnects) so i don't reccomend using it.
        // Automatically moderate join flooded channels?
        "join_flood_moderate" "0";
            // channel join flood policer params?
            "join_policer" {
                "size" "20";
                "drain-rate" "1";
            };
            // Don't moderate and warn channels unless there are more than
            // join_flood_moderate_threshold users in the channel. the
            // value 0 will disable the threshold.
            "join_flood_moderate_threshold" "50";
            // new user flood policer params
            "new_user_policer" {
                "size" "200";
                "drain-rate" "3";
            };
        // Min opserv level needed to set 'silent' glines in trace/addalert
        // (nefarious only)
        "silent_level" "700";
    };

    "chanserv" {
        "nick" "X3";

        // The umodes - add +d if you use nefarious 1.0 and you added 'b:lines'
        // to pass cmdchar through to chanserv anyway.
        "modes" "+iok";

        // The off_channel setting takes one of three numerical values:
        // 0 = off
        // 1 = use a registered channel mode, have services op themselves
        // 2 = all of the above, and a channel setting to have ChanServ not
        // idle in the channel
        // NOTE: +z mode, needed for this to work. X3 contains modifications to
// try and prevent desynchs. If you use this mode do not use any other service
// that uses this mode.
        "off_channel" "no";

        // Infolines are sent when channel users join the channel. Users set them with USET INFO in X3.
        // how long should a person be unseen before resending infoline?
        "info_delay" "120";

        // Greetings can be configured by the channel manager(s) and sent to users who join the channel.
        // Many people (rightly) find this annoying, so keep them short.
        // maximum greeting length
        "max_greetlen" "120";

        // maximum users in a channel userlist
        "max_chan_users" "512";
        // maximum bans on a channel banlist
        "max_chan_bans" "512";
        // maximum length of a user's infoline
        "max_userinfo_length" "400"; // hard limit for infolines. This is also the default value.

        // If SET DynLimit is on and there are N users in the channel, ChanServ will
        // try to keep the limit at N+<adjust_threshold>. This makes the channel
        // somewhat protected from clone attacks.
        "adjust_threshold" "5";
        // .. but ChanServ will only increment or decrement the limit this often.
        "adjust_delay" "30"; // (seconds)

        // How often to look for expired bans?
        "ban_timeout_freq" "2m";

        // How often to look for channels that have expired?
        "chan_expire_freq" "1d";

        // How long is a channel unvisited (by masters or above) before it can be expired?
        "chan_expire_delay" "30d";

        // How often to look for dnrs that have expired?
        "dnr_expire_freq" "1h";

        // what !set options should we show when user calls "!set" with no arguments?
        "set_shows" ("DefaultTopic", "TopicMask", "Greeting", "UserGreeting", "Modes", "PubCmd", "InviteMe", "UserInfo", "EnfOps", "EnfModes", "EnfTopic", "TopicSnarf", "Setters", "CtcpReaction", "BanTimeout", "Protect", "Toys", "DynLimit", "NoDelete");

        // A list of !8ball responses
        "8ball" (
                "Are you out of your MIND?",
                "It won't happen, not a chance, definitely no.",
                "Outlook seems bleak.",
                "My sources say no.",
                "You bet!",
                "It is decidedly so.",
                "It's hard to be sure.",
                "Most definitely.",
                "In your dreams...",
                "If the prophets wish it...",
                "Forecast hazy, try again later.",
                "I don't know!",
                "Absolutely!",
                "Never.",
                "Yes.",
                "No.",
                "Maybe.");

        // This is a list of wheel-of-misfortune results. Remove them to disable.
        // You must make sure your ircd supports, and has enabled, the features needed
        // for these.
        "wheel" (
            "peer",
            // "partall", // needs svspart
            "gline",
            // "shun", // needs shun
            "nothing",
            // "randjoin", // needs svsjoin and svspart
            // "abusewhois", // needs epitaph in /whois support
            "kickall",
            // "nickchange", // needs svsnick
            "kill",
            "svsignore",
            "kickbanall" );

        // channel(s) that support helpers must be in to be helping
        // if this is a list, any one by itself will do
        "support_channel" ("#Operations", "#Help");

        // maximum number of channels a user may have. ( FORCE can override )
        "max_owned" "2";

        // how long between automatic topic and userlist refreshes with TopicRefresh/Resync
        "refresh_period" "10h";

        // what should !access say for various staff?
        "irc_operator_epithet" "mIRCxNET IRC Operator";
        "network_helper_epithet" "mIRCxNET Network Helper";
        "support_helper_epithet" "mIRCxNET Support Helper";

        // what should a newly registered channel get as its modes?
        "default_modes" "+nt";

        // minimum opserv access to set, clear or override channel nodelete setting?
        "nodelete_level" "1";

        // when does god mode time out?
        "god_timeout" "30m";

        // What should valid registered channels look like?
        // Be very carefull changing these. This default is
        // basically limited to letters, numbers, dash and underscore.
        "valid_channel_regex" "^#[-_a-z][-_a-z0-9]*$";
    };

    /* Global is a service bot that can send out network-wide messages for you. I
    * like to set ours' nick to 'AfterNET', but some people use 'Global'
    */
    "global" {
        "nick" "Global";
        // should users get community announcements by default or not?
        // community announcements are a type of global that users may
        // opt into (or out of, depending on this setting)
        "announcements_default" "on";
    };


    "spamserv" {
        // You may enable this service by removing the double slashes from the config
        // item. To disable it again add the double slashes back.
        "nick" "SpamServ";

        // debug channel
        "debug_channel" "#operserv";
        "debug_channel_modes" "+tinms";

        // url of the network rules. if you don't have network rules, remove this key.
        "network_rules" "http://www.mIRCxnet.org/aup";

        // trigger for spamserv; remove this key to disable the trigger
        "trigger" "%";

        // ban duration of a short timedban.
        "short_ban_duration" "15m";

        // ban duration of a long timedban.
        "long_ban_duration" "1h";

        // duration of a gline. SpamServ will issue it after several violations and a kill.
        "gline_duration" "1h";

        // users may add "exception_max" exceptions to the list. IRCOps can override "exception_max".
        "exception_max" "10";

        // minimum & maximum length of an exception.
        "exception_min_len" "4";
        "exception_max_len" "12";

        // users may add "badword_max" badwords to the list. IRCOps can override badword_max".
        "badword_max" "10";

        // minimum & maximum length of an badword.
        "badword_min_len" "4";
        "badword_max_len" "12";

        // if someone advertises a channel, which doesn't exist (channel is empty, no users),
        // SpamServ doesn't punish the user.
        // enable this setting, if SpamServ has to ignore advertisements of channels, which do not exist.
        // disable this setting, if SpamServ has to punish the users whenever they advertise.
        "adv_chan_must_exist" "1";

        // remove all mirc codes from messages before checking for advertisements.
        // if this setting is disabled and someone spams a url which
        // contains a bold char, SpamServ doesn't punish him.
        "strip_mirc_codes" "1";

        // enable this, if SpamServ has to "follow" ChanServ, when a channel moves or merges.
        // disable it, if it shouldn't be possible to move or merge SpamServ with /msg chanserv move|merge.
        "allow_move_merge" "1";
    };
};

/* MODULES (optional components) *************************************************
 * These must be explicitly compiled in (see ./configure --help)
 * When enabled, they are configured here..
 */
"modules" {
    /* Helpserv is a help-queue tracker module for your #support channels, if
    * they are busy. It issues users tickets, and tracks the next available helper.
    */
    "helpserv" {
        // The description/fullname field
        "description" "Help Queue Manager"; // (for whois)

        // HelpServ bots log all of their requests to this file, with
        // details on when they were opened, closed, their contents,
        // helper, etc. The file is written in saxdb format for easy
        // parsing by external programs. Please note that you cannot
        // use ?set to change this value while x3 is running.
        "reqlogfile" "helpservreq.log";

        // How long should a helpserv be inactive (no requests assigned)
        // before it can be unregistered by the expire command?
        "expiration" "60d";

        // If a user prefix's this before their helpserv commands then instead
        // of a request being opened, they will be able to use helpserv commands.
        "user_escape" "@";
    };
    /* SockCheck reads sockcheck.conf and can do configurable scans
    * to probe for open relays in an attempt to stop drones from using
    * the network. DO NOT enable this unless you have permission from
    * your ISP.. the probes will show up as attacks on everyones firewalls
    * and you will get a lot of complaints.
    */
    "sockcheck" {
        // disabling this hopefully
        "max_sockets" "0"; // 64 is a good # of concurrent clients to be checked
        "max_read" "1024"; // don't read more than 1024 bytes from any client
        "gline_duration" "1d"; // issue G-lines lasting one hour
        "max_cache_age" "60"; // only cache results for 60 seconds
        "bind_address" "192.168.0.10"; // do proxy tests from this address
    };
    /* Snoop sends connect, quit, join, and part messages for every user
    * on the network, and helps in finding drones. Put it somewhere secure
    * so your users privacy is honored.
    */
    "snoop" {
        // Where to send snoop messages?
        "channel" "#MrSnoopy";
        "channel_modes" "+sntim";
        // Which bot?
        "bot" "O3";
        // Show new users and joins from net joins? (off by default)
        "show_bursts" "0";
    };
    /* Track works just like Snoop except it only sends events for users
    * who have been specified
    * DANGER: track is currently very broken, and will crash x3 and possibly corrupt your db file.
    * Unless your a developer, dont even compile it in!
    */
    "track" {
        // What to track by default?
        "snomask" "nick,join,part,kick,new,del,auth,chanmode,umode";
        // Where to send snoop messages?
        "channel" "#MrPeanuts";
        "channel_modes" "+sntOm";
        // Which bot?
        "bot" "O3";
        // Show new users and joins from net joins? (off by default)
        "show_bursts" "0";
    };
    /* Memoserv lets users send messages to other users accounts.
    */
    "memoserv" {
        "bot" "MemoServ";
"modes" "+k";
        "message_expiry" "30d"; // age when messages are deleted; set
                                // to 0 to disable message expiration
        "limit" "30"; // Max amount of messages a person can get.
    };
    "qserver" {
        "bind_address" "127.0.0.1";
        "port" "7702";
        "password" "hello";
    };
    "blacklist" {
        // File containing blacklisted client addresses.
        // "file" "blacklist.txt";
        // Each line in the file should start with an IP or hostname.
        // If there is whitespace and a message after that, the
        // message will override this one:
        "file_reason" "client is blacklisted";
        // How long should a blacklist G-line last?
        "gline_duration" "1h";
        // If you want to use DNS blacklists, add them here:
        "dnsbl" {
            // This DNSBL zone does not exist - you'll have to pick your own.
            "dnsbl.example.org" {
                "description" "Example DNSBL entry";
                "reason" "busted by a dns blacklist";
                "duration" "1h";
                // You can stick the client's IP in the G-line message.
                "reason_2" "Example DNSBL reported %ip%'s address as 127.0.0.2";
                // .. or the contents of a DNS TXT.
                "reason_3" "%txt%";
            };
        };
    };
    "sar" {
        // You generally will not want to override these defaults.
        // "resolv_conf" "/etc/resolv.conf";
        // "services" "/etc/services";
        // "bind_address" "0.0.0.0";
        // "bind_port" "0";
        // The defaults for these are derived from the system config files (above).
        // "domain" "example.org";
        // "timeout" "3"; // base timeout for a DNS reply
        // "retries" "3"; // number of times to retry on different servers or longer timeouts
        // "ndots" "1"; // number of dots needed in a hostname to bypass search path
        // "edns0" "0"; // if set, enable EDNS0 extended message sizes
        // "search" ("example.org", "example.net");
        // "nameservers" ("127.0.0.1");
    };
    /* WebTV allows webtv clients to use common IRC commands.
    */
    "webtv" {
        "bot" "IRC";
"modes" "+k";

// Should clients need to be marked to use this service?
"required_mark" "1";
// which marks are valid webtv marks?
"valid_marks" ("webtv", "msntv", "msntv2");
    };
};

"policers" {
    "commands-luser" {
        "size" "5";
        "drain-rate" "0.5";
    };
};

"rlimits" {
    "data" "50M";
    "stack" "6M";
    "vmem" "100M";
};

/* MAIL (if and how X3 sends mail ) *********************************
 * Mainly Authserv/Nickserv send mail, See the Nickserv
 * section for additional mail settings also.
 */
"mail" {
    "disable" "1";
    "mailer" "/usr/sbin/sendmail";
    // OR Afternet uses a custom script to keep the services IP hidden:
    // "mailer" "/home/x3user/x3/sendmail.sh";
    "from_address" "supportrobot@afternet.org";
    "extra_headers" ("mIRCxNET-Services: x3");
    "body_prefix_first" ("Welcome to mIRCxNET, looks like this is your first email from us.");
    "body_prefix" ("AfterNET Support - User and Channel registration system");
    "body_suffix_first" ("", "mIRCxNET IRC Network", "http://www.mIRCxnet.org");
    "body_suffix" ("", "mIRCxNET IRC Network", "http://www.afternet.org", "support@afternet.org","irc://irc.afternet.org/afternet");
    // If you are using the smtp mail back-end, you may need to set these:
    "smtp_server" "localhost";
    "smtp_service" "smtp";
    // "smtp_myname" "localhost.domain";
};

/* DBS (Databases) *************************************************
 * let you configure what databases go in what files.
 *
 * This default sets up everything in one big x3.db file.
 *
 * If you leave this section out, each database will be in its own file,
 * and they will be written out every half hour.
 */
"dbs" {
    // This just illustrates how you can jam every database into one huge ("mondo") file.
    "ChanServ" { "mondo_section" "ChanServ"; };
    "gline" { "mondo_section" "gline"; };
    "shun" { "mondo_section" "shun"; };
    "Global" { "mondo_section" "Global"; };
    "HelpServ" { "mondo_section" "HelpServ"; };
    "modcmd" { "mondo_section" "modcmd"; };
    "NickServ" { "mondo_section" "NickServ"; };
    "OpServ" { "mondo_section" "OpServ"; };
    "sendmail" { "mondo_section" "sendmail"; };
    "SpamServ" { "mondo_section" "SpamServ"; };

    // These are the options if you want a database to be in its own file.
    "mondo" {
        // Where to put it?
        "filename" "x3.db";
        // How often should it be saved?
        // (You can disable automatic saves by setting this to 0.)
        "frequency" "30m";
    };
};

/* LOGS (If and how X3 logs data ) ***********************************
 * LOGS sets up where X3 logs various kinds of info to.
 */
"logs" {
    // Two kinds of items exist in this section.

    // One is a facility configuration subsection. These have the
    // name of a log facility (one of "ChanServ", "Global",
    // "HelpServ", "NickServ", "OpServ", "ProxyCheck", or "x3") and
    // the value is a subsection. The "x3" log facility is a
    // catch-all/fall-back facility.
    "x3" {
        // The "max_age" option says how long to keep log audit entries.
        "max_age" "10h";
        // The "max_count" option says how many log audit entries to keep.
        "max_count" "1024";
        // Audit (command tracking) entries are discarded if they exceed
        // either limit: for example, if entry 500 is 10 minutes old, it
        // will be discarded next time any audit command is logged.
    };

    // The other kind of item is a target list. The name of each is a
    // description of facility-and-severity combinations, and the value
    // is a string (or list of strings) that describe where matching
    // events should be logged. As a special case, the facility * will
    // specify how to log events regardless of their true facility, and
    // the severity * will match all severities for a facility.
    // Log targets use a psuedo-URI syntax: one of "file:filename",
    // "std:[out|err|n]" where n is a valid file descriptor, or
    // "irc:#channel" (nicknames or server masks can be used instead
    // of channel names, but should be used with care).
    // The severity is one of "replay", "debug", "command", "info",
    // "override", "staff", "warning", "error", or "fatal".
    // WARNING: If any severity except "replay" for a facility is left
    // unspecified, it will use the default target (for example,
    // "file:chanserv.log"). For "replay" severity, you must ALWAYS
    // list a target to log it -- this is because it is very rarely
    // useful.
    "*.*" ("std:out", "file:everything.log"); // does NOT suppress any defaults
    "*.override,error,fatal" "irc:#TheOps"; // report all uses of staff commands
    "*.staff" "irc:#MrSnoopy"; // report all uses of staff commands
    "ChanServ.*" "file:chanserv.log"; // duplicates the default behavior
    "ProxyCheck.*" (); // stop it from logging anything
};
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

ircd.rules

Post  Chief on Fri Oct 31, 2014 5:25 pm

Code:

 __  __ _____ _____   _______   __   _    _ ______ _      _____  
|  \/  |_   _|  __ \ / ____\ \ / /  | |  | |  ____| |    |  __ \
| \  / | | | | |__) | |     \ V /   | |__| | |__  | |    | |__) |
| |\/| | | | |  _  /| |      > <    |  __  |  __| | |    |  ___/
| |  | |_| |_| | \ \| |____ / . \   | |  | | |____| |____| |    
|_|  |_|_____|_|  \_\\_____/_/ \_\  |_|  |_|______|______|_|    
                                                                 
                                                                 
Welcome to Help System
REGISTER TO SERVICES THE COMMANDS
/msg AuthServ@X3.mIRCxNET.Services REGISTER yourNick password email
to up your account you need write in your mirc
/auth younick password
/msg AuthServ@X3.mIRCxNET.Services AUTH yourNick password
if you want REGISTER or UNREGISTER your chan you need write commands to X3
/msg X3 REGISTER #chan
/msg X3 UNREGISTER #chan confirm
explain commands for delete your channel
/msg X3 unregister #Trivia ba3d30a1
if you want protection to your channel please using the commands to SpamServ
/msg spamserv REGISTER #yourchannel
/msg Spamserv help
Good luck
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

update ircd.conf x3 with fishbot

Post  Chief on Fri Dec 26, 2014 2:13 am

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  fakelagminimum = number;
#  fakelagfactor = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <fakelagminimum> is the minimum number of seconds to wait before
# processing commands received from clients.
#
# <fakelagfactor> is a number to devide the message length by to
# determine addtional fake lag to apply. If set to 0 (zero) the user
# will not be subject to fake lag at all.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};

# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+iw";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;

 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Local"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Local";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
Client {
 host = "*@*";
 ip = "*@*";
 class = "Other";
 maxlinks = 2;
};

# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
# Client {
#  country = "GB";
#  class = "Local";
# };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "*@*";
#  ip = "*@*";
#  class = "Other";
#  sslfp = "61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  noidenttilde = no;
# }

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 2;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  autojoinchannel = "#channel1,#channel2";
#  autojoinnotice = "*** Notice -- You are now being autojoined into #channel1 and #channel2";
# };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
Kill
{
 host = "192.168.*";
 file = "klines/martians";
};

# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
Kill
{
  host = "silly.people";
  reason = "Silly people are not allowed unless authenticated.";
  authexempt = yes;
  mark = "Silly Person";
};

# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
#  ssl = no;
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNET.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 service = yes;
 xtraop = yes;
 local_kill = yes;
 deop_lchan = yes;
 whois_notice = yes;
 admin = yes;
 hide_oper = yes;
 freeform = yes;
 name = "darksis";
 class = "Opers";
};
Operator {
 host = "*@*.uu.net";
 password = "$PLAIN$notencryptedpass";
 name = "Niels";
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6669; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.13";
 hidden = no;
 port = 6668;
};
# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};

# [Spoofhost]
#
# Spoofhost "<spoof host>" {
#  pass = "<password>";
#  host = "<hostmask>";
#  autoapply = <yes/no>;
#  ismask = <yes/no>;
#  matchusername = <yes/no>;
# };
#
# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
# <matchusername> If set to yes when <autoapply> is set to yes, the user portion
#              of <hostmask> will match against the USER supplied user name
#              as well as the ident supplied user name.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = "secret"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};

# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
# IAuth {
#  program = "../path/to/iauth" "-n" "options go here";
# };

# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="1024";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
#  "WALLOPS_OPER_ONLY"="FALSE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
  "HOST_HIDING"="TRUE";
  "HIDDEN_HOST"="users.mIRCxnet.org";
#  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
#  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
#  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
#  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
#  "AUTH_TIMEOUT" = "9";
#  "IPCHECK_CLONE_LIMIT" = "4";
#  "IPCHECK_CLONE_PERIOD" = "40";
#  "IPCHECK_CLONE_DELAY" = "600";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
#  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
#  "HIS_SNOTICES" = "TRUE";
#  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
#  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
#  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
#  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "FALSE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
#  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
#  "OPER_WHOIS_PARANOIA" = "FALSE";
#  "OPER_HIDE" = "FALSE";
#  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "";
#  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
#  "OPER_XTRAOP" = "FALSE";
#  "OPERMOTD" = "FALSE";
#  "RULES" = "FALSE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
#  "HIS_SHUN_REASON" = "TRUE";
#  "HIS_GLINE_REASON" = "FALSE";
#  "NOIDENT" = "FALSE";
#  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
#  "LOC_SENDHOST" = "FALSE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = "3";
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
#  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
#  "SETHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
#  "SASL_SERVER" = "*";
#  "LISTDELAY" = "15";
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
#  "LIST_SHOWMODES_OPERONLY" = "FALSE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
#  "SASL_SENDHOST" = "TRUE";
#  "SASL_AUTOHIDEHOST" = "TRUE";
#  "SNOMASK_DEFAULT" = "1540";
#  "SNOMASK_OPERDEFAULT" = "5645";
#  "TPATH" = "ircd.tune";
#  "CHMODE_m_NONICKCHANGE" = "TRUE";
#  "CHMODE_r_NONICKCHANGE" = "TRUE";
#  "SILENCE_CHANMSGS" = "TRUE";
#  "CHANNEL_CREATE_IRCOPONLY" = "FALSE";
#  "CHMODE_a" = "TRUE";
#  "CHMODE_c" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = "45";
#  "AVEXCEPTLEN" = "40";
#  "CHMODE_e_CHMODEEXCEPTION" = "FALSE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
#  "OMPATH" = "ircd.opermotd";
#  "EPATH" = "ircd.rules";
#  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
#  "OPERHOST_HIDING" = "TRUE";
#  "HIDDEN_OPERHOST" = "Staff.Nefarious";
#  "HOST_HIDING_STYLE" = "1";
#  "HOST_HIDING_PREFIX" = "Nefarious";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
#  "HOST_HIDING_COMPONANTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
#  "CTCP_VERSIONING_CHAN" = "FALSE";
#  "CTCP_VERSIONING_CHANNAME" = "#opers";
#  "CTCP_VERSIONING_USEMSG" = "FALSE";
#  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
#  "GEOIP_ENABLE" = "FALSE";
#  "GEOIP_FILE" = "GeoIP.dat";
#  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
#  "SSL_CERTFILE" = "ircd.pem";
#  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
#  "SSL_REQUIRECLIENTCERT" = "FALSE";
#  "DISABLE_ZLINES" = "FALSE";
#  "HIS_ZLINE_REASON" = "FALSE";
#  "ZLINEMAXUSERCOUNT" = "20";
#  "CAP_multi_prefix" = "TRUE";
#  "CAP_userhost_in_names" = "TRUE";
#  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#  "CONNEXIT_NOTICES" = "FALSE";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#   -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

config ircd.conf Nefarious 1.3.0 update

Post  Chief on Sun Aug 30, 2015 9:10 pm

Code:

# ircd.conf  configuration file for Nefarious IRCu 1.3.0
#
# Last Updated:  4, October 2008.
#
# Written originally by Niels <niels@undernet.org>, updated by the
# Nefarious IRCu team.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by Nefarious IRCu.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.EU.AfterNET.ORG" as
# server name.
# A "server mask" is something like "*.EU.AfterNET.Org", which is
# matched by "Amsterdam.EU.AfterNET.ORG" but not by
# "Pyro.US.AfterNET.Org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        description = "description";
#        numeric = numericnumber;
# };
#
# <virtual host> must contain either a * or a valid IPv4 address in
# dotted quad notation. (127.0.0.1) The address MUST be the address
# of a physical interface on the host. This address is used for outgoing
# connections only, see Port blocks for listener virtual hosting.
# If in doubt put a * or the IP of your primary interface here.
# The server must be compiled with virtual hosting turned on to get this
# to work correctly.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# Example:
#

General {
        name = "irc.mIRCxNet.org";
        description = "mIRCxNet IRC Server";
        vhost = "*";
        numeric = 1;
};


# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.

Admin {
  # At most two location lines are allowed...
  Location = "My Love Dog Bogi Moni Toshi";
  Location = "mIRCxNET IRC server";
  Contact = "BMT@walla.com";
};


# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  sendq = size;
#  usermode = "+i";
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "Leaf Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 usermode = "+x";
 sendq = 9000000;
};

# Client {
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Locals";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;

 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # global_jupe (not used)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # remoterehash (can issue remote rehash's)
 # check (can use /CHECK)
 # see_secret_chan (can see secret channels in WHOIS outputs)a
 # shun (can issue SHUNS to other servers)
 # local_shun (can set a SHUN for this server only)
 # wide_shun (can use ! to force a wide SHUN)
 # zline (can issue Z-lines to other servers)
 # local_zline (can set a Z-line for this server only)
 # wide_zline (can use ! to force a wide Z-line)
 # whois_notice (can use whois notice oper mode)
 # hide_idle (can use hide idle usermode)
 # xtraop (can use xtra op oper mode)
 # hide_channels (can use hide channels usermode)
 # display_mode (can use hide oper +H usermode, hides "Is an oper/administrator" only)
 # freeform (can set valid hostnames on themselves using SETHOST)
 # remove (can force remove gline's, zline's and shun's on even if deactivated)
 # spamfilter (can add spamfilters using the SPAMFILTER command)
 #
 #
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan and.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode
 # Any privileges listed in a Class block override the defaults.

 local = no;
};


# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Ban block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  cryptfp = "sslcertfingerprint";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.afternet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# If cryptfp is present then the user connecting must be using an SSL
# certificate with a fingerprint that matches cryptfp (only hex characters)
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 4;
};

Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 4;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "Opers";
 maxlinks = 4;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 4;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=3; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=3; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=3; };

# You can request a more complete listing, including the "list of standard
# Ban blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by O3 on AfterNET
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
Client {
 host = "*@*";
 ip = "*@*";
 class = "Other";
 maxlinks = 6;
};


# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = 1;
#  file = "path/to/motd/file";
# };
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Motd block for each host entry, but makes
# it easier to update the message's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.AfterNET.Org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};


# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
#
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub;
#  leaf = no;
#  autoconnect = no;
#  crypt = no;
#  cryptfp = "sslcertfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more information about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# The "crypt" field enables SSL for connections to remote servers. This
# requires a Port block on the remote server with at least crypt = yes;
# and server = yes;
#
# If cryptfp is present then the server connecting must be using an SSL
# certificate with a fingerprint that matches cryptfp (only hex characters)
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNET.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

#Connect {
# name = "X2.mIRCxNET.Services";
# host = "192.168.1.13";
# password = "asher";
# port = 4400;
# class = "Server";
# hub;
#};


# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.AfterNET.Org";
 rule = "connected(*.US.AfterNET.Org)";
};
CRULE
{
 server = "*.EU.AfterNET.Org";
 rule = "connected(Amsterdam.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};


# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not passed along to other servers. On AfterNET, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# If cryptfp is present then to make use of the Operator block, the user
# must be connected using an SSL client certificate with a fingerprint
# that matches cryptfp (only hex characters)
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  flags = "oper flags";
#  class = "classname";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
#  cryptfp = "sslcertfingerprint";
# };
#
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# There are 7 types of flags currently which will only work if the OPERFLAGS
# is enabled. When the feature is disabled, the flags are ignored.
#
# o - Local Operator
# O - Global Operator
# A - IRC Administrator
# r - O:Line can be used from remote servers
# W - Allowed to set user mode +W (whois notice)
# I - Allowed to set user mode +I (hide idle)
# n - Allowed to set user mode +n (hide channels)
# X - Allowed to set user mode +X (requires F:OPER_XTRAOP:TRUE)
#
# YOU NEED ATLEAST ONE FLAG!
#
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 flags = "O";
 name = "Niels";
 class = "Opers";
};

Operator {
 host = "*";
 password = "$PLAIN$leetmo";
 name = "darksis";
 flags = "AOoWXk";
 class = "Opers";
};

Operator {
 host = "*@*";
 password = "$PLAIN$itzik123";
 name = "itzik";
 flags = "AOoXk";
 class = "Opers";
};

Operator {
 host = "*@*";
 password = "$PLAIN$MIRCXQ";
 name = "staff";
 flags = "AOoXk";
 class = "Opers";
};
# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.
#
# If you want to use a more secure password authentication system then
# Generate a 1024bit RSA key, specify the path to the key as the password
# and add R as the oper flag. This will use the CHALLENGE system instead of
# /OPER. See doc/challenge.txt for more information.
#
#Operator {
#  host = "*@somehost.co.nz";
#  password = "/home/irc/keys/vulcan.key";
#  name = "vulcan";
#  flags = "RO";
#  class = "Opers";
#};


# [UWorld]
#
# One of the many nice features in Nefarious is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
#
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin;
# (2) These lines must be the same on every single server, or results
# will be disastrous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.
#
# Examples:
#
# UWorld {
#  name = "uworld.eu.AfterNET.Org";
#  name = "uworld2.AfterNET.Org";
#  name = "uworld.AfterNET.Org";
#  name = "channels.AfterNET.Org";
#  name = "channels2.AfterNET.Org";
#  name = "channels3.AfterNET.Org";
#  name = "channels4.AfterNET.Org";
#  name = "channels5.AfterNET.Org";
#  name = "channels6.AfterNET.Org";
# };
#
# It is possible to Jupe nicks so that no user can use them. Opers
# cannot use them either. You can specify wildcards of * and ?.
#
# Examples:
#
# NickJupe {
#  nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
#  nick = "EuWorld,UWorld,UWorld2";
#  nick = "login,afternet,protocol,pass,newpass,org";
#  nick = "StatServ,NoteServ";
#  nick = "ChanSvr,ChanSaver,ChanServ";
#  nick = "NickSvr,NickSaver,NickServ";
#  nick = "LPT?,COM?,AUX";
#  nick = "X?,O?,MemoServ";
# };
#


# [Ban]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "ban blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Ban
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Ban
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Ban blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
#
# Ban { host = "*.au"; reason = "Please use a nearer server"; };
# Ban { host = "*.edu"; reason = "Please use a nearer server"; };
#
# You can also ban based on username.
# Ban { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };
#
# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
#
# Ban
# {
#  host = "*luser@unixbox.flooder.co.uk";
#  file = "kline/youflooded.txt";
# };
#
# IP-based ban lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#
# Ban
# {
#  host = "192.168.*";
#  file = "klines/martians";
# };
#
# The realname field lets you ban by realname...
#
 Ban
 {
  realname = "*sub7*";
  reason = "You are infected with a Trojan";
 };
 
# Additionally, you may specify a hostmask prefixed with $V to indicate
# a match should be performed against the CTCP version of the user rather
# than the host/IP.
#
# Ban
# {
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade or get a new client.";
# };
#
# You can allow people to get past Ban blocks by adding a klineprompt line in. This will prompt
# the client to login onto services via LOC (login on connect). You can also mark clients by adding
# in a name section.
#
# Ban
# {
#  host = "*@sirvulcan.co.nz";
#  reason = "You are not allowed to connect without logging in";
#  klineprompt;
#  name = "sirvulcan";
# };
#
 
# [Except]
#
# These can be used to exempt a user from Ban Blocks, GLINE's, ZLINE's and
# SHUN's
#
# The syntax for Except blocks is:
#
 Except {
  mask = "*@*";
  flags = "ILSsk";
};

# <mask>  is a ident@ip/host/cidr mask that is to match the user to be exempted
# <flags> is one of the following flags to specify what the exempt is to match
#
# k      Excpet affects K/k:Lines (Ban blocks)
# g      Except affects GLINE's
# z      Except affects ZLINE's
# s      Except affects SHUN's
# S      Except affects Spam Filters
# L      Except affects LIST delays
# i      Except affects ident prompt checks (see the IDENT_PROMPT Feature)
# I      Except affects IPCheck throttle and clone checks. Please note that only
#          IP addresses are supported, eg *@ip as IPCheck is done before DNS
#          resolution. Just specify * as the ident as the ident is ignored.
#
# Examples:
#
# Except {
#  mask = "*@*.afternet.org";
#  flags = "kgzs";
# };
#
# Except {
#  mask = "*@*.ircdriven.com";
#  flags = "L";
# };
#

# [Command]
#
# These are lines intended to improve the generic irc users ability to
# use network services. Each line sets up a /<service> alias so that
# users may type that instead of a full /msg command.
#
# for example.. adding:
 Command {
  cmd = "X3";
  service = "AuthServ@X3.mIRCxNET.Services";
 };
# would result in commands like this being possible
# /X3 HELP
#
 Command {
    cmd = "AUTH";
    service = "AuthServ@x3.mIRCxNET.Services";
    prefix = "AUTH";
 };


# [Forward]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forward {
#  "<prefix>" = "<server>";
# };
#
# Forward {
#  "!" = "services.network.org";
#  "?" = "services.network.org";
# };
#
# Any channel messages prefixed with a ? or a ! would be sent to
# services.network.org in the above examples.


# [Redirect]
#
# These are redirection lines, when a client connects and his/her host
# matches a q:line then a 010 reply is sent with the redir server and
# port.
#
# Redirect {
#  mask = "<mask>";
#  server = "<redirection server>";
#  port = "<redirection port>";
# };
#
#
# Redirect {
#  mask = "*.aol.com";
#  server = "irc.aol.com";
#  port = "6667";
# };
#


# [Spoofhost]
#
# Spoofhost "testsline.mIRCxNet.org" {
#  pass = "asher";
#  host = "*";
#  username = "*";
#  autoapply = yes;
# };
#
# <spoof host>  A hostname to be spoofed
# <pass>        A password for this spoof host. Used if SETHOST_USER is enabled.
# <host>        A hostmask for matching against users that are to be auto
#              spoofed. Used if autoapply is enabled. Can be of form:
#              host.domain.cc, 127.0.0.1 or 127.0.0.0/24, supports wildcards
#              for non-CIDR.
# <username>    A mask for matching against the user's ident reply.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user.
#
#
 Spoofhost "testsline.AfterNET.Org"  { pass = "asher"; };
#
# This is how to define Spoofhosts when having freeform turned off.
 Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "yeshost"; };


# [Quarantine]
#
# This allows you (the admin) to disallow the usage of /OPMODE and
# /CLEARMODE on certain sensitive channels. Opers trying to do that
# will receive a short notice. Depending on the setting of
# OPER_FORCE_OPMODE, OPER_FORCE_LOPMODE and LOCOP_FORCE_LOPMODE,
# global/local opers may override these lines by prefixing the
# channel name with an exclamation mark ('!')
#
# Quarantine {
#  "#shells" = "Thou shalt not support the h4><0rz";
#  "&kiddies" = "They can take care of themselves";
# };
#

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
#Pseudo "CHANSERV" {
#    name = "X";
#    nick = "X@CServe.kishornet.org";
#    };
#
# You can also prepend text before the user's message.
#Pseudo "AUTH" {
#    name = "Q";
#    prepend = "AUTH ";
#    nick = "Q@CServe.borknet.org";
#    };

# [DNSBL]
#
# This allows you (the admin) to prevent clients connecting who are listed
# on DNS blacklists. Their connection will be rejected during the connection
# process along with the name and url you give for the DNSBL they have
# been matched on.
#
# DNSBL {
#  server = "<dnsbl.site.org>";
#  name = "<name>";
#  flags = "<flags>";
#  replies = "<replies/mask>";
#  reply = "<rejection message>";
#  rank = "<rank>";
# }
#
#
# Flags:
#
# Bitmask DNSBL:  b - See your DNSBL provider as to if you should use this or not.
# Reply DNSBL:    r - See your DNSBL provider as to if you should use this or not, this
#                    type is normally the default type for most DNSBL's.
# Allow Connect:  a - Allow the client to connect anyway. This could be used with a
#                    DNSBL whitelist. This could also be used to allow people in but
#                    mark their hosts so that channel ops can choose weather they want
#                    them in their channel or not.
# Deny Connect:  d - If the user is found on this dnsbl then they cant connect, even if
#                    they are allowed on another X:Line.
# Mark Hostname:  m - Mark the hostname of a skipped client.
#
#
# The name option is used for the Mark hostname flag, this must contain hostname
# valid characters only, ie NO spaces. With REPLY DNSBL's you need to list the
# replies in a comma separated list. See below for an example. With BITMASK DNSBL's
# just again specify the replies you need to match against. The server will sum
# them up and match them against the DNSBL reply. It is highly recommended that
# you place the rejection message in "quotes". Rejection messages are limited
# in length, currently they cant be all that long but that is being worked on. The
# rejected users nick, username, ip, and host can be placed into the rejection
# message by using these codes:
#
# %n - Nickname
# %u - Username
# %h - Hostname
# %i - IP Address
#
# The rank number must be unique over all DNSBL blocks, the higher the number- the more
# rank it has. The highest ranking DNSBL block which is matched against a user will
# get its name marked in the hostname.
#
# Example:
#
# DNSBL {
#  server = "dnsbl.dronebl.org";
#  name = "dnsbl.dronebl.org";
#  flags = "r";
#  replies = "1,2,3,4";
#  reply = "%n!%u@%h Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=%i";
#  rank = "1";
# }
#
# This will reject clients who get a return addresses of 1,3 and 4 off
# dnsbl.sorbs.net. Sample rejection message:
#
# "bloggs!someident@google.com Found On Sorbs DNSBL http://www.dnsbl.us.sorbs.net/cgi-bin/lookup?IP=111.222.111.222"
#
# BITMASK Example:
#
# DNSBL {
#  server = "dnsbl.dronebl.org";
#  name = "dnsbl.dronebl.org";
#  flags = "rb";
#  replies = "1,3,5";
#  reply = "%n!%u@%h Found On DNSBL";
#  rank = "2";
# };
#
#DNSBL {
#  server = "opm.tornevall.org";
#  name = "opm.tornevall.org";
#  flags = "rb";
#  replies = "1,2,4,8,16";
#  reply = "%n!%u@%h Found On DNSBL";
#  rank = "8";
# };
#
#DNSBL {
#  server = "dnsbl.tornevall.org";
#  name = "dnsbl.tornevall.org";
#  flags = "rb";
#  replies = "1,2,4,8,16";
#  reply = "%n!%u@%h Found On DNSBL";
#  rank = "8";
# };
#
# DNSBL {
#  server = "rbl.efnet.org";
#  name = "rbl.efnet.org";
#  flags = "rb";
#  replies = "1,2,3,4,5,6,8,16";
#  reply = "%n!%u@%h Found On DNSBL";
#  rank = "1";
# };
#
#DNSBL {
#  server = "rbl.efnetrbl.org";
#  name = "rbl.efnetrbl.org";
#  flags = "rb";
#  replies = "1,2,3,4,5,6,8,16";
#  reply = "%n!%u@%h Found On DNSBL";
#  rank = "1";
# };

# Notes: MAKE SURE you read the DNSBL website before you go ahead and use it
# as they may have rules for large sites/servers who use them. If you do not
# wish to use DNSBL checking then simply do not set any X:lines. I only
# recommend that you use one DNSBL, due to the amount of time it will take to
# connect with multiple DNSBL's.


# [WebIRC]
#
# These blocks allow you to run a CGI:IRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# CGI:IRC will send a WEBIRC command along with the clients hostname, ip and
# W:Line password. The password field takes the same format as Operator blocks.
# When the IRCd receives the command instead of using the hostname of the IRCd
# the hostname sent in WEBIRC will be set. All this is done before the client
# enters the network completely. Please remember to enclose the description
# using quotes otherwise things will break.
#
# Available Flags:
# m - Marks each client connected via the W:line using the provided description.
# s - Sets the ident specified in the ident field for each WEBIRC client.
# u - Uses the ident from USER that the WEBIRC client sends.
# f - Strip the SSL fingerprint of the WEBIRC client.
#
# Note: Do not use both s and u, only choose one of them.
#
#
# WebIRC {
#  mask = "*@afternet.org";
#  pass = "VRKLKuGKn0jLs";
#  flags = "sm";
#  ident = "cgiirc";
#  desc = "AfterNET CGI:IRC";
# };
#
# WebIRC {
#  mask = "*@another.mask";
#  pass = "$PLAIN$wircpass";
#  flags = "sm";
#  ident = "cgiirc";
#  desc = "AfterNET CGI:IRC";
# };
#


# [SFilter]
#
# These blocks allow you to filter PRIVMSG's, NOTICE's, TOPIC's and AWAY's for
# Spam. The filtering is doing using regular expressions so please be careful.
#
 SFilter {
  regex = "irc.server.org";                      # - PCRE format regular expression.
  rtype = "nNdpCpat";                # - See below for a list.
  action = "k";              # - See below for a list.
  reason = "no spam in MIRCX";
  channel = "#mIRCx";  # - Requires the C action flag.
  length = 3600;                          # - Only applies to glines, zlines and shuns.
 };

 SFilter {
  regex = "www";                      # - PCRE format regular expression.
  rtype = "d";                # - See below for a list.
  action = "k";              # - See below for a list.
  reason = "no spam in MIRCX";
  channel = "#mircx";  # - Requires the C action flag.
  length = 3600;                          # - Only applies to glines, zlines and shuns.
 };
# Available Watch Flags
# n - Notices.
# N - Channel Notices.
# p - Privmsgs.
# C - Channel Privmsgs.
# q - Quits.
# P - Parts.
# d - DCCs.
# a - Away messages.
# t - Topics.
# u - Connects (nick!user@host:gecos).
# i - Nickname changes.
#
# Available Action Flags
# a - Auth, if added logged in clients will be exempt from the filter.
# C - Channel Alert, if added filter matches will be sent to what is set in the
#    SFilter channel setting. If the channel setting is missing then the setting
#    for the Feature FILTER_DEFAULT_CHANNAME will be used.
# S - Server Alert
# k - Kill, will kill anyone who matches the filter line.
# g - Gline, will gline anyone who matches the filter line. The length can be set
#    in seconds via the length.
# z - Zline, will zline anyone who matches the filter line. The length can be set
#    in seconds via the length setting. This zlines *@ip. You do not need the i
#    action flag.
# s - Shun, will shun anyone who matches the filter line. The length can be set
#    in seconds via the length setting.
# i - Uses the clients IP to in a G/Zline or shun.
# b - Block, will stop the PRIVMSG/NOTICE/TOPIC/AWAY from going through.
# n - Notify, will notify the person matching the filter line saying they have
#    matched a filter line and the message has been denied.
# m - Mark, will mark the client as being a spam source.
# K - Kick, will kick the user triggering the Spam Filter. The kick reason given
#    will be the reason set in the Spam Filter. This Flag will only work with the
#    N and C watch flags.
# o - Ops/Halfops, if added it will exempt halfops and ops from being any checks
#    which have a channel target. They of course need to be an op or halfop to be
#    exempt from the check. Be careful with this flag.
# v - Voice, if added it will exempt voiced users from any checks which have a
#    channel target. If channels have auto voice enabled then this will mean
#    spammers can still spam the channel.
#
# Notes:
# - Shuns and Glines will be set using *@hostname. If you want *@ip then set the
#  i action flag. Zlines will always set *@ip.
# - If you do not specify a length then the default length from the feature
#  FILTER_DEFAULT_LENGTH will be used.
# - You cannot use the b block flag in a SFilter block that uses the u connects
#  flag. You will need to use a kill flag to block them.
#


# [Port]
#
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# AfterNET uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = "virtualhostip";
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL connections from clients.
#  crypt = yes;
#  # Setting to yes makes the port exempt from connection restrictions
#  # during a timed /restart or /die.
#  exempt = yes;
# };
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
# Examples:

 Port {
  server = yes;
  port = 4400;
 };
#
# The following are normal client ports
# Port { port = 6667; };
 Port { port = 6665; };
# Port { port = 6669; };
# Port { port = 6661; };
#Port {
#  # This only accepts clients with IPs like 192.168.*.
#  mask = "192.168.*";
#  port = 6666;
#  # Allows your opers to connect during a timed /restart or /die.
#  exempt = yes;
# };
#
# This is a hidden client port, listening on 168.8.21.107.
# Port {
#  vhost = "192.168.1.13";
#  hidden = yes;
#  port = 6668;
#  port = 6669;
# };



# [Features]
#
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of Features are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults set in Nefarious are below:
#
Features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#
# Server Settings
#
#  "DOMAINNAME" = "<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK" = "FALSE";
#  "BUFFERPOOL" = "27000000";
#  "HAS_FERGUSON_FLUSHER" = "FALSE";
  "CLIENT_FLOOD" = "45454545";
#  "SERVER_PORT" = "4400";
  "IPCHECK_CLONE_LIMIT" = "2";
  "IPCHECK_CLONE_PERIOD" = "10";
  "CHMODE_M" = "TRUE";
  "EXTBAN_j" = "TRUE";
  "EXTBAN_r" = "TRUE";
  "EXTBAN_t" = "TRUE";
  "IPCHECK_CLONE_DELAY" = "600";
#  "NODEFAULTMOTD" = "TRUE";
#  "MOTD_BANNER="TRUE";
#  "KILL_IPMISMATCH" = "FALSE";
#  "IDLE_FROM_MSG" = "TRUE";
  "HUB" = "TRUE";
#  "WALLOPS_OPER_ONLY" = "FALSE";
#  "NODNS" = "FALSE";
#  "RANDOM_SEED" = "<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM" = "TRUE";
#  "NICKNAMEHISTORYLENGTH" = "800";
#  "TIME_IN_TIMEOUT" = "FALSE";
  "KILLCHASETIMELIMIT" = "30";
  "MAXCHANNELSPERUSER" = "10";
#  "AVEXCEPTLEN" = "40";
#  "MAXEXCEPTS" = "45";
#  "NICKLEN" = "15";
#  "CHANNELLEN" = "200";
#  "AVBANLEN" = "40";
  "MAXBANS" = "50";
#  "MAXSILES" = "15";
#  "HANGONGOODLINK" = "300";
  "LOGIN_ON_CONNECT" = "TRUE";
#  "FEAT_LOGIN_ON_CONNECT" = "TRUE";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "TIMESEC" = "60";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
  "SHUNMAXUSERCOUNT" = "20";
  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "QPATH" = "ircd.quotes";
#  "EPATH" = "ircd.rules";
  "OMPATH" = "ircd.opermotd";
  "RPATH" = "remote.motd";
#  "PPATH" = "ircd.pid";
#  "TPATH" = "ircd.tune";
#  "VIRTUAL_HOST" = "FALSE";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "8";
  "NICK_DELAY" = "30";
#  "POLICY_NOTICE" = "TRUE";
#  "TARGET_LIMITING" = "TRUE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "NETWORK_REHASH" = "FALSE";
#  "NETWORK_RESTART" = "FALSE";
#  "NETWORK_DIE" = "FALSE";
#  "HELP_PACE" = "5";
#  "NOIDENT" = "FALSE";
  "IPCHECK" = "TRUE";
  "LISTDELAY" = "15";
  "IDENT_PROMPT" = "FALSE";

#
# Commands
#
  "QUOTES" = "TRUE";
  "RULES" = "TRUE";
  "OPERMOTD" = "TRUE";

#
#  Spam Filter Settings
#
  "FILTER_DEFAULT_CHANNAME" = "#123";
  "FILTER_ALERT_USEMSG" = "TRUE";
  "FILTER_DEFAULT_LENGTH" = "3600";
  "FILTER_FATAL_TIME" = "500";
  "FILTER_WARN_TIME" = "250";

#
# Login On Connect

  "LOGIN_ON_CONNECT" = "TRUE";
  "LOC_DEFAULT_SERVICE" = "authserv";
  "LOC_SENDHOST" = "TRUE";
  "LOC_SENDSSLFP" = "FALSE";

#
# User Modes
#
  "DEFAULT_UMODE" = "+x";

#
# Channel Settings
#
#  "HIDE_BAN_SETTER" = "FALSE";
#  "ALLOW_TEXT_HOST" = "TRUE";

#
# Hidden Hosts Settings
#
  "HOST_HIDING" = "TRUE";
  "HOST_HIDING_STYLE" = "2";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
 "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_PREFIX" = "mIRCxNET";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_HOST" = "users.mIRCxNet.org";
  "HIDDEN_OPERHOST" = "Opers.mIRCxNET.Org";
  "HIDDEN_IP" = "127.0.0.1";
#  "ALLOWRMX" = "FALSE";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";

# Autojoin Settings
#
# ALWAYS PREFIX HASHES WITH A BACKSLASH IN AUTOJOIN FEATURES!
#
  "AUTOJOIN_USER" = "TRUE";
  "AUTOJOIN_USER_CHANNEL" = "#mIRCx";
  "AUTOJOIN_USER_NOTICE" = "TRUE";
  "AUTOJOIN_USER_NOTICE_VALUE" = "*** Notice -- You are now being autojoined into #mIRCx";
#  "AUTOJOIN_ADMIN" = "FALSE";
#  "AUTOJOIN_ADMIN_CHANNEL" = "\#admin";
#  "AUTOJOIN_ADMIN_NOTICE" = "TRUE";
#  "AUTOJOIN_ADMIN_NOTICE_VALUE" = "*** Notice -- You are now being autojoined into admin channel \#admin";
#  "AUTOJOIN_OPER" = "FALSE";
#  "AUTOJOIN_OPER_CHANNEL" = "\#opers";
#  "AUTOJOIN_OPER_NOTICE" = "TRUE";
#  "AUTOJOIN_OPER_NOTICE_VALUE" = "*** Notice -- You are now being autojoined into oper channel \#opers";

#
# Oper Settings
#
#  "REMOTE_OPER" = "FALSE";
  "CHECK_EXTENDED" = "TRUE";
  "MAX_CHECK_OUTPUT" = "1000";
#  "CONFIG_OPERCMDS" = "FALSE";
  "OPERFLAGS" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "CONNEXIT_NOTICES" = "TRUE";

#
# WHOIS Settings
#
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_ADMIN" = "is an IRC Administrator";
  "WHOIS_SERVICE" = "is a Network Service";

#
# ALIST Settings
#
#  "SET_ACTIVE_ON_CREATE" = "TRUE";
#  "DEF_ALIST_LIMIT" = "30";
#  "ALIST_SEND_FREQ" = "300";
#  "ALIST_SEND_DIFF" = "600";

#
# SETHOST Settings
#
  "SETHOST" = "TRUE";
  "SETHOST_USER" = "TRUE";

#
# Channel Settings
#
#  "TOPIC_BURST" = "TRUE";
#  "HOST_IN_TOPIC" = "TRUE";
#  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "nt";
#  "LOCAL_CHANNELS" = "TRUE";
#  "EXCEPTS" = "FALSE";
  "EXTBANS" = "TRUE";
#  "BREAK_P10" = "FALSE";
#  "FLEXABLEKEYS" = "FALSE";
#  "NOTHROTTLE" = "FALSE";
#  "CREATE_CHAN_OPER_ONLY" = "FALSE";
#  "ANNOUNCE_INVITES" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "BADCHAN_REASON" = "This Channel Has Been Banned";
#  "MAX_BOUNCE" = "5";


#
# Server Passwords
#
#  "RESTARTPASS" = "";
#  "DIEPASS" = "";

#
# DNSBL Checks

#  "DNSBL_CHECKS" = "TRUE";
#  "DNSBL_EXEMPT_CLASS" = "250";
#  "DNSBL_LOC_EXEMPT" = "TRUE";
#  "DNSBL_LOC_EXEMPT_N_ONE" = "If you have an account with %s services then you can bypass the dnsbl ban by logging in like this (where Account is your account name and Password is your password.";
#  "DNSBL_LOC_EXEMPT_N_TWO" = "You may use your AuthServ account to be #allowed in anyway, by typing '/QUOTE PASS /yourusername/yourpassword' #at the prompt now.";
#  "DNSBL_MARK_FAKEHOST" = "TRUE";

#
# Ban Blocks
#
  "KLINE_PROMPT_ONE" = "If you have an account with Nefarious services then you can bypass this ban by logging in like this (where Account is your account name and Password is your password):";
  "KLINE_PROMPT_TWO" = "Type /QUOTE PASS AuthServ Account :Password to connect";

#
# CTCP Version Checks
#
  "CTCP_VERSIONING" = "TRUE";
  "CTCP_VERSIONING_KILL" = "TRUE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#123";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";

#
# Raw Replies
#
#  "ERR_OPERONLYCHAN" = "Cannot join channel (+O)";

#
# Server Security Settings
#
#  "HIS_EXCEPTWHO" = "TRUE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_MAP_SCRAMBLED" = "TRUE";
  "HIS_SNOTICES" = "TRUE";
#  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_SNOTICES_OPER_AND_BOT" = "TRUE";
#  "HIS_DESYNCS" = "TRUE";
#  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_LINKS_SCRAMBLED" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_SHUN_REASON" = "TRUE";
#  "HIS_STATS_MODULES" = "TRUE";
#  "HIS_STATS_LINKS" = "TRUE";
#  "HIS_STATS_FORWARDS" = "TRUE";
#  "HIS_STATS_MAPPINGS" = "TRUE";
#  "HIS_STATS_CONNECT" = "TRUE";
#  "HIS_STATS_GLINES" = "TRUE";
#  "HIS_STATS_KLINES" = "TRUE";
#  "HIS_STATS_FILTERS" = "TRUE";
#  "HIS_STATS_ACCESS" = "TRUE";
#  "HIS_STATS_HISTOGRAM" = "TRUE";
#  "HIS_STATS_COMMANDS" = "TRUE";
#  "HIS_STATS_OPERATORS" = "TRUE";
#  "HIS_STATS_PORTS" = "TRUE";
#  "HIS_STATS_QUARANTINES" = "TRUE";
#  "HIS_STATS_REDIRECTIONS" = "TRUE";
#  "HIS_STATS_USAGE" = "TRUE";
#  "HIS_STATS_CRULES" = "TRUE";
#  "HIS_STATS_EXCEPTIONS" = "TRUE";
#  "HIS_STATS_ENGINE" = "TRUE";
  "HIS_STATS_SPOOFHOSTS" = "TRUE";
#  "HIS_STATS_SHUNS" = "TRUE";
#  "HIS_STATS_LOCALS" = "TRUE";
  "HIS_STATS_MOTDS" = "TRUE";
#  "HIS_STATS_UPTIME" = "FALSE";
#  "HIS_STATS_UWORLD" = "TRUE";
#  "HIS_STATS_VSERVERS" = "TRUE";
#  "HIS_STATS_WEBIRCS" = "TRUE";
#  "HIS_STATS_USERLOAD" = "FALSE";
#  "HIS_STATS_MEMUSAGE" = "TRUE";
#  "HIS_STATS_DNSBLS" = "TRUE";
#  "HIS_STATS_CLASSES" = "TRUE";
#  "HIS_STATS_MEMORY" = "TRUE";
#  "HIS_STATS_ZLINES" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_HIDEWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "1";
#  "HIS_SCRAMBLED_CACHE_TIME" = "604800";
  "HIS_NETSPLIT" = "TRUE";
#  "HIS_GLINE" = "TRUE";
#  "HIS_GLINE_REASON" = "FALSE";
  "HIS_SERVERNAME" = "*.mIRCxNet.org";
  "HIS_SERVERINFO" = "mIRCxNeT IRC Server";
#  "HIS_URLSERVERS" = "http://sourceforge.net/projects/evilnet/";
  "NETWORK" = "mIRCxNet";
#  "URL_CLIENTS" = "http://www.ircreviews.org/clients/";
#  "BADUSER_URL" = "http://www.mirc.co.uk/help/servererrors.html";
};
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

update config ircd.conf to nefarious version 2.0.0

Post  Chief on Sun Oct 04, 2015 3:43 pm

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};

# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub;
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 service = yes;
 xtraop = yes;
 local_kill = yes;
 deop_lchan = yes;
 whois_notice = yes;
 admin = yes;
 hide_oper = yes;
 freeform = yes;
 name = "darksis";
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.13";
 hidden = no;
 port = 6667;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.israel";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
#  "IPCHECK_CLONE_LIMIT" = "4";
#  "IPCHECK_CLONE_PERIOD" = "40";
#  "IPCHECK_CLONE_DELAY" = "600";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
#  "OPERMOTD" = "FALSE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
update
4/10
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

update ircd.conf nefarious 2.0.0

Post  Chief on Wed Oct 14, 2015 4:49 pm

14/10
Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub;
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 name = "darksis";
local = no;
 whox = yes;
 display = yes;
 chan_limit = yes;
 mode_lchan = yes;
 deop_lchan = yes;
 walk_lchan = yes;
 show_invis = yes;
 show_all_invis = yes;
 unlimit_query = yes;
 local_kill = yes;
 rehash = yes;
 restart = yes;
 die = yes;
 local_jupe = yes;
 set = yes;
 local_gline = yes;
 local_badchan = yes;
 local_shun = yes;
 see_chan = yes;
 list_chan = yes;
 wide_gline = yes;
 wide_shun = yes;
 see_opers = yes;
 local_opmode = yes;
 force_local_opmode = yes;
 kill = yes;
 gline = yes;
 jupe = yes;
 shun = yes;
 opmode = yes;
 badchan = yes;
 force_opmode = yes;
 apass_opmode = yes;
 check = yes;
 whois_notice = yes;
 hide_oper = yes;
 hide_channels = yes;
 hide_idle = yes;
 admin = yes;
 xtraop = yes;
 service = yes;
 remote = yes;
 freeform = yes;
 remoterehash = yes;
 remove = yes;
 local_zline = yes;
 zline = yes;
 wide_zline = yes;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.13";
 hidden = no;
 port = 6667;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.israel";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
  "AUTOCHANMODES" = "FALSE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

update ircd.conf nefarious 2.0.0

Post  Chief on Sat Oct 17, 2015 11:05 pm

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};

# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwxs";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+s";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xis";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+xs";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide Shun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 local = no;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.16";
 password = "asher";
 port = 4400;
 class = "Server";
 hub;
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 name = "darksis";
local = no;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
#Port {
# server = yes;
# hidden = yes;
# port = ipv4 4401;
#};
#
# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.13";
 hidden = no;
 port = 6667;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.israel";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
#  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

update ircd.conf nefarious 2.0.0 with srvx

Post  Chief on Thu Nov 12, 2015 9:00 pm

update ircd.conf nefarious2 with srvx services with commands /auth nick
Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "::1";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 5;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide /msg [You must be registered and logged in to see this link.] REGISTER yourNick password emailShun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 propagate = yes;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ,ChanFix,HostServ,BotServ,GameServ,saslserv,operserv,HelpServ,ALIS";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "cservice.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "ProxyServer.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "srvx.mIRCxNet.org.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "PHP.mIRCxNet.org.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 name = "darksis";
local = no;
 whox = yes;
 display = yes;
 chan_limit = yes;
 mode_lchan = yes;
 deop_lchan = yes;
 walk_lchan = yes;
 show_invis = yes;
 show_all_invis = yes;
 unlimit_query = yes;
 local_kill = yes;
 rehash = yes;
 restart = yes;
 die = yes;
 local_jupe = yes;
 set = yes;
 local_gline = yes;
 local_badchan = yes;
 local_shun = yes;
 see_chan = yes;
 list_chan = yes;
 wide_gline = yes;
 wide_shun = yes;
 see_opers = yes;
 local_opmode = yes;
 force_local_opmode = yes;
 kill = yes;
 gline = yes;
hide_idle = yes;
 jupe = yes;
 shun = yes;
 opmode = yes;
 badchan = yes;
 force_opmode = yes;
 apass_opmode = yes;
 check = yes;
 whois_notice = yes;
 hide_oper = yes;
 hide_channels = yes;
 admin = yes;
 xtraop = yes;
 service = yes;
 remote = yes;
 freeform = yes;
 remoterehash = yes;
 remove = yes;
 local_zline = yes;
 zline = yes;
 wide_zline = yes;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
Port {
 server = yes;
 hidden = yes;
 port = ipv4 6667;
};

# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
Port {
 vhost = "192.168.1.13";
 hidden = no;
 port = 6667;
};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "ChanServ";
 nick = "ChanServ@services.mIRCxNet.Services";
};
Pseudo "NickServ" {
 name = "NickServ";
 nick = "NickServ@services.mIRCxNet.Services";
};
Pseudo "MemoServ" {
 name = "MemoServ";
 nick = "MemoServ@services.mIRCxNet.Services";
};
Pseudo "HelpServ" {
 name = "HelpServ";
 nick = "HelpServ@services.mIRCxNet.Services";
};
Pseudo "OperServ" {
 name = "OperServ";
 nick = "OperServ@services.mIRCxNet.Services";
};
Pseudo "ChanFix" {
 name = "ChanFix";
 nick = "chanfix@services.mIRCxNet.Services";
};
Pseudo "CS" {
 name = "ChanServ";
 nick = "ChanServ@services.mIRCxNet.Services";
};
Pseudo "NS" {
 name = "NickServ";
 nick = "NickServ@services.mIRCxNet.Services";
};
Pseudo "OS" {
 name = "OperServ";
 nick = "Operserv@services.mIRCxNet.Services";
};

Pseudo "NickServ" {
 name = "AUTH";
 nick = "NickServ@srvx.mIRCxNet.org.Services";
};

Pseudo "AUTH" {
name = "NickServ";
nick = "NickServ@srvx.mIRCxNet.org.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/asher/nefarious2/tools/iauthd.pl" #"-v" "-d" "-c" "/home/asher/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://mircxnet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
  "CLIENT_FLOOD"="8000";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.israel";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
#  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
#  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
#  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
#  "DEFAULTMAXSENDQLENGTH" = "40000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
#  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "FALSE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "1";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
  "HOST_HIDING_KEY2" = "sdfjkLJKHlkjdkfjsdklfjlkjKLJ";
  "HOST_HIDING_KEY3" = "KJklJSDFLkjLKDFJSLKjlKJFlkjS";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
  "CAP_multi_prefix" = "TRUE";
  "CAP_userhost_in_names" = "TRUE";
  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
more things if you run srvx with nefarious2 then you need to know stay like it and do not close
Code:

Pseudo "AUTH" {
name = "NickServ";
nick = "NickServ@srvx.mIRCxNet.org.Services";
prepend = "AUTH ";
};
fix by mIRCx IRC
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

ircd.conf Nefarious2 to x3

Post  Chief on Wed Jan 13, 2016 12:55 am

the last update
12/01/2016
Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 10;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide /msg [You must be registered and logged in to see this link.] REGISTER yourNick password emailShun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 propagate = yes;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ,ChanFix,HostServ,BotServ,GameServ,saslserv,operserv,HelpServ,ALIS";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "cservice.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "srvx.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "php.WebGamesNet.net";
 host = "192.168.1.17";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "PHP.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmoo";
 name = "darksis";
local = no;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
Port {
 server = yes;
 hidden = yes;
 port = ipv4 6667;
};

# The following are normal client ports
Port { port = 6667; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
#Port {
# vhost = "192.168.1.13";
# hidden = no;
# port = 6667;
#};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/mircx/nefarious2/tools/iauthd.pl" "-v" "-d" "-c" "/home/mircx/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIME 86400
#IAUTH BLOCKMSG Sorry! Your connection has been rejected because of your internet address's poor reputation.
#IAUTH DNSBL server=dnsbl.ahbl.org index=2,3,4,5,6,7,9 mark=ahbl block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8004444444444444444433333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444440";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.org";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
  "DEFAULTMAXSENDQLENGTH" = "1000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
#  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
#  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
#  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
#  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
#  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
#  "CHMODE_a" = "TRUE";
#  "CHMODE_c" = "TRUE";
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "Oa9H2uGe7sgowsbduwhiab3us2iI";
  "HOST_HIDING_KEY2" = "0x6fdca669";
  "HOST_HIDING_KEY3" = "IwbUehU2hzi4baiwvHrhsi2hIrvr";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
#  "CTCP_VERSIONING_CHAN" = "TRUE";
#  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
#  "CTCP_VERSIONING_USEMSG" = "TRUE";
#  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
#  "SSL_CERTFILE" = "ircd.pem";
#  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
#  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
#  "HIS_ZLINE_REASON" = "FALSE";
#  "ZLINEMAXUSERCOUNT" = "20";
#  "CAP_multi_prefix" = "TRUE";
#  "CAP_userhost_in_names" = "TRUE";
#  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

all downloads

Post  Chief on Fri Feb 19, 2016 3:43 am

all download
iauth
http://www.f2h.co.il/4hl5ft8klio
ircu2.10.12-pk
http://www.f2h.co.il/3nc1fywazxdr
NeonServV5
http://www.f2h.co.il/m6x2qhmm8cdh
PHP-P10
http://www.f2h.co.il/hfpzcoiwhvby
srvx
http://www.f2h.co.il/3ilzyz9w6vf
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

fix ircd.conf Nefarius2 for srvx

Post  Chief on Fri Jul 22, 2016 1:24 pm

ircd.conf fix by ASHER Nefarious2 work with srvx
Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.ISRAEL";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 10;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide /msg [You must be registered and logged in to see this link.] REGISTER yourNick password emailShun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 propagate = yes;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };
# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ,ChanFix,HostServ,BotServ,GameServ,saslserv,operserv,HelpServ,ALIS";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "go.moo.oh.yes.they.do";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "ProxyServer.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "srvx.mIRCxNet.ISRAEL.Services";
 host = "192.168.1.20";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "php.WebGamesNet.net";
 host = "192.168.1.17";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "PHP.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmo";
 name = "darksis";
local = no;
 whox = yes;
 display = yes;
 chan_limit = yes;
 mode_lchan = yes;
 deop_lchan = yes;
 walk_lchan = yes;
 show_invis = yes;
 show_all_invis = yes;
 unlimit_query = yes;
 local_kill = yes;
 rehash = yes;
 restart = yes;
 die = yes;
 local_jupe = yes;
 set = yes;
 local_gline = yes;
 local_badchan = yes;
 local_shun = yes;
 see_chan = yes;
 list_chan = yes;
 wide_gline = yes;
 wide_shun = yes;
 see_opers = yes;
 local_opmode = yes;
 force_local_opmode = yes;
 kill = yes;
 gline = yes;
 jupe = yes;
 shun = yes;
 opmode = yes;
 badchan = yes;
 force_opmode = yes;
 apass_opmode = yes;
 check = yes;
 whois_notice = yes;
 admin = yes;
 remote = yes;
 freeform = yes;
 remoterehash = yes;
 remove = yes;
 local_zline = yes;
 zline = yes;
 wide_zline = yes;
 service = yes;
 xtraop = yes;
 hide_oper = yes;
 hide_channels = yes;
 hide_idle = yes;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
Port {
 server = yes;
 hidden = yes;
 port = ipv4 6667;
};

# The following are normal client ports
Port { port = 6665; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
#Port {
# vhost = "192.168.1.13";
# hidden = no;
# port = 6667;
#};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "ChanServ";
 nick = "ChanServ@services.mIRCxNet.Services";
};
Pseudo "NickServ" {
 name = "NickServ";
 nick = "NickServ@services.mIRCxNet.Services";
};
Pseudo "MemoServ" {
 name = "MemoServ";
 nick = "MemoServ@services.mIRCxNet.Services";
};
Pseudo "HelpServ" {
 name = "HelpServ";
 nick = "HelpServ@services.mIRCxNet.Services";
};
Pseudo "OperServ" {
 name = "OperServ";
 nick = "OperServ@services.mIRCxNet.Services";
};
Pseudo "ChanFix" {
 name = "ChanFix";
 nick = "chanfix@services.mIRCxNet.Services";
};
Pseudo "CS" {
 name = "ChanServ";
 nick = "ChanServ@services.mIRCxNet.Services";
};
Pseudo "NS" {
 name = "NickServ";
 nick = "NickServ@services.mIRCxNet.Services";
};
Pseudo "OS" {
 name = "OperServ";
 nick = "Operserv@services.mIRCxNet.Services";
};
Pseudo "NickServ" {
 name = "AUTH";
 nick = "NickServ@srvx.mIRCxNet.ISRAEL.Services";
};

Pseudo "AUTH" {
name = "NickServ";
nick = "AuthServ@srvx.mIRCxNet.ISRAEL.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
IAuth {  program = "/usr/bin/perl" "/home/bmt/nefarious2/tools/iauthd.pl" "-v" "-d" "-c" "/home/bmt/lib/ircd.conf";
};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIME 86400
#IAUTH BLOCKMSG Sorry! Your connection to ISRAEL has been rejected
 #IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
 #IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
 #IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  "CLIENT_FLOOD"="8004444444444444444433333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444440";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
  "HOST_HIDING"="TRUE";
  "HIDDEN_HOST"="users.mIRCxNet.ISRAEL";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
  "DEFAULTMAXSENDQLENGTH" = "1000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxNet.ISRAEL";
  "HIS_SERVERINFO" = "The mIRCxnet ISRAEL Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
#  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "FALSE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
#  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
#  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
  "CHMODE_a" = "TRUE";
  "CHMODE_c" = "TRUE";
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "TRUE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "Welding.pipeline";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "Oa9H2uGe7sgowsbduwhiab3us2iI";
  "HOST_HIDING_KEY2" = "0x6fdca669";
  "HOST_HIDING_KEY3" = "IwbUehU2hzi4baiwvHrhsi2hIrvr";
  "HOST_HIDING_COMPONENTS" = "2";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
  "CTCP_VERSIONING_CHAN" = "TRUE";
  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
  "CTCP_VERSIONING_USEMSG" = "TRUE";
  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
#  "SSL_CERTFILE" = "ircd.pem";
#  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
  "HIS_ZLINE_REASON" = "FALSE";
  "ZLINEMAXUSERCOUNT" = "20";
#  "CAP_multi_prefix" = "TRUE";
#  "CAP_userhost_in_names" = "TRUE";
#  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

fix ircd.conf Nefarious2 for x3 services

Post  Chief on Fri Jul 22, 2016 3:19 pm

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.org";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 10;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide /msg [You must be registered and logged in to see this link.] REGISTER yourNick password emailShun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 propagate = yes;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Other";
 ip = "*@*";
 maxlinks = 2;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 2;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 2;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
# Client {
#  host "local";
#  ip = "*";
#  class = "local";
#  sslfp = #"61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
# };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ,ChanFix,HostServ,BotServ,GameServ,saslserv,operserv,HelpServ,ALIS";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "cservice.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "srvx.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "php.WebGamesNet.net";
 host = "192.168.1.17";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "PHP.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmo";
 name = "darksis";
local = no;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
#Port {
# ssl = yes;
# port = 6697;
#};
#
# This is an IPv4-only Server port that is Hidden
Port {
 server = yes;
 hidden = yes;
 port = ipv4 6661;
};

# The following are normal client ports
Port { port = 6661; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
#Port {
# vhost = "192.168.1.13";
# hidden = no;
# port = 6667;
#};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
IAuth {  program = "/usr/bin/perl" "/home/mircx/nefarious2/tools/iauthd.pl" "-v" "-d" "-c" "/home/mircx/lib/ircd.conf";
};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://afternet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  #"CLIENT_FLOOD"="8004444444444444444433333333333333333333333222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444440";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.org";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
  "DEFAULTMAXSENDQLENGTH" = "1000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.org";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
#  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
#  "LOC_SENDSSLFP" = "FALSE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
#  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
#  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
#  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
#  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
#  "CHMODE_a" = "TRUE";
#  "CHMODE_c" = "TRUE";
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "Oa9H2uGe7sgowsbduwhiab3us2iI";
  "HOST_HIDING_KEY2" = "0x6fdca669";
  "HOST_HIDING_KEY3" = "IwbUehU2hzi4baiwvHrhsi2hIrvr";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
#  "CTCP_VERSIONING_CHAN" = "TRUE";
#  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
#  "CTCP_VERSIONING_USEMSG" = "TRUE";
#  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
#  "SSL_CERTFILE" = "ircd.pem";
#  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "";
#  "SSL_VERIFYCERT" = "FALSE";
#  "SSL_NOSELFSIGNED" = "FALSE";
#  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
#  "HIS_ZLINE_REASON" = "FALSE";
#  "ZLINEMAXUSERCOUNT" = "20";
#  "CAP_multi_prefix" = "TRUE";
#  "CAP_userhost_in_names" = "TRUE";
#  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

ircd.conf fix for Nefarious2 to X3

Post  Chief on Tue Oct 18, 2016 10:50 pm

Code:

# ircd.conf - configuration file for ircd version ircu2.10
#
# Last Updated:  20, March 2002.
#
# Written by Niels <niels@undernet.org>, based on the original example.conf,
# server code and some real-life (ahem) experience.
#
# Updated and heavily modified by Braden <dbtem@yahoo.com>.
#
# Rewritten by A1kmm(Andrew Miller)<a1kmm@mware.virtualave.net> to support
# the new flex/bison configuration parser.
#
# Thanks and credits to: Run, Trillian, Cym, Morrissey, Chaos, Flynn,
#                        Xorath, WildThang, Mmmm, SeKs, Ghostwolf and
#                        all other Undernet IRC Admins and Operators,
#                        and programmers working on the Undernet ircd.
#
# This is an example of the configuration file used by the Undernet ircd.
#
# This document is based on a (fictious) server in Europe with a
# connection to the Undernet IRC network. It is primarily a leaf server,
# but if all the other hubs in Europe aren't in service, it can connect
# to one in the US by itself.
#
# The configuration format consists of a number of blocks in the format
#  BlockName { setting = number; setting2 = "string"; setting3 = yes; };
# Note that comments start from a #(hash) and go to the end of the line.
# Whitespace(space, tab, or carriage return/linefeed) are ignored and may
# be used to make the configuration file more readable.
#
# Please note that when ircd puts the configuration lines into practice,
# it parses them exactly the other way round than they are listed here.
# It uses the blocks in reverse order.
#
# This means that you should start your Client blocks with the
# "fall through", most vanilla one, and end with the most detailed.
#
# There is a difference between the "hostname" and the "server name"
# of the machine that the server is run on. For example, the host can
# have "veer.cs.vu.nl" as FQDN, and "Amsterdam.NL.EU.undernet.org" as
# server name.
# A "server mask" is something like "*.EU.UnderNet.org", which is
# matched by "Amsterdam.NL.EU.undernet.org" but not by
# "Manhattan.KS.US.undernet.org".
#
# Please do NOT just rename the example.conf to ircd.conf and expect
# it to work.


# [General]
#
# First some information about the server.
# General {
#        name = "servername";
#        vhost = "ipv4vhost";
#        vhost = "ipv6vhost";
#        description = "description";
#        numeric = numericnumber;
#        dns vhost = "ipv4vhost";
#        dns vhost = "ipv6vhost";
#        dns server = "ipaddress";
#        dns server = "ipaddress2";
# };
#
# If present, <virtual host> must contain a valid address in dotted
# quad or IPv6 numeric notation (127.0.0.1 or ::1).  The address MUST
# be the address of a physical interface on the host.  This address is
# used for outgoing connections if the Connect{} block does not
# override it.  See Port{} for listener virtual hosting.  If in doubt,
# leave it out -- or use "*", which has the same meaning as no vhost.
#
# You may specify both an IPv4 virtual host and an IPv6 virtual host,
# to indicate which address should be used for outbound connections
# of the respective type.
#
# Note that <server numeric> has to be unique on the network your server
# is running on, must be between 0 and 4095, and is not updated on a rehash.
#
# The two DNS lines allow you to specify the local IP address to use
# for DNS lookups ("dns vhost") and one or more DNS server addresses
# to use.  If the vhost is ambiguous for some reason, you may list
# IPV4 and/or IPV6 between the equals sign and the address string.
# The default DNS vhost is to let the operating system assign the
# address, and the default DNS servers are read from /etc/resolv.conf.
# In most cases, you do not need to specify either the dns vhost or
# the dns server.
General {
        name = "irc.mIRCxNet.ISRAEL";
        description = "mIRCx IRC Network";
        vhost = "*";
        numeric = 1;
};

# [Admin]
#
# This sets information that can be retrieved with the /ADMIN command.
# It should contain at least an admin Email contact address.
Admin {
  # At most two location lines are allowed...
  Location = "mIRCx IRC Network";
  Location = "mIRCxNet IRC server";
  Contact = "mIRCx@gmail.com";
};

# [Classes]
#
# All connections to the server are associated with a certain "connection
# class", be they incoming or outgoing (initiated by the server), be they
# clients or servers.
#
# Class {
#  name = "<class>";
#  pingfreq = time;
#  connectfreq = time;
#  maxlinks = number;
#  maxchans = number;
#  sendq = size;
#  recvq = size;
#  usermode = "+i";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autojoinnotice";
#  restrict_join = yes/no;
#  restrict_privmsg = yes/no;
#  restrict_umode = yes/no;
# };
#
# For connection classes used on server links, maxlinks should be set
# to either 0 (for hubs) or 1 (for leaf servers).  Client connection
# classes may use maxlinks between 0 and approximately 4,000,000,000.
# maxlinks = 0 means there is no limit on the number of connections
# using the class.
#
# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
#
# <snomask> applies only to classes used for Operator blocks and is
# used to specify the server notice mask an oper gets when he/she uses
# /oper. See doc/snomask.txt or doc/snomask.html for details on what
# this number means.
#
# <autojoinchannel> can be specified to automatically join users of the
# class into. If <autojoinnotice> is specified then a notice is sent
# to the user when automatically joined.
#
# <restrict_join> when enabled restricts users in the class from joining
# any channel with the exception of channels specified in the
# autojoinchannel class option.
#
# <restrict_privmsg> when enabled prevents users in the class from
# sending PRIVMSG or NOTICE to other users who are not on the same
# channel as the user.
#
# <restrict_umode> when enabled prevents users in the class from
# changing their user modes.
#
# Recommended server classes:
# All your server uplinks you are not a hub for.
Class {
 name = "Server";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 1;
 sendq = 9000000;
};
# All the leaf servers you hub for.
Class {
 name = "LeafServer";
 pingfreq = 1 minutes 30 seconds;
 connectfreq = 5 minutes;
 maxlinks = 0;
 sendq = 9000000;
};
 Class { name = "client";
 pingfreq = 1 minutes 30 seconds;
 sendq = 10;
 recvq = 10;
 maxlinks = 20;
 maxchans = 10;
 usermode = "+iwx";
 fakelagminimum = 0;
 fakelagfactor = 0;
 local = no;
};
# Client {
#  username = "ident";
#  host = "host";
#  ip = "127.0.0.0/8";
#  password = "password";
#  class = "classname";
#  maxlinks = 3;
# };
#
# Everything in a Client block is optional.  If a username mask is
# given, it must match the client's username from the IDENT protocol.
# If a host mask is given, the client's hostname must resolve and
# match the host mask.  If a CIDR-style IP mask is given, the client
# must have an IP matching that range.  If maxlinks is given, it is
# limits the number of matching clients allowed from a particular IP
# address.
#
# Take the following class blocks only as a guide.
Class {
 name = "Local";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 100;
 usermode = "+xi";
};
Class {
 name = "America";
 pingfreq = 1 minutes 30 seconds;
 sendq = 80000;
 maxlinks = 10;
};
Class {
 name = "Other";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 400;
 usermode = "+x";
};
Class {
 name = "Opers";
 pingfreq = 1 minutes 30 seconds;
 sendq = 160000;
 maxlinks = 10;
 usermode = "+x";
 # For connection classes intended for operator use, you can specify
 # privileges used when the Operator block (see below) names this
 # class.  The local (aka globally_opered) privilege MUST be defined
 # by either the Class or Operator block.  The following privileges
 # exist:
 #
 # local (or propagate, with the opposite sense)
 # whox  (log oper's use of x flag with /WHO)
 # display (oper status visible to lusers)
 # chan_limit (can join local channels when in
 #                              MAXCHANNELSPERUSER channels)
 # mode_lchan (can /MODE &channel without chanops)
 # deop_lchan (cannot be deopped or kicked on local channels)
 # walk_lchan (can forcibly /JOIN &channel OVERRIDE)
 # show_invis (see +i users in /WHO x)
 # show_all_invis (see +i users in /WHO x)
 # unlimit_query (show more results from /WHO)
 # local_kill (can kill clients on this server)
 # rehash (can use /REHASH)
 # restart (can use /RESTART)
 # die (can use /DIE)
 # local_jupe (not used)
 # set (can use /SET)
 # local_gline (can set a G-line for this server only)
 # local_badchan (can set a Gchan for this server only)
 # local_jupe (can set a Jupe for this server only)
 # local_shun (can set a Shun for this server only)
 # see_chan (can see users in +s channels in /WHO)
 # list_chan (can see +s channels with /LIST S, or modes with /LIST M)
 # wide_gline (can use ! to force a wide G-line)
 # wide_shun (can use ! to force a wide /msg [You must be registered and logged in to see this link.] REGISTER yourNick password emailShun)
 # see_opers (can see opers without DISPLAY privilege)
 # local_opmode (can use OPMODE/CLEARMODE on local channels)
 # force_local_opmode (can use OPMODE/CLEARMODE on quarantined local channels)
 # kill (can kill clients on other servers)
 # gline (can issue G-lines to other servers)
 # jupe (can issue Jupes to other servers)
 # shun (can issue Shuns to other servers)
 # opmode (can use /OPMODE)
 # badchan (can issue Gchans to other servers)
 # force_opmode (can use OPMODE/CLEARMODE on quarantined global channels)
 # apass_opmode (can use OPMODE/CLEARMODE on +A and +U keys)
 # check (can use /CHECK)
 # whois_notice (can set user mode +W)
 # hide_oper (can set user mode +H)
 # hide_channels (can set user mode +n)
 # hide_idle (can set user mode +I)
 # admin (gets user mode +a and can set/unset it too)
 # xtraop (can set user mode +X)
 # service (can set user mode +k)
 # remote (can use associated operator block from a remote server)
 # freeform (can use /SETHOST to apply a spoofhost not configured with a Spoofhost block)
 # remoterehash (can use /REHASH to rehash remote servers)
 # remove (can use /REMOVE to remove glines and shuns by force)
 # local_zline (can set a Z-line for this server only)
 # zline (can issue Z-lines to other servers)
 # wide_zline (can use ! to force a wide Z-line)
 #
 # For global opers (with propagate = yes or local = no), the default
 # is to grant all of the above privileges EXCEPT walk_lchan,
 # unlimit_query, set, badchan, local_badchan, apass_opmode,
 # whois_notice, hide_oper, hide-channels, hide_idle, admin, xtraop,
 # service, remote, freeform and remove.
 # For local opers, the default is to grant ONLY the following
 # privileges:
 #  chan_limit, mode_lchan, show_invis, show_all_invis, local_kill,
 #  rehash, local_gline, local_jupe, local_opmode, whox, display,
 #  force_local_opmode, local_shun and local_zline
 # Any privileges listed in a Class block override the defaults.

 propagate = yes;
};
# [Client]
#
# To allow clients to connect, they need authorization. This can be
# done based on hostmask, address mask, and/or with a password.
# With intelligent use of classes and the maxconnections field in the
# Client blocks, you can let in a specific domain, but get rid of all other
# domains in the same toplevel, thus setting up some sort of "reverse
# Kill block".
# Client {
#  host = "user@host";
#  ip = "user@ip";
#  password = "password";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  noidenttilde = yes/no;
#  hidehostcomponants = number;
#  autojoinchannel = "mircx";
#  autojoinnotice = "autojoinnotice";
# };
#
# Technical description (for examples, see below):
# For every connecting client, the IP address is known.  A reverse lookup
# on this IP-number is done to get the (/all) hostname(s).
# Each hostname that belongs to this IP-number is matched to <hostmask>,
# and the Client {} is used when any matches; the client will then show
# with this particular hostname.  If none of the hostnames match, then
# the IP-number is matched against the <IP mask ...> field, if this matches
# then the Client{} is used nevertheless and the client will show with the
# first (main) hostname if any; if the IP-number did not resolve then the
# client will show with the dot notation of the IP-number.
# There is a special case for the UNIX domain sockets and localhost connections
# though; in this case the <IP mask ...> field is compared with the
# name of the server (thus not with any IP-number representation). The name
# of the server is the one returned in the numeric 002 reply, for example:
# 002 Your host is 2.undernet.org[jolan.ppro], running version ...
# Then the "jolan.ppro" is the name used for matching.
# Therefore, unix domain sockets, and connections to localhost would
# match this block:
# host = "*@jolan.ppro";
#
# This is the "fallback" entry. All .uk, .nl, and all unresolved are
# in these two lines.
# By using two different lines, multiple connections from a single IP
# are only allowed from hostnames which have both valid forward and
# reverse DNS mappings.
Client
{
 class = "Local";
 ip = "*@*";
 maxlinks = 5;
};


Client
{
 class = "Other";
 host = "*@*";
 maxlinks = 5;
};
# If you don't want unresolved dudes to be able to connect to your
# server, do not specify any "ip = " settings.
#
# Here, take care of all American ISPs.
Client
{
 host = "*@*.com";
 class = "America";
 maxlinks = 2;
};

Client
{
 host = "*@*.net";
 class = "America";
 maxlinks = 5;
};
# Now list all the .com / .net domains that you wish to have access...
# actually it's less work to do it this way than to do it the other
# way around - K-lining every single ISP in the US.
# I wish people in Holland just got a .nl domain, and not try to be
# cool and use .com...
Client { host = "*@*.wirehub.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.planete.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ivg.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ib.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.ibm.net"; class = "Other"; maxlinks=2; };
Client { host = "*@*.hydro.com"; class = "Other"; maxlinks=2; };
Client { host = "*@*.nl.net"; class = "Other"; maxlinks=2; };

# You can request a more complete listing, including the "list of standard
# Kill blocks" from the Routing Committee; it will also be sent to you if
# you apply for a server and get accepted.
#
# Ourselves - this makes sure that we can get in, no matter how full
# the server is (hopefully).
Client
{
 host = "*@*.london.ac.uk";
 ip = "*@193.37.*";
 class = "Other";
 # A maxlinks of over 5 will automatically be glined by euworld on Undernet
 maxlinks = 5;
};

# You can put an expression in the maxlinks value, which will make ircd
# only accept a client when the total number of connections to the network
# from the same IP number doesn't exceed this number.
# The following example would accept at most one connection per IP number
# from "*.swipnet.se" and at most two connections from dial up accounts
# that have "dial??.*" as host mask:
# Client {
#  host = "*@*.swipnet.se";
#  maxlinks = 1;
#  class = "Other";
# };
# Client {
#  host = "*@dial??.*";
#  maxlinks = 2;
#  class = "Other";
# };
#
# If you are not worried about who connects, this line will allow everyone
# to connect.
#Client {
# host = "*@*";
# ip = "*@*";
# class = "Other";
# maxlinks = 2;
#};
#
# You can additionally specify either a country code or continent code
# using the country or continent fields for a Client block to be matched
# by.
 Client {
  country = "IL";
  class = "Local";
 };

# You can also specify an SSL client certificate fingerprint for a Client
# block as an alternative, or addition to the password for authentication.
Client {
  host = "*";
  ip = "*";
  class = "Other";
  sslfp = "61D0720B27D8AED9C0A7CB788091B0D8D9A94E119D5118E574B70EECD41B3C26";
 };

# You can disable the '~' prefix applied to users with no ident reply by
# setting noidenttilde to 'no' (default: 'yes').
# Client {
#  host = "local";
#  ip = "*";
#  class = "Other";
#  noidenttilde = yes;
# };

# You can specify a server (and optionally a port) that a client should be advised
# to reconnect to using the 'redirect' option. If a port is not specified then
# 6667 is used.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  redirect = "some.other.server.com" 6667;
# };

# You can specify the number of host name componants to hide when using
# HOST_HIDING_STYLE 2 or 3 by adding the hidehostcomponants option to a Client
# block.
#
# Client {
#  host = "*@*";
#  ip = "*@*";
#  class = "Other";
#  hidehostcomponants = 3;
# };

# You can specify a list of channels to automatically join users into upon
# connecting by adding the autojoinchannel option to the Client block. You
# can also specify a notice to send to users when they are automatically.
#
 Client {
  host = "*@*";
  ip = "*@*";
  class = "Other";
  autojoinchannel = "#mIRCx";
  autojoinnotice = "*** Notice -- You are now being autojoined into #mIRCx Enjoy ;)";
 };

# [motd]
#
# It is possible to show a different Message of the Day to a connecting
# client depending on its origin.
# motd {
#  # Note: host can also be a classname.
#  host = "Other";
#  country = "countrycode";
#  continent = "continentcode";
#  file = "path/to/motd/file";
# };
#
# More than one host/country/continent = "mask"; entry may be present in
# one block; this has the same effect as one Motd block for each host
# entry, but makes it easier to update the messages's filename.
#
# DPATH/net_com.motd contains a special MOTD where users are encouraged
# to register their domains and get their own client{} lines if they're in
# Europe, or move to US.UnderNet.org if they're in the USA.
motd {
 host = "*.net";
 file = "net_com.motd";
};
motd {
 host = "*.com";
 file = "net_com.motd";
};
motd {
 host = "America";
 file = "net_com.motd";
};

# A different MOTD for ourselves, where we point out that the helpdesk
# better not be bothered with questions regarding irc...
motd {
 host = "*.london.ac.uk";
 file = "london.motd";
};

# [UWorld]
#
# One of the many nice features of Undernet is "Uworld", a program
# connected to the net as a server. This allows it to broadcast any mode
# change, thus allowing opers to, for example, "unlock" a channel that
# has been taken over.
# There is only one slight problem: the TimeStamp protocol prevents this.
# So there is a configuration option to allow them anyway from a certain
# server.
# UWorld {
#  # The servername or wildcard mask for it that this applies to.
#  name = "relservername";
# };
#
# You may have have more than one name listed in each block.
#
# Note: (1) These lines are agreed on by every server admin on Undernet;
# (2) These lines must be the same on every single server, or results
# will be disasterous; (3) This is a useful feature, not something that
# is a liability and abused regularly (well... :-)
# If you're on Undernet, you MUST have these lines. I cannnot stress
# this enough.  If all of the servers don't have the same lines, the
# servers will try to undo the mode hacks that Uworld does.  Make SURE that
# all of the servers have the EXACT same UWorld blocks.
#
# If your server starts on a bit larger network, you'll probably get
# assigned one or two uplinks to which your server can connect.
# If your uplink(s) also connect to other servers than yours (which is
# probable), you need to define your uplink as being allowed to "hub".
# See the Connect block documentation for details on how to do that.

UWorld {
 name = "uworld.eu.undernet.org";
 name = "uworld2.undernet.org";
 name = "uworld.undernet.org";
 name = "channels.undernet.org";
 name = "channels2.undernet.org";
 name = "channels3.undernet.org";
 name = "channels4.undernet.org";
 name = "channels5.undernet.org";
 name = "channels6.undernet.org";
};

# As of ircu2.10.05 is it possible to Jupe nicks. As per CFV-0095 and
# CFV-0255, the following nicks must be juped, it is not allowed to
# jupe others as well.
Jupe {
 nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
 nick = "EuWorld,UWorld,UWorld2";
 nick = "login,undernet,protocol,pass,newpass,org";
 nick = "StatServ,NoteServ";
 nick = "ChanSvr,ChanSaver,ChanServ";
 nick = "NickSvr,NickSaver,NickServ,ChanFix,HostServ,BotServ,GameServ,saslserv,operserv,HelpServ,ALIS";
 nick = "LPT1,LPT2,COM1,COM2,COM3,COM4,AUX";
};

# [Kill]
#
# While running your server, you will most probably encounter individuals
# or groups of persons that you do not wish to have access to your server.
#
# For this purpose, the ircd understands "kill blocks". These are also
# known as K-lines, by virtue of the former config file format.
# Kill
# {
#  host = "user@host";
#  reason = "The reason the user will see";
# };
# It is possible to ban on the basis of the real name.
# It is also possible to use a file as comment for the ban, using
# file = "file":
# Kill
# {
#  realname = "realnametoban";
#  file = "path/to/file/with/reason/to/show";
# };
# It is also possible to ban using either the 2 letter country code or
# the 2 letter continent code provided by GeoIP using either the country
# or continent fields.
# Kill
# {
#  country = "US";
#  reason = "Local server for local people!";
# };
#
#
# The default reason is: "You are banned from this server"
# Note that Kill blocks are local to the server; if you ban a person or a
# whole domain from your server, they can get on IRC via any other server
# that doesn't have them Killed (yet).
#
# With a simple comment, using quotes:
Kill { host = "*.au"; reason = "Please use a nearer server"; };
Kill { host = "*.edu"; reason = "Please use a nearer server"; };

# You can also kill based on username.
Kill { username = "sub7"; realname = "s*7*"; reason = "You are infected with a Trojan"; };

# The file can contain for example, a reason, a link to the
# server rules and a contact address.  Note the combination
# of username and host in the host field.
Kill
{
 host = "*luser@unixbox.flooder.co.uk";
 file = "kline/youflooded.txt";
};

# IP-based kill lines apply to all hosts, even if an IP address has a
# properly resolving host name.
#Kill
#{
# host = "192.168.*";
# file = "klines/martians";
#};
#
# The realname field lets you ban by realname...
Kill
{
 realname = "*sub7*";
 reason = "You are infected with a Trojan";
};

# The version field lets you ban by CTCP version (requires "CTCP_VERSION" and
# "CTCP_VERSIONING_KILL" to be enabled in the Features block)
#Kill
#{
#  version = "*iroffer*";
#  reason = "You are using a disallowed chat client version. Either upgrade #or get a new client.";
#};
#
# A Kill block can also allow authenticated users to connect even if they match
# the kill block in question. This can be achieved by adding the authexempt
# option to the kill block. Addition of the mark option will add a line to the
# users WHOIS with the value of the mark option.
#Kill
#{
#  host = "silly.people";
#  reason = "Silly people are not allowed unless authenticated.";
#  authexempt = yes;
#  mark = "Silly Person";
#};
#
# [Connect]
#
# You probably want your server connected to other servers, so your users
# have other users to chat with.
# IRC servers connect to other servers forming a network with a star or
# tree topology. Loops are not allowed.
# In this network, two servers can be distinguished: "hub" and "leaf"
# servers. Leaf servers connect to hubs; hubs connect to each other.
# Of course, many servers can't be directly classified in one of these
# categories. Both a fixed and a rule-based decision making system for
# server links is provided for ircd to decide what links to allow, what
# to let humans do themselves, and what links to (forcefully) disallow.
#
# The Connect blocks
# define what servers the server connect to, and which servers are
# allowed to connect.
# Connect {
#  name = "servername";
#  host = "hostnameORip";
#  vhost = "localIP";
#  password = "passwd";
#  port = portno;
#  class = "classname";
#  maxhops = 2;
#  hub = "*.eu.undernet.org";
#  autoconnect = no;
#  sslfp = "sslfingerprint";
# };
#
# The "port" field defines the default port the server tries to connect
# to if an operator uses /connect without specifying a port. This is also
# the port used when the server attempts to auto-connect to the remote
# server. (See Class blocks for more informationa about auto-connects).
# You may tell ircu to not automatically connect to a server by adding
# "autoconnect = no;"; the default is to autoconnect.
#
# If the vhost field is present, the server will use that IP as the
# local end of connections that it initiates to this server.  This
# overrides the vhost value from the General block.
#
# If the sslfp field is present the remote server must be connected via
# SSL using an SSL certificate with the SHA256 fingerprint specified to
# be allowed to use the Connect block.
#
# The maxhops field causes an SQUIT if a hub tries to introduce
# servers farther away than that; the element 'leaf;' is an alias for
# 'maxhops = 0;'.  The hub field limits the names of servers that may
# be introduced by a hub; the element 'hub;' is an alias for
# 'hub = "*";'.
#
# Our primary uplink.
Connect {
 name = "cservice.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "X3.mIRCxNet.Services";
 host = "192.168.1.20";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "srvx.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "php.WebGamesNet.net";
 host = "192.168.1.17";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "PHP.mIRCxNet.org.Services";
 host = "192.168.1.14";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

Connect {
 name = "services.mIRCxNet.Services";
 host = "192.168.1.13";
 password = "asher";
 port = 4400;
 class = "Server";
 hub = "*";
};

# [crule]
#
# For an advanced, real-time rule-based routing decision making system
# you can use crule blocks. For more information, see doc/readme.crules.
# If more than one server mask is present in a single crule, the rule
# applies to all servers.
# CRULE
# {
#  server = "servermask";
#  rule = "connectrule";
#  # Setting all to yes makes the rule always apply. Otherwise it only
#  # applies to autoconnects.
#  all = yes;
# };
CRULE
{
 server = "*.US.UnderNet.org";
 rule = "connected(*.US.UnderNet.org)";
};
CRULE
{
 server = "*.EU.UnderNet.org";
 rule = "connected(Amsterdam.NL.EU.*)";
};

# The following block is recommended for leaf servers:
CRULE
{
 server = "*";
 rule = "directcon(*)";
};

# [Operator]
#
# Inevitably, you have reached the part about "IRC Operators". Oper status
# grants some special privileges to a user, like the power to make the
# server break or (try to) establish a connection with another server,
# and to "kill" users off IRC.
# I can write many pages about this; I will restrict myself to saying that
# if you want to appoint somebody as IRC Operator on your server, that
# person should be aware of his/her responsibilities, and that you, being
# the admin, will be held accountable for their actions.
#
# There are two sorts of IRC Operators: "local" and "global". Local opers
# can squit, connect and kill - but only locally: their +o user mode
# is not not passed along to other servers. On Undernet, this prevents
# them from using Uworld as well.
#
# More than one host = "mask"; entry may be present in one block; this
# has the same effect as one Operator block for each host entry, but
# makes it easier to update operator nicks, passwords, classes, and
# privileges.
#
# Operator {
#  host = "host/IP mask";
#  name = "opername";
#  password = "encryptedpass";
#  class = "classname";
#  sslfp = "sslfingerprint";
#  snomask = number;
#  autojoinchannel = "channellist";
#  autojoinnotice = "autjoinnotice";
#  # You can also set any operator privilege; see the Class block
#  # documentation for details.  A privilege defined for a single
#  # Operator will override the privilege settings for the Class
#  # and the default setting.
# };
#
# By default, the password is hashed using the system's native crypt()
# function.  Other password mechanisms are available; the umkpasswd
# utility from the ircd directory can hash passwords using those
# mechanisms.  If you use a password format that is NOT generated by
# umkpasswd, ircu will not recognize the oper's password.
#
# If sslfp is present the user must be connected via SSL from a client
# setup to use an SSL client certificate with the SHA256 fingerprint
# specified.
#
# snomask is used to specify the server notice mask an oper gets when
# he/she uses /oper. See doc/snomask.txt or doc/snomask.html for
# details on what this number means.
#
# autjoinchannel allows you to specify channels the user is automatically
# joined into when he/she uses /oper. Additionally you can specify a
# notice to be sent to the user by using autojoinnotice.
#
# All privileges are shown with their default values; if you wish to
# override defaults, you should set only those privileges for the
# operator.  Listing defaulted privileges just makes things harder to
# find.
Operator {
 local = no;
 host = "*@*.cs.vu.nl";
 password = "VRKLKuGKn0jLt";
 name = "Niels";
 class = "Local";
};
Operator {
 host = "*@*";
 password = "$PLAIN$leetmo";
 name = "darksis";
local = no;
 class = "Opers";
};

# Note that the <connection class> is optional, but leaving it away
# puts the opers in class "default", which usually only accepts one
# connection at a time.  If you want users to Oper up more then once per
# block, then use a connection class that allows more then one connection,
# for example (using class Local as in the example above):
#
# Once you OPER your connection class changes no matter where you are or
# your previous connection classes.  If the defined connection class is
# Local for the operator block, then your new connection class is Local.

# [Port]
# When your server gets more full, you will notice delays when trying to
# connect to your server's primary listening port. It is possible via the
# Port lines to specify additional ports for the ircd to listen to.
# De facto ports are: 6667 - standard; 6660-6669 - additional client
# ports;
# Undernet uses 4400 for server listener ports.
# These are just hints, they are in no way official IANA or IETF policies.
# IANA says we should use port 194, but that requires us to run as root,
# so we don't do that.
#
#
# Port {
#  port = [ipv4] [ipv6] number;
#  mask = "ipmask";
#  # Use this to control the interface you bind to.
#  vhost = [ipv4] [ipv6] "virtualhostip";
#  # You can specify both virtual host and port number in one entry.
#  vhost = [ipv4] [ipv6] "virtualhostip" number;
#  # Setting to yes makes this server only.
#  server = yes;
#  # Setting to yes makes the port "hidden" from stats.
#  hidden = yes;
#  # Setting to yes makes the port accept SSL encrypted connections.
#  ssl = yes;
# };
#
# The port and vhost lines allow you to specify one or both of "ipv4"
# and "ipv6" as address families to use for the port.  The default is
# to listen on both IPv4 and IPv6.
#
# The mask setting allows you to specify a range of IP addresses that
# you will allow connections from. This should only contain IP addresses
# and '*' if used. This field only uses IP addresses. This does not use
# DNS in any way so you can't use it to allow *.nl or *.uk. Attempting
# to specify anything other than numbers, dots and stars [0-9.*] will result
# in the port allowing connections from anyone.
#
# The interface setting allows multiply homed hosts to specify which
# interface to use on a port by port basis, if an interface is not specified
# the default interface will be used. The interface MUST be the complete
# IP address for a real hardware interface on the machine running ircd.
# If you want to use virtual hosting *YOU* *MUST* *USE* *THIS* otherwise it
# WILL bind to all interfaces - not what most people seem to expect.
#
Port {
 server = yes;
 port = 4400;
};

# This is an SSL port.
Port {
 ssl = yes;
 port = 6650;
};


# This is an IPv4-only Server port that is Hidden
Port {
 server = yes;
 hidden = yes;
 port = ipv4 6661;
};

# The following are normal client ports
Port { port = 6661; };
#Port { port = 7776; };
#Port { port = 4872; };
#Port {
# # This only accepts clients with IPs like 192.168.*.
# mask = "192.168.*";
# port = 6668;
#};
#
# This is a hidden client port, listening on 168.8.21.107.
#Port {
# vhost = "192.168.1.13";
# hidden = no;
# port = 6667;
#};

# More than one vhost may be present in a single Port block; in this case,
# we recommend listing the port number on the vhost line for clarity.
#Port {
# vhost = "172.16.0.1" 6667;
# vhost = "172.16.3.1" 6668;
# hidden = no;
#};
#
# [Spoofhost]
#
# Spoofhost "*" {
#  pass = "aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
#  host = "*";
#  autoapply = no;
#  ismask = yes;
# };

# <spoof host>  An ident@hostname or hostname to be spoofed
# <password>    A password for this spoof host. Used if SETHOST_USER is enabled.
# <hostmask>    A hostmask for matching against users that are to be auto
#              spoofed or to restrict access to a spoof host.
# <autoapply>  Either yes or no, yes indicates that the Spoofhost should be
#              automatically applied to a user. If set to yes, <pass> is
#              ignored when automatically applying the host.
# <ismask>      Either yes or no, yes indicates that <spoof host> is a wild
#              card mask (includes * or ?) to match against the supplied spoof
#              host. A yes also sets <autoapply> to no.
#
# NOTE: When using ismask steps should be taken to ensure only users you trust
#      can make use of a Spoofhost block using the option. The reason for this
#      is because of the nature of ismask, users who can use a Spoofhost block
#      with ismask enabled can make use of a wild card mask to change their
#      host name and evade channel bans.
#
# Spoofhost "testsline.AfterNET.Org"  { pass = #"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW"; host = "*"; };
#
# This is how to define Spoofhosts when having freeform turned off.
# Spoofhost "testsline2.AfterNET.Org" { username = "x"; host = "nohost"; };

# Quarantine blocks disallow operators from using OPMODE and CLEARMODE
# on certain channels.  Opers with the force_opmode (for local
# channels, force_local_opmode) privilege may override the quarantine
# by prefixing the channel name with an exclamation point ('!').
# Wildcards are NOT supported; the channel name must match exactly.
Quarantine {
  "#shells" = "Thou shalt not support the h4><0rz";
  "&kiddies" = "They can take care of themselves";
};

# This is a server-implemented alias to send a message to a service.
# The string after Pseudo is the command name; the name entry inside
# is the service name, used for error messages.  More than one nick
# entry can be provided; the last one listed has highest priority.
Pseudo "CHANSERV" {
 name = "X3";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also prepend text before the user's message.
Pseudo "cmd" {
 name = "X3";
 prepend = "service";
 nick = "AuthServ@X3.mIRCxNET.Services";
};

# You can also specify the default text to send if the user does not
# supply some text.
Pseudo "AUTHSERV" {
 name = "AUTH";
 nick = "AuthServ@x3.mIRCxNET.Services";
};

Pseudo "AUTH" {
name = "authserv";
nick = "AuthServ@X3.mIRCxNET.Services";
prepend = "AUTH ";
};
# You can ask a separate server whether to allow users to connect.
# Uncomment this ONLY if you have an iauth helper program.
#IAuth {  program = "/usr/bin/perl" "/home/mircx/nefarious2/tools/iauthd.pl" "-v" "-d" "-c" "/home/mircx/lib/ircd.conf";
#};
#IAUTH POLICY RTAWUwFr
#IAUTH CACHETIMEOUT 21600
#IAUTH DNSTIMEOUT 5
#IAUTH BLOCKMSG Sorry! Your connection to AfterNET has been rejected because of your internet address's poor reputation. You may try an authenticated login using Login-On-Connect (LOC) instead. See http://afternet.org/rbl for more information.
#IAUTH DNSBL server=dnsbl.sorbs.net index=2,3,4,5,6,7,9 mark=sorbs block=anonymous
#IAUTH DNSBL server=dnsbl.dronebl.org index=2,3,5,6,7,8,9,10,13,14,15 mark=dronebl block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=4 mark=tor block=anonymous
#IAUTH DNSBL server=rbl.efnetrbl.org index=1,2,3,5 mark=efnetrbl block=anonymous
#IAUTH DNSBL server=dnsbl-2.uceprotect.net index=2 mark=uce-2
#IAUTH DNSBL server=6667.173.122.134.230.173.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=80.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
#IAUTH DNSBL server=443.204.128.107.97.ip-port.exitlist.torproject.org index=2 mark=tor block=anonymous
# [Forwards]
# These blocks will enable the server to forward any messages which
# are prefixed and specific with a b:line. This will allow users to
# use the services without the services being in channel.
#
# Forwards {
#  "<prefix>" = "<services server>";
# };
#
# Forwards {
#  "!" = "channels.undernet.org";
#  "?" = "channels.undernet.org";
#  "." = "channels.undernet.org";
# };
#
# Any channel messages prefixed with a ? ! or a . would be sent to
# channels.undernet.org in the above examples.

# [WebIRC]
# These blocks allow you to run a WEBIRC client on your website without
# having to set clone exceptions for your websites hostname on your IRCd.
# WEBIRC will send a WEBIRC command along with the clients hostname, ip and
# WEBIRC password.
#
# WebIRC {
#  host = "user@host";
#  password = "password";
#  ident = "fakeident";
#  userident = yes/no;
#  ignoreident = yes/no;
#  stripsslfp = yes/no;
#  description = "description";
# };
#
# The host and password fields take the same formats as in the Client block.
# The host field is matched against the host mask of the client attempting
# to use the WEBIRC command. The ident field is optional and if specified
# is used as if it were the reply from the users identd. The ignoreident
# option causes any identd reply already received to be ignored. The
# userident option uses the USER user name as if it were an identd reply if
# none was received or if ignoreident is set to yes. The description field is
# a short line of text to be added to the user's WHOIS to mark them as a
# WEBIRC user. If the client issuing the WEBIRC command uses an SSL client
# certificate then stripsslfp should be set to yes.
#
# Example:
# WebIRC {
#  host = "*@127.0.0.1";
#  password = "$PLAIN$kg533n6xVI";
# };

# [Except]
# These blocks allow you to exempt matching clients from various
# restrictions or checks.
#
# Except {
#  host = "user@host";
#  shun = yes/no;
#  kline = yes/no;
#  gline = yes/no;
#  ident = yes/no;
#  rdns = yes/no;
#  ipcheck = yes/no;
#  targetlimit = yes/no;
# };
#
# The host field is used to specify a user@host mask to select clients to
# apply the exemptions to. For some exemption types such as ipcheck, ident and
# rdns, you can only specify a mask of *@<ip> or *@<cidr> as neither ident nor
# rDNS checks have been performed when exceptions have been checked. The kline
# type exempts users from Kill blocks in ircd.conf that the client matches.
# The gline and shun types exempt matching clients from glines and shuns
# respectively. The ident and rdns types stop the IRCd from performing ident
# and reverse DNS lookups for matching clients. The ipcheck type exempts
# matching clients from connection throttling and IP limits. The targetlimit
# type exempts matching clients from the message target limits.

# [features]
# IRC servers have a large number of options and features.  Most of these
# are set at compile time through the use of #define's--see "make config"
# for more details--but we are working to move many of these into the
# configuration file.  Features let you configure these at runtime.
# You only need one feature block in which you use
# "featurename" = "value1" , "value2", ..., "valuen-1", "valuen";
#
# The entire purpose of F:lines are so that you do not have to recompile
# the IRCD everytime you want to change a feature.  All of the features
# are listed below, and at the bottom is how to set logging.
#
# A Special Thanks to Kev for writing the documentation of F:lines.  It can
# be found at doc/readme.features and the logging documentation can be
# found at doc/readme.log.  The defaults used by the Undernet network are
# below.
#
features
{
# These log features are the only way to get certain error messages
# (such as when the server dies from being out of memory).  For more
# explanation of how they work, see doc/readme.log.
 "LOG" = "SYSTEM" "FILE" "ircd.log";
 "LOG" = "SYSTEM" "LEVEL" "CRIT";
#  "DOMAINNAME"="<obtained from /etc/resolv.conf by ./configure>";
#  "RELIABLE_CLOCK"="FALSE";
#  "BUFFERPOOL"="27000000";
#  "HAS_FERGUSON_FLUSHER"="FALSE";
#  #"CLIENT_FLOOD"="8004444444444444444433333333333333333333333222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333333333333333333333333333333333333333333333333333333333333333334444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444440";
#  "SERVER_PORT"="4400";
#  "NODEFAULTMOTD"="TRUE";
#  "MOTD_BANNER"="TRUE";
#  "KILL_IPMISMATCH"="FALSE";
#  "IDLE_FROM_MSG"="TRUE";
  "HUB"="TRUE";
  "WALLOPS_OPER_ONLY"="TRUE";
#  "NODNS"="FALSE";
#  "RANDOM_SEED"="<you should set one explicitly>";
#  "DEFAULT_LIST_PARAM"="";
#  "NICKNAMEHISTORYLENGTH"="800";
  "NETWORK"="mIRCxNet";
#  "HOST_HIDING"="FALSE";
  "HIDDEN_HOST"="users.mIRCxnet.ISRAEL";
  "HIDDEN_IP"="127.0.0.1";
#  "KILLCHASETIMELIMIT"="30";
  "MAXCHANNELSPERUSER"="10";
#  "NICKLEN" = "12";
#  "AVBANLEN"="40";
#  "MAXBANS"="50";
#  "MAXSILES"="15";
  "HANGONGOODLINK"="300";
#  "HANGONRETRYDELAY" = "10";
  "CONNECTTIMEOUT" = "90";
#  "MAXIMUM_LINKS" = "1";
  "PINGFREQUENCY" = "120";
#  "CONNECTFREQUENCY" = "600";
  "DEFAULTMAXSENDQLENGTH" = "1000";
#  "GLINEMAXUSERCOUNT" = "20";
  "MPATH" = "ircd.motd";
#  "RPATH" = "remote.motd";
  "PPATH" = "ircd.pid";
#  "TOS_SERVER" = "0x08";
#  "TOS_CLIENT" = "0x08";
#  "POLLS_PER_LOOP" = "200";
#  "IRCD_RES_TIMEOUT" = "4";
#  "IRCD_RES_RETRIES" = "2";
  "AUTH_TIMEOUT" = "9";
  "IPCHECK_CLONE_LIMIT" = "3";
  "IPCHECK_CLONE_PERIOD" = "5";
  "IPCHECK_CLONE_DELAY" = "10";
#  "CHANNELLEN" = "200";
#  "CONFIG_OPERCMDS" = "TRUE";
  "OPLEVELS" = "TRUE";
#  "ZANNELS" = "TRUE";
#  "LOCAL_CHANNELS" = "TRUE";
#  "ANNOUNCE_INVITES" = "FALSE";
#  These were introduced by Undernet CFV-165 to add "Head-In-Sand" (HIS)
#  behavior to hide most network topology from users.
  "HIS_SNOTICES" = "TRUE";
  "HIS_SNOTICES_OPER_ONLY" = "TRUE";
  "HIS_DEBUG_OPER_ONLY" = "TRUE";
#  "HIS_WALLOPS" = "TRUE";
#  "HIS_MAP" = "TRUE";
#  "HIS_LINKS" = "TRUE";
#  "HIS_TRACE" = "TRUE";
#  "HIS_STATS_a" = "TRUE";
#  "HIS_STATS_c" = "TRUE";
#  "HIS_STATS_d" = "TRUE";
#  "HIS_STATS_e" = "TRUE";
#  "HIS_STATS_f" = "TRUE";
#  "HIS_STATS_g" = "TRUE";
#  "HIS_STATS_i" = "TRUE";
#  "HIS_STATS_j" = "TRUE";
#  "HIS_STATS_J" = "TRUE";
#  "HIS_STATS_k" = "TRUE";
#  "HIS_STATS_l" = "TRUE";
#  "HIS_STATS_L" = "TRUE";
#  "HIS_STATS_m" = "TRUE";
#  "HIS_STATS_M" = "TRUE";
#  "HIS_STATS_o" = "TRUE";
#  "HIS_STATS_p" = "TRUE";
#  "HIS_STATS_q" = "TRUE";
#  "HIS_STATS_r" = "TRUE";
#  "HIS_STATS_R" = "TRUE";
#  "HIS_STATS_S" = "TRUE";
#  "HIS_STATS_t" = "TRUE";
#  "HIS_STATS_T" = "TRUE";
#  "HIS_STATS_u" = "FALSE";
#  "HIS_STATS_U" = "TRUE";
#  "HIS_STATS_v" = "TRUE";
#  "HIS_STATS_w" = "TRUE";
#  "HIS_STATS_x" = "TRUE";
#  "HIS_STATS_y" = "TRUE";
#  "HIS_STATS_z" = "TRUE";
  "HIS_STATS_IAUTH" = "TRUE";
#  "HIS_WHOIS_SERVERNAME" = "TRUE";
#  "HIS_WHOIS_IDLETIME" = "TRUE";
#  "HIS_WHOIS_LOCALCHAN" = "TRUE";
#  "HIS_WHO_SERVERNAME" = "TRUE";
#  "HIS_WHO_HOPCOUNT" = "TRUE";
  "HIS_MODEWHO" = "TRUE";
#  "HIS_BANWHO" = "TRUE";
#  "HIS_KILLWHO" = "TRUE";
#  "HIS_REWRITE" = "TRUE";
#  "HIS_REMOTE" = "TRUE";
#  "HIS_NETSPLIT" = "TRUE";
  "HIS_SERVERNAME" = "*.mIRCxnet.ISRAEL";
  "HIS_SERVERINFO" = "The mIRCxnet Underworld";
#  "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
#  "URLREG" = "http://cservice.undernet.org/live/";
  "CHECK" = "TRUE";
#  "CHECK_EXTENDED" = "TRUE";
#  "MAX_CHECK_OUTPUT" = "1000";
  "OPER_WHOIS_PARANOIA" = "TRUE";
  "OPER_HIDE" = "TRUE";
#  "AUTOCHANMODES" = "TRUE";
#  "AUTOCHANMODES_LIST" = "";
  "UHNAMES" = "TRUE";
#  "RESTARTPASS" = "";
    "CONNEXIT_NOTICES" = "TRUE";
#  "DIEPASS" = "";
#  "HIS_STATS_W" = "TRUE";
  "WHOIS_OPER" = "is an IRC Operator";
  "WHOIS_SERVICE" = "is a Network Service";
#  "TARGET_LIMITING" = "TRUE";
  "OPER_XTRAOP" = "TRUE";
  "OPERMOTD" = "TRUE";
  "RULES" = "TRUE";
#  "DISABLE_SHUNS" = FALSE";
#  "SHUNMAXUSERCOUNT" = "20";
  "HIS_SHUN_REASON" = "TRUE";
  "HIS_GLINE_REASON" = "TRUE";
#  "NOIDENT" = "FALSE";
  "EXTENDED_ACCOUNTS" = "TRUE";
#  "LOGIN_ON_CONNECT" = "FALSE";
  "LOC_SENDHOST" = "TRUE";
  "LOC_SENDSSLFP" = "TRUE";
  "LOC_DEFAULT_SERVICE" = "AuthServ";
#  "LOC_TIMEOUT" = 3;
#  "STRICTUSERNAME" = "FALSE";
#  "APASS_CANSEND" = "FALSE";
#  "HOST_IN_TOPIC" = "TRUE";
#  "HIS_STATS_s" = "TRUE";
  "SETHOST" = "TRUE";
#  "SASL_AUTOHIDEHOST" = "TRUE";
#  "FLEXIBLEKEYS" = "FALSE";
#  "HIS_STATS_E" = "TRUE";
#  "SASL_SERVER" = "*";
#  "LISTDELAY" = 15;
#  "ALLOW_OPLEVEL_CHANGE" = "FALSE";
#  "NETWORK_REHASH" = "TRUE";
#  "LIST_SHOWMODES_OPERONLY" = "TRUE";
#  "LIST_PRIVATE_CHANNELS" = "";
#  "MAXWATCHS" = "128";
#  "HIS_STATS_Z" = "TRUE";
#  "SASL_TIMEOUT" = "8";
#  "NOMULTITARGETS" = "FALSE";
#  "HIS_IRCOPS" = "TRUE";
#  "HIS_IRCOPS_SERVERS" = "TRUE";
#  "CHMODE_a" = "TRUE";
#  "CHMODE_c" = "TRUE";
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "CHMODE_C" = "TRUE";
#  "CHMODE_L" = "TRUE";
#  "CHMODE_M" = "TRUE";
#  "CHMODE_N" = "TRUE";
#  "CHMODE_O" = "TRUE";
#  "CHMODE_Q" = "TRUE";
#  "CHMODE_S" = "TRUE";
#  "CHMODE_T" = "TRUE";
#  "CHMODE_Z" = "TRUE";
#  "HALFOPS" = "FALSE";
#  "EXCEPTS" = "FALSE";
#  "MAXEXCEPTS" = 45;
#  "AVEXCEPTLEN" = 40;
#  "CHMODE_e_CHMODEEXCEPTION" = "TRUE";
#  "HALFOP_DEHALFOP_SELF" = "FALSE";
#  "CHMODE_Z_STRICT" = "TRUE";
#  "MAX_BOUNCE" = "5";
#  "EXTBANS" = "TRUE";
#  "EXTBAN_j_MAXDEPTH" = "1";
#  "EXTBAN_j_MAXPERCHAN" = "2";
#  "EXTBAN_a" = "TRUE";
#  "EXTBAN_c" = "TRUE";
#  "EXTBAN_j" = "TRUE";
#  "EXTBAN_n" = "TRUE";
#  "EXTBAN_q" = "TRUE";
#  "EXTBAN_r" = "TRUE";
#  "EXTBAN_m" = "TRUE";
#  "EXTBAN_M" = "TRUE";
  "OMPATH" = "ircd.opermotd";
  "EPATH" = "ircd.rules";
  "HIDDEN_HOST_QUIT" = "TRUE";
  "HIDDEN_HOST_SET_MESSAGE" = "Registered";
  "HIDDEN_HOST_UNSET_MESSAGE" = "UnRegistered";
#  "ALLOWRMX" = "FALSE";
  "OPERHOST_HIDING" = "TRUE";
  "HIDDEN_OPERHOST" = "mIRCxIRC.Network";
  "HOST_HIDING_STYLE" = "3";
  "HOST_HIDING_PREFIX" = "mIRCxNeT";
  "HOST_HIDING_KEY1" = "Oa9H2uGe7sgowsbduwhiab3us2iI";
  "HOST_HIDING_KEY2" = "0x6fdca669";
  "HOST_HIDING_KEY3" = "IwbUehU2hzi4baiwvHrhsi2hIrvr";
  "HOST_HIDING_COMPONENTS" = "1";
#  "CTCP_VERSIONING" = "FALSE";
#  "CTCP_VERSIONING_KILL" = "FALSE";
#  "CTCP_VERSIONING_CHAN" = "TRUE";
#  "CTCP_VERSIONING_CHANNAME" = "#TheOps";
#  "CTCP_VERSIONING_USEMSG" = "TRUE";
#  "CTCP_VERSIONING_NOTICE" = "*** Checking your client version";
  "GEOIP_ENABLE" = "TRUE";
  "GEOIP_FILE" = "GeoIP.dat";
  "GEOIP_IPV6_FILE" = "GeoIPv6.dat";
  "SSL_CERTFILE" = "ircd.pem";
  "SSL_KEYFILE" = "ircd.pem";
#  "SSL_CACERTFILE" = "18:4F:EC:EB:E8:27:A5:F8:E4:80:30:70:F6:C9:F1:E1:85:F9:F1:4B";
#  "SSL_VERIFYCERT" = "TRUE";
#  "SSL_NOSELFSIGNED" = "TRUE";
  "SSL_NOSSLV3" = "TRUE";
#  "SSL_REQUIRECLIENTCERT" = "TRUE";
#  "DISABLE_ZLINES" = "FALSE";
#  "HIS_ZLINE_REASON" = "FALSE";
#  "ZLINEMAXUSERCOUNT" = "20";
#  "CAP_multi_prefix" = "TRUE";
#  "CAP_userhost_in_names" = "TRUE";
#  "CAP_extended_join" = "TRUE";
#  "CAP_away_notify" = "TRUE";
#  "CAP_account_notify" = "TRUE";
#  "CAP_sasl" = "TRUE";
#  "CAP_tls" = "TRUE";
#IAUTHD <directive> <arguments>";
};

# Well, you have now reached the end of this sample configuration
# file. If you have any questions, feel free to mail
# <coder-com@undernet.org>.  If you are interested in linking your
# server to the Undernet IRC network visit
# http://www.routing-com.undernet.org/, and if there are any
# problems then contact <routing-com@undernet.org> asking for
# information. Upgrades of the Undernet ircd can be found on
# http://coder-com.undernet.org/.
#
# For the rest:  Good Luck!
#
#  -- Niels.
ircd.conf fix by MIRCX STAFF
avatar
Chief
Admin

מספר הודעות : 200
Join date : 2011-12-09
מיקום : mIRCx IRC Network

View user profile

Back to top Go down

X3.conf for Nefarious2

Post  Chief on Tue Oct 18, 2016 10:52 pm

Code:

/* *****************************************************************
 *  X3 Services Example Configuration file.
 * 
 *  Copy it to your x3 runtime dir, and edit to taste.
 *
 * This file allows two kinds of comments.  Whitespaces between
 * tokens are ignored.  All strings (even if they're just numbers)
 * MUST be enclosed in double quotes.  There must be a semicolon
 * after every * key/value pair.
 */

/* UPLINKS (servers we connect to) *********************************
 * Each subsection describes one server. X3 will try to connect to
 * each in turn maxtries times, and then will quit.
 */
"uplinks" {
    // This first entry connects to an ircd on teh same server an X3..
    "Hub" {  // This can be any string, just used here for your convenience
        "address"        "192.168.1.20";  // The IP address of the server
        "port"          "4400";      // What TCP port to connect to
        "password"      "asher";  // Both of these passwords must match
        "their_password" "asher";  //  the one in the ircd C line for X3.
        "enabled"        "1";  // Set to 0 to disable connecting to this server
        "max_tries"      "10";  // How many times to attemt reconnect before quitting
        "bind_address"  "192.168.1.20";  // LOCAL IP address we want to connect FROM
    };
    // This next one connects to an ircd on another server
    "Hub-west" {
        // IP address and port the server listens on
        "address"        "192.168.1.20"; // IP of remote server
        "port"          "4400";
        "password"      "asher";  // C line passwords
        "their_password" "asher";  // Set same as above
        "enabled"        "0"; // Set this to 1 to use this server..
        "max_tries"      "1";
        "bind_address"  "192.168.1.20";
    };
};

/* SERVER (Details about our existance) **********************************
 */
"server" {
    "hostname" "X3.mIRCxNet.Services";  // The servers name. (Use this in the ircd's C line)
    "description" "mIRCxNET Network Services"; // Shows up in /links.
    "network" "mIRCxNET";
    "hidden_host" "Users.mIRCxNET.ISRAEL"; // set this if you enabled Nefarious' +x mode
    /* hidden_host should match the F:HIDDEN_HOST: line in your ircu's ircd.conf;
    * x3 does not set the host suffix for users, but must know it when making
    * things like bans, where it should not show the user's real hostname. */
    "hidden_host_type" "1"; // change this to 2 if you use Nefarious's style 2 host hiding.
    "key1" "45432"; // Set these key values to the network KEY values you use
    "key2" "76934"; // for host hiding style 2. If you are using Nefarious 1.3.0 (type 8)
    "key3" "98336"; // then these are ignored.
    "prefix" "mIRCxNET"; // If you use style 2 then this is the name that is prefixed to hosts.
    "numeric" "51"; // hint: If you get collisions on link, CHANGE THIS.
    /* Type handles some changes in Nefarious from version to version.
    * 4 - nefarious 0.4.x and other ircds
    * 5 - nefarious 1.0.x and higher (Obselete)
    * 6 - nefarious 1.1.0 and higher (Obselete)
    * 7 - nefarious 1.2.0 and higher (Obselete)
    * 8 - nefarious 1.3.0 and higher (Legacy Version)
    * 9 - nefarious 2.0.x and higher (Current Version)
    */
    "type" "8";
    "host_in_topic" "1"; //Set to 1 if your Nefarious server have the HOST_IN_TOPIC F:line set to TRUE.
    "max_users" "256"; // You can save a little memory by setting this to a lower value.
    "force_n2k" "1"; // Use extended (5-digit) numnick for self, even if 3 are possible.
    "ping_freq" "60";
    "ping_timeout" "90";
    "max_cycles" "30"; // max uplink cycles before giving up
    // Admin information is traditionally: location, location, email
    // This shows up on a /admin x3.afternet.services command.
    "admin" (
        "mIRCxNET IRC Network",
        "www.mIRCxNet.ISRAEL",
        "mircx@walla.com"
    );
    /* extended_accounts -
    * enable this for nefarious 0.4.x and higher and in ircd.conf add F:EXTENDED_ACCOUNTS:TRUE.
    * Sends 'AC R nick account' instead of 'AC nick account' and allows
    * for renames, login-on-connect,  etc.  If