/* IRDSI IRCd  Configuration */
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
include "aliases/cygnus.conf";
include "aliases/operstats.conf";
include "spamfilter.conf";
include "help.conf";

/* M-Line */
me { name "hub.irdsi.net"; info "IRDSI IRC Network Hub"; numeric 100; };

/* A-Line */
admin {	"IRDSI IRC Network Hub"; "Server Admin - thirtysix"; "thirtysix@irdsi.net"; };

/* Y-Lines */
class clients {	pingfreq 90; maxclients 20; sendq 100000; };
class opers { pingfreq 120; maxclients 16; sendq 300000; };
class servers {	pingfreq 90; maxclients 20; sendq 1000000; connfreq 120; };

/* I-Lines */
allow {	ip *@67.187.189.2; hostname NOBODY; class clients; maxperip 50; options { useip; noident; }; };
allow { ip *@69.60.109.112; hostname NOBODY; class clients; maxperip 50; options { useip; noident; }; };
allow { ip *@203.173.16.246; hostname NOBODY; class clients; maxperip 2; options { useip; noident; }; };
allow { ip *@203.217.34.113; hostname NOBODY; class clients; maxperip 25; options { useip; noident; }; };
allow { ip *@192.168.100.10; hostname NOBODY; class clients; maxperip 50; options { useip; noident; }; };
allow { ip *@192.168.100.20; hostname NOBODY; class clients; maxperip 50; options { useip; noident; }; };
allow { ip *@69.60.109.113; hostname NOBODY; class clients; maxperip 10; options { useip; noident; }; };
allow {	ip *@66.222.*; hostname NOBODY;	class clients; maxperip 10; options { useip; noident; }; };
allow { ip *@68.72.2.18; hostname NOBODY; class clients; maxperip 25; options { useip; noident; }; };
allow { ip *@202.45.104.138; hostname NOBODY; class  clients; maxperip 25; options { useip; noident; }; };
allow {	ip *@65.169.213.*; hostname NOBODY; class clients; maxperip 2; options { useip; noident; }; };
allow { ip *@67.187.233.128; hostname NOBODY; class clients; maxperip 25; options { useip; noident; }; };
allow { ip *@213.141.125.*; hostname NOBODY; class clients; maxperip 4; options { useip; noident; }; };
allow {	ip *@209.125.175.170; hostname	NOBODY;	class servers;	maxperip 4; options { useip; noident; }; };
allow {	ip *@69.60.109.113; hostname NOBODY; class servers; maxperip 4; options { useip; noident; }; };
allow {	ip *@192.168.100.20; hostname NOBODY; class servers; maxperip 4; options { useip; noident; }; };
allow {	ip *@203.214.110.47; hostname NOBODY; class servers; maxperip 4; options { useip; noident; }; };
allow {	ip *@213.141.125.*; hostname NOBODY; class servers; maxperip 4; options { useip; noident; }; };
allow { ip *@67.187.189.2; hostname NOBODY; class servers; maxperip 4; options { useip; noident; }; };

/* Banned IPs by password */

/* O-Lines */
oper netadmin {
	class           opers;
	from {
		userhost *@67.187.189.2;
		userhost *@192.168.100.10;
	};
	password "D3KHAozWYN";
	flags
	{
		netadmin;
                can_die;
                can_override;
                can_globalroute;
                can_globalkill;
		can_zline;
                can_gzline;
                can_gkline;
                get_umodew;
		get_host;
		global;
		can_addline;
        };
snomask afrebWqFSvz;
};

oper kpn {
        class           opers;
        from {
                userhost *@*;
        };
        password "csEwihC06W";
        flags
        {
                coadmin;
                can_override;   
                can_globalroute;
                can_globalkill;
                can_gzline;
                can_gkline;   
                get_umodew;
                get_host;
                global;  
        };
snomask frebWqFv;
};

