123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345 |
- <?php
- header('Content-type: text/plain');
- require_once('header.php');
- if(!isset($_GET['user']) || !isset($_GET['key']) || !isset($_GET['server'])){
- $opts = getopt('u:k:s:',Array('user:','key:','server:'));
- $_GET['user'] = isset($opts['user'])?$opts['user']:(isset($opts['u'])?$opts['u']:false);
- $_GET['key'] = isset($opts['key'])?$opts['key']:(isset($opts['k'])?$opts['k']:false);
- $_GET['server'] = isset($opts['server'])?$opts['server']:(isset($opts['s'])?$opts['s']:false);
- if(!$_GET['user'] || !$_GET['key'] || !$_GET['server']){
- die('# Please provide a user, api key and a server name.');
- }
- }
- $user = get_current_user_obj('netadmin') or $user = get_current_user_obj('servermanager') or $user = get_current_user_obj('globaladmin') or die('# Invalid user/key pair.');
- $server = get_current_server_obj() or die('# Invalid server name');;
- $opers = get_opers_for_server_obj($server['id']);
- $pass = mkpasswd(get_conf('server-pass'));
- ?>
- #################################################
- ## Classes ##
- #################################################
- class clients
- {
- pingfreq 120;
- maxclients 500;
- sendq 100000;
- recvq 8000;
- };
- class servers
- {
- pingfreq 120;
- maxclients 11;
- sendq 1000000;
- connfreq 100;
- };
- #################################################
- ## Me ##
- #################################################
- me {
- name "<?php echo $server['host'];?>";
- info "<?php echo $server['description'];?>";
- numeric <?php echo $server['id'];?>;
- };
- #################################################
- ## Admin ##
- #################################################
- admin {
- "<?php echo $user['real_name'];?>";
- "<?php echo $user['nick'];?>";
- "<?php echo $user['email'];?>";
- };
- #################################################
- ## Listeners ##
- #################################################
- listen *:6697
- {
- options
- {
- ssl;
- clientsonly;
- };
- };
- listen *:8067;
- listen *:6667;
- listen *:6666;
- listen *:6665;
- listen *:7150
- {
- options
- {
- serversonly;
- };
- };
- listen *:7100
- {
- options
- {
- ssl;
- serversonly;
- };
- };
- #################################################
- ## Link ##
- #################################################
- <?php
- $ulines = get_ulines_obj();
- foreach($ulines as $k => $u){?>
- link <?php echo $u['host'];?> {
- username *;
- hostname *;
- bind-ip *;
- hub *;
- port 7150;
- password-receive "<?php echo $pass ?>" { sha1; };
- password-connect "<?php echo get_conf('server-pass'); ?>";
- class servers;
- };
- <?php
- }
- if(!is_null($server['parent'])){?>
- link <?php echo $server['parent']['host'];?> {
- username *;
- hostname <?php echo $server['parent']['ip'];?>;
- bind-ip *;
- hub *;
- port 7100;
- password-receive "<?php echo $pass ?>" { sha1; };
- password-connect "<?php echo get_conf('server-pass'); ?>";
- class servers;
- options
- {
- zip;
- ssl;
- autoconnect;
- nodnscache;
- nohostcheck;
- };
- };
- <?php
- }
- if(isset($server['children'])){
- foreach($server['children'] as $k => $c){?>
- link <?php echo $c['host'];?> {
- username *;
- hostname <?php echo $c['ip'];?>;
- bind-ip *;
- hub *;
- port 7100;
- password-receive "<?php echo $pass ?>" { sha1; };
- password-connect "<?php echo get_conf('server-pass'); ?>";
- class servers;
- options
- {
- zip;
- ssl;
- autoconnect;
- nodnscache;
- nohostcheck;
- };
- };
- <?php }
- }
- ?>
- ulines {
- <?php
- $ulines = get_ulines();
- foreach($ulines as $k => $uline){
- echo $uline.";\n";
- if($k < count($ulines)-1){
- echo "\t";
- }
- }
- ?>
- };
- #################################################
- ## Log ##
- #################################################
- log "ircd.log" {
- flags {
- oper;
- kline;
- connects;
- server-connects;
- kills;
- errors;
- sadmin-commands;
- chg-commands;
- oper-override;
- spamfilter;
- };
- };
- #################################################
- ## Alias ##
- #################################################
- alias "glinebot" {
- format ".+" {
- command "gline";
- type real;
- parameters "%1 2d Bots are not allowed on this server, please read the faq at http://www.example.com/faq/123";
- };
- type command;
- };
- alias statserv { type stats; };
- alias ss { target statserv; type stats; };
- #################################################
- ## DRPass ##
- #################################################
- drpass {
- restart "<?php echo $pass ?>" { sha1; };
- die "<?php echo $pass ?>" { sha1; };
- };
- #################################################
- ## Network Settings ##
- #################################################
- set {
- network-name "omnimaga.org";
- default-server "irc.omnimaga.org";
- services-server "<?php echo get_conf('services-server','string'); ?>";
- stats-server "<?php echo get_conf('stats-server','string'); ?>";
- help-channel "#omnimaga";
- hiddenhost-prefix "omni";
- cloak-keys {
- "XFGasdgREWhgreTG43FDSfweqfew";
- "FDSAyh5ghREFadhrGHrewGQEg324";
- "ASGfdah4431fgdsagdsagASgrw32";
- };
- hosts {
- local "local.users.irc.omnimaga.org";
- global "global.users.irc.omnimaga.org";
- coadmin "coadmin.users.irc.omnimaga.org";
- admin "admin.users.irc.omnimaga.org";
- servicesadmin "servicesadmin.users.irc.omnimaga.org";
- netadmin "netadmin.users.irc.omnimaga.org";
- host-on-oper-up "yes";
- };
- modes-on-join "+nt";
- kline-address "[email protected]";
- modes-on-connect "+G";
- modes-on-oper "+wgs";
- oper-auto-join "<?php echo get_conf('ops-channel','string'); ?>";
- options {
- hide-ulines;
- show-connect-info;
- };
- maxchannelsperuser 50;
- anti-spam-quit-message-time 10s;
- oper-only-stats "okfGsMRUEelLCXzdD";
- throttle {
- connections 3;
- period 60s;
- };
- anti-flood {
- nick-flood 3:60;
- };
- spamfilter {
- ban-time 1d;
- ban-reason "Spam/Advertising";
- virus-help-channel "#help";
- };
- };
- #################################################
- ## Enable Mibbit ##
- #################################################
- // Datacenter one:
- cgiirc {
- type webirc;
- hostname 64.62.228.82;
- password <?php echo get_conf('mibbit-password','string'); ?>;
- };
- // Datacenter two:
- cgiirc {
- type webirc;
- hostname 207.192.75.252;
- password <?php echo get_conf('mibbit-password','string'); ?>;
- };
- // Datacenter three:
- cgiirc {
- type webirc;
- hostname 78.129.202.38;
- password <?php echo get_conf('mibbit-password','string'); ?>;
- };
- // Datacenter four:
- cgiirc {
- type webirc;
- hostname 109.169.29.95;
- password <?php echo get_conf('mibbit-password','string'); ?>;
- };
- #################################################
- ## Allow ##
- #################################################
- allow {
- ip *@*;
- hostname *@*;
- class clients;
- maxperip 10;
- };
- #################################################
- ## Deny ##
- #################################################
- deny dcc {
- filename "*sub7*";
- reason "Possible Sub7 Virus";
- };
- #################################################
- ## Bans ##
- #################################################
- ban nick {
- mask "*C*h*a*n*S*e*r*v*";
- reason "Reserved for Services";
- };
- #################################################
- ## Localization ##
- #################################################
- files {
- motd "motd/en.txt";
- rules "rules/en.txt";
- };
- tld {
- mask *@*.ca;
- motd "motd/en_CA.txt";
- rules "rules/en_CA.txt";
- };
- tld {
- mask *@*.com;
- motd "motd/en_US.txt";
- rules "rules/en_US.txt";
- };
- tld {
- mask *@*.fr;
- motd "motd/fr.txt";
- rules "rules/fr.txt";
- };
- #################################################
- ## Opers ##
- #################################################
- oper RehashServ {
- class clients;
- from {
- userhost RehashServ@localhost;
- userhost <?php echo get_conf('services-server'); ?>;
- userhost <?php echo get_conf('stats-server'); ?>;
- userhost <?php echo get_conf('irc-server'); ?>;
- userhost <?php echo get_conf('rehash-host'); ?>;
- };
- password "<?php echo mkpasswd(get_conf('rehash-pass')); ?>" { sha1; };
- flags {
- can_rehash;
- netadmin;
- };
- };
- <?php foreach($opers as $k => $oper){?>
- oper <?php echo $oper['nick'];?> {
- class clients;
- from {
- <?php foreach($oper['hosts'] as $k => $host){?>
- userhost <?php echo $host;?>;
- <?php } ?>
- };
- password "<?php echo $oper['password'];?>" { <?php echo $oper['password_type'];?>; };
- flags {
- <?php echo $oper['flags'];?>
- };
- swhois "<?php echo $oper['swhois'];?>";
- };
- <?php }?>
|