oper mill {   
        class           opers;   
        from {
                userhost *@203.*;
        };   
        password "abacusss65";
        flags
        {
                coadmin;
                can_override;
                can_globalroute;
                can_globalkill;
                can_gzline;
                can_gkline;
                get_umodew;
                get_host;
                global;
        };
snomask frebWqFv;
};

oper 12345678 {
        class           opers;
        from {
                userhost *@203.*;
        };
        password "qwe123";
        flags
        {
                can_override;   
                can_globalroute;
                can_globalkill;
                can_gzline;
                can_gkline;
                get_umodew;
                get_host;
                global;
        };
snomask frebWqFv;
};

oper Goodoo {
        class           opers;
        from {
                userhost *@*.vic.bigpond.net.au;
                userhost *@203.51.*;
        };
        password "LT1350";
        flags
        {
                global;
                get_umodew;
                get_host;
        };
};

oper Khorne {
        class           opers;
        from { 
                userhost *@*.s-way.com;
		userhost *@65.175.170.*;
        };
        password "nagash321";
        flags
        {
                netadmin;
                can_override;
                can_globalroute;
                can_globalkill; 
                can_gzline;
                can_gkline;
                get_umodew;
                get_host;  
                global;  
        };
snomask frebWqFv;
};

oper Roses {
        class           opers;  
        from {
                userhost *@*.co.sprintbbd.net;
        };
        password "Kenneth";
        flags
        {
                global;
                get_host;
        };
snomask frebWqFv;
};

oper neo {
        class           opers;
        from {
		userhost *@*.QLD.netspace.net.au;
                userhost *@*.brs.ihug.com.au;
		userhost *@*.netspace.net.au;
        };
        password "thematrix";
        flags
        {       
                services-admin;
                can_override;   
                can_globalroute;
                can_globalkill;
                can_gzline;
                can_gkline;
                get_umodew;
                get_host;
                global;
        };
snomask frebWqFv;
};

oper XaeroX {
        class           opers;
        from {
                userhost *@*.nj.comcast.net;
        };
        password "brDvhgB05V";
        flags
        {
                global;
                get_host;
        };
snomask frebWqFv;
};

oper PyroToxin {
        class           opers;
        from {
		userhost *@68.72.2.18;
		userhost *@169.207.*;
		userhost *@66.222.*;
        };
        password "fuckyou";
        flags
        {
                coadmin;
                can_override;
                can_globalroute;
                can_globalkill; 
                can_gzline;
                can_gkline;
                get_umodew;
                get_host;
                global;
	};
snomask frebWqFv;
};

/* P-Lines */
####listen 69.60.109.112:6667 { options { clientsonly; }; };
listen 192.168.100.10:6667 { options { clientsonly; }; };              
listen 192.168.100.10:7000 { options { serversonly; }; };
listen 192.168.100.10:7032 { options { ssl; clientsonly; }; };
listen 69.60.109.112:7032 { options { ssl; clientsonly; }; };
listen 69.60.109.112:7000 { options { serversonly; }; };
listen 69.60.109.112:7001 { options { ssl; serversonly; }; };
listen 192.168.100.10:7001 { options { ssl; serversonly; }; };

/* C-N-Lines */
link		devious.irdsi.net
{
        username        *;  
        hostname        67.187.*.*;
        bind-ip         *;
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";
        password-receive "webegood";
	compression-level "9";
        class           servers;
                options { 
                        ssl; 
                        zip;
			nohostcheck;
			nodnscache;
		};
};

link            sinuous.irdsi.net
{
        username        *;
        hostname        192.168.100.20;
        bind-ip         192.168.100.10;
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";
        password-receive "webegood";
        compression-level "9";
        class           servers;
                options {
                        ssl;
                        zip;
                        nohostcheck;
                };
};
              
link            droid.irdsi.net
{
        username        *;
        hostname        203.45.194.102;
        bind-ip         *;   
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";
        password-receive "webegood";
        compression-level "9";
        class           servers;
                options {
                        ssl;
                        zip;
			nohostcheck;
			nodnscache;
                };
};

link            astro.irdsi.net
{
        username        *;
        hostname        209.125.175.170;
        bind-ip         *;   
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";
        password-receive "webegood";
        compression-level "9";
        class           servers;
                options {   
			ssl;
			zip;
			nohostcheck;
			nodnscache;
                };
};  

link            devil.irdsi.net
{
        username        *;   
        hostname        *;   
        bind-ip         *;   
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";
        password-receive "webegood";
        compression-level "9";  
        class           servers;
                options {   
                        ssl;
                        zip;
                        nohostcheck;
                        nodnscache;
                };
};


link            babylon.irdsi.net   
{
        username        *;
        hostname        *;          
        bind-ip         *;
        port            7001;
        hub             *.irdsi.net;
        password-connect "webegood";                
        password-receive "webegood";                
        compression-level "9";
        class           servers;
                options {
                        ssl;
                        zip;
			nohostcheck;
			nodnscache;
                };                  
};

link            services.irdsi.net
{
	username	*;
	hostname 	services.irdsi.net;
	bind-ip 	192.168.100.10;
	port 		7000;
	hub             *.irdsi.net;
	password-connect "webegood";
	password-receive "webegood";
	class           servers;
		options {
			nohostcheck;
		};

};

link		operstats.irdsi.net
{
	username	*;
	hostname	services.irdsi.net;
	bind-ip		192.168.100.10;
	port		7000;
	hub		*.irdsi.net;
	password-connect "webegood";
	password-receive "webegood";
	class		servers;
		options {
			nohostcheck;
		};
};

link            neostats.irdsi.net
{
	username	*;
	hostname 	neostats.irdsi.net;
	bind-ip 	192.168.100.10;
	port 		7000;
	hub             *.irdsi.net;
	password-connect "webegood";
	password-receive "webegood";
	class           servers;
		options {
			nohostcheck;
		};

};

/* U-Line */
ulines { services.irdsi.net; operstats.irdsi.net; neostats.irdsi.net; };

/* X-Line */
drpass { restart "hello"; die "goodbye"; };

/* Services Aliases */
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type stats; };
alias RootServ { type services; };
alias MemoServ { type services; };
alias StatServ { type stats; };
#alias HostServ { type services; };
#alias NeoStats { type services; };
alias HostServ { target HostServ; type normal; };
alias NeoStats { target NeoStats; type normal; };
alias "identify" { format "^#" { nick "chanserv"; type services; parameters "IDENTIFY %1-"; }; format "^[^#]" {	nick "nickserv"; type services;	parameters "IDENTIFY %1-"; }; type command; };
alias "services" { format "^#" { nick "chanserv"; type services; parameters "%1-"; }; format "^[^#]" { nick "nickserv"; type services; parameters "%1-"; }; type command; };
alias "identify" { format "^#" { nick "chanserv"; type services; parameters "IDENTIFY %1-"; }; format "^[^#]" { nick "nickserv"; type services; parameters "IDENTIFY %1-"; }; type command; };

/* Throttle Exception */
except throttle { mask 24.127.*.*; };
except throttle { mask 67.187.189.2; };
except throttle { mask 206.169.220.46; };
except throttle { mask 74.67.84.224; };
except throttle { mask 192.168.100.20; };

/* TKL Exception */	
except tkl { mask *@67.187.189.2; type { gline; gzline; }; };
except tkl { mask *@c-67-187-189-2.hsd1.ca.comcast.net; type { gline; gzline; }; };
except tkl { mask *@72.67.84.224; type { gline; gzline; }; };
except tkl { mask *@cpe-74-67-84-224.stny.res.rr.com; type { gline; gzline; }; };

/* Ban Exception */
except ban { mask *@72.67.84.224; };
except ban { mask *@cpe-74-67-84-224.stny.res.rr.com; };
except ban { mask *@67.187.189.2; };
except ban { mask *@c-67-187-189-2.hsd1.ca.comcast.net; };

/* Nick Ban */
ban nick { mask "*C*h*a*n*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*N*i*c*k*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*M*e*m*o*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*O*p*e*r*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*R*o*o*t*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*S*t*a*t*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*N*e*w*s*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*N*e*o*S*t*a*t*s*"; reason "Reserved for Network Services"; };
ban nick { mask "*H*o*s*t*S*e*r*v*"; reason "Reserved for Network Services"; };
ban nick { mask "*G*l*o*b*a*l*"; reason "Reserved for Network Services"; };

/* User Ban */
ban user { mask *root@*; reason "WARNING!! Do not use root to login. This is a HUGE security risk"; };

/* Realname Ban */
ban realname { mask "*sub7*"; reason "WARNING!! You are infected with the Sub7 Trojan. Go to http://www.moosoft.com for information on how to remove it"; };

/* Version Ban */
ban version { mask "*mIRC v6.01*"; reason "Get a newer client, http://www.mirc.com"; action tempshun; };

/* Ban Exception */
except ban { mask *@67.187.189.2; };

/* DCC Send Deny */
deny dcc { filename "*sub7*"; reason "Possible Sub7 Virus"; };

/* Channel Deny */
deny channel { channel "*warez*"; reason "Warez is illegal"; redirect "#Area51"; };

/* Vhost Configuration */
vhost {
        vhost           irc.irdsi.net;
        from {
                userhost        *@67.187.189.2;
        };
        login           thirtysix;
        password        jcs1955;
        swhois          "I AM J00R G0d";
};

official-channels { "#IRDSI" { topic "Network help channel, if nobody is present type /helpop helpme"; }; "#How.To.SSL" { topic "Type /helpop stunnel for instructions."; }; };

/* Network Configuration */
set { 
	network-name "IRDSI"; 
	default-server "irc.irdsi.net"; 
	services-server "services.irdsi.net"; 
	stats-server "operstats.irdsi.net"; 
	help-channel "#irdsi"; 
	hiddenhost-prefix "IRDSI"; 
	prefix-quit "Quit:"; 
cloak-keys { 
	V6P3KgNQZDmX5t6EdQPKl5oRz; 
	Vk4rchiX6WgdXM1cmbvItrt52; 
	xJbnM2guBXEi6Udo2k3VnHHCc; 
	}; 
hosts { 
	local "locop.irdsi.net"; 
	global "ircop.irdsi.net"; 
	coadmin "coadmin.irdsi.net"; 
	admin "admin.irdsi.net";
	servicesadmin "csops.irdsi.net";
	netadmin "netadmin.irdsi.net";
	host-on-oper-up "on";
}; 
throttle { 
	connections 3;
	period 60s; 
	};
anti-flood {
	unknown-flood-bantime 60s;
	};
};

/* Server Configuration */

set { 
	kline-address "kline@irdsi.net"; 
	modes-on-connect "+ix"; 
	modes-on-oper "+xwgs"; 
	restrict-usermodes "xwsk"; 
	oper-auto-join "#ircops"; 
	modes-on-join "+nt";	
	maxchannelsperuser 100; 
	oper-only-stats "*";
	check-target-nick-bans "yes";

timesynch {
	enabled "yes";
	server 132.163.4.101;
/*	server 132.163.4.102; */
/*	server 132.163.4.103; */
	timeout 3;
};
dns { 
	nameserver 195.234.42.1;
	timeout 5s;
	retries 1; 
}; 
ident {
	connect-timeout 3s;
	read-timeout 5s; 
}; 
options { 
	hide-ulines; 
	identd-check; 
	show-connect-info; 
	flat-map; 
	show-opermotd;
	dont-resolve;
	}; 
ssl { 
	egd "~/entropy"; certificate "server.cert.pem"; 
	key "server.key.pem";	
	}; 

}; 

log ircd.log {
	maxsize 5MB;
	flags {
		oper;
		kline;
		server-connects;
		kills;
		errors;
	};
};
