Log in | Back to darenet.org

Development Team/services-darenet/sample config

Sample configuration file. This is only provided here for quick reference, and does not necessairly contain all options or any default values as used by DareNET.

/****************************************************************************** 
 * services-darenet 1.2.0 example configuration file. [services-darenet.conf]
 *
 * 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 */

"uplinks" {
  "Primary-Hub" {
     "address"          "127.0.0.1";
     "port"             "8888";
     "password"         "laoo,rpe";
     "their_password"   "laoo,rpe";
     "enable"           "1";
     "max_tries"        "10";
     "bind_address"     "127.0.0.1";
  };

  "Hub-West" {
     "address"          "192.168.234.123";
     "port"             "8888";
     "password"         "ekrpat";
     "their_password"   "ekrpat";
     "enable"           "0";
     "max_tries"        "1";
     "bind_address"     "192.168.1.10";
  };
};

/* SERVER DETAILS */

"server" {
  "hostname"            "services.darenet.org";
  "description"         "DareNET Network Services";
  "network"             "DareNET";
  "hidden_host"         "user.darenet";
  "hidden_host_type"    "1";
  "key1"                "45432";
  "key2"                "76934";
  "key3"                "98336";
  "prefix"              "DareNET";
  "numeric"             "1";
  "type"                "7";
  "host_in_topic"       "1";
  "max_users"           "256";
  "force_n2k"           "1";
  "ping_freq"           "60";
  "ping_timeout"        "90";
  "max_cycles"          "30";
  
  "admin" (
     "DareNET IRC Network",
     "www.darenet.org",
     "Support <support@darenet.org"
  );

  "extended_accounts"   "1";
  "his_servercomment"   "*.darenet.org";
};

/* SERVICES BOTS */

"services" {

  "nickserv" {
     "nick"                              "NickServ";
     "default_hostmask"                  "1";
     "warn_clone_auth"                   "1";
     "default_maxlogins"                 "3";
     "hard_maxlogins"                    "5";
     "dict_file"                         "/usr/share/dict/words";
     "password_min_length"               "4";
     "password_min_digits"               "0";
     "password_min_upper"                "0";
     "password_min_lower"                "0";
     "valid_account_regex"               "^[-_a-z0-9A-Z]{2,15}$";
     "valid_nick_regex"                  "^[-_a-z][-_a-z0-9]*$";
     "valid_fakehost_regex"              "^[-_a-zA-Z0-9.]+$";
     "force_handles_lowercase"           "0";
     "disable_nicks"                     "0";
     "nicks_per_account"                 "10";
     "warn_nick_owned"                   "1";
     "reclaim_action"                    "svsnick";
     "auto_reclaim_action"               "0";
     "auto_reclaim_delay"                "0";

     "flag_levels" {
        "g"     "800";
        "lc_h"  "800";
        "uc_H"  "800";
        "S"     "900";
        "b"     "1";
     };
     
     "set_epithet_level"                 "800";
     "modoper_level"                     "850";
     "account_expire_freq"               "1d";
     "account_expire_delay"              "900d";
     "nochan_account_expire_delay"       "365d";
     "autogag_enabled"                   "1";
     "autogag_duration"                  "30m";
   
     "auth_policer" {
        "size"        "5";
        "drain-rate"  "0.05";
     };

     "email_enabled"                     "1";
     "email_required"                    "1";
     "cookie_timeout"                    "2d";
     "accounts_per_email"                "1";
     "email_search_level"                "600";
     "email_visible_level"               "800";
     "titlehost_suffix"                  "darenet";
     "set_title_level"                   "900";
     "set_fakehost_level"                "1000";
     
     "denied_fakehost_words" (
        "fuck",
        "shit",
        "asshole",
        "cunt",
        "darenet"
     );
   
     "sync_log"                          "1";
     "default_style"                     "n";
     
     "ldap_enable"                       "0";
     "ldap_uri"                          "ldaps://ldap.darenet.org:636";
     "ldap_base"                         "ou=Users,dc=darenet,dc=org";
     "ldap_dn_fmt"                       "uid=%s,ou=Users,dc=darenet,dc=org";
     "ldap_autocreate"                   "1";
     "ldap_admin_dn"                     "cn=Admin,dc=darenet,dc=org";
     "ldap_admin_pass"                   "xxxxxxxxxxx";
     
     "ldap_object_classes" ( 
        "top", 
        "inetOrgAnonAccount" 
     );
 
     "ldap_field_account"                "uid";
     "ldap_field_password"               "userPassword";
     "ldap_field_email"                  "mail";
     "ldap_oper_group_dn"                "cn=Opers,ou=Groups,dc=darenet,dc=org";
     "ldap_oper_group_level"             "99";   
     "ldap_field_group_member"           "memberUid";
     "ldap_timeout"                      "10";
  };

  "opserv" {
     "nick"                              "OperServ";
     "privileged"                        "1";
     "description"                       "Control Service for DareNET's Armed Forces";
     "hostname"                          "darenet.org";
     "debug_channel"                     "#debug";
     "debug_channel_modes"               "ntsiO";
     "alert_channel"                     "#opers";
     "alert_channel_modes"               "ntsO";
     "staff_auth_channel"                "#auths";
     "staff_auth_channel_modes"          "ntsO";

     "autojoin_channels" (
        "#debug",
        "#opers",
        "#staff",
        "auths"
     );

     "untrusted_max"                     "6";
     "clone_gline_duration"              "30m";
     "block_gline_duration"              "1h";
     "block_shun_duration"               "1h";
     "purge_lock_delay"                  "60";

     "DefCon1"                           "415";
     "DefCon2"                           "159";
     "DefCon3"                           "31";
     "DefCon4"                           "23";
     "DefConLevel"                       "5";
     "DefConSessionLimit"                "2";
     "DefConGlineExpire"                 "5m";
     "DefConChanModes"                   "+r";
     "DefConTimeOut"                     "15m";
     "GlobalOnDefCon"                    "0";
     "GlobalOnDefConMore"                "0";
     "DefConMessage"                     "";
     "DefConOffMessage"                  "";
     "DefConGlineMessage"                "";

     "geoip_data_file"                   "./GeoIP.dat";
     "geoip_city_data_file"              "";
     "join_flood_moderate"               "0";
  
     "join_policer" {
        "size"        "20";
        "drain-rate"  "1";
     };
 
     "join_flood_moderate_threshold"     "50";

     "new_user_policer" {
        "size"        "200"
        "drain-rate"  "3";
     };

     "silent_level"                      "700";
  };

  "chanserv" {
     "nick"                              "ChanServ";
     "modes"                             "iokd";
     "off_channel"                       "1";
     "info_delay"                        "120";
     "max_greetlen"                      "120";
     "max_chan_users"                    "512";
     "max_chan_bans"                     "512";
     "max_userinfo_length"               "400";
     "adjust_threshold"                  "5";
     "adjust_delay"                      "30";
     "ban_timeout_freq"                  "2m";
     "chan_expire_freq"                  "1d";
     "chan_expire_delay"                 "30d";
     
     "set_shows" (
        "DefaultTopic",
        "TopicMask",
        "Greeting",
        "UserGreeting",
        "Modes",
        "PubCmd",
        "InviteMe",
        "UserInfo",
        "EnfOps",
        "EnfModes",
        "EnfTopic",
        "TopicSnarf",
        "Setters",
        "CtcpReaction",
        "BanTimeout",
        "Protect",
        "Toys",
        "DynLimit",
        "NoDelete"
     );

     "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 decidely 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.",
        "Maybe.",
        "Yes.",
        "No."
     );

     "wheel" (
        "peer",
        "partall",
        "gline",
        "shun",
        "nothing",
        "randjoin",
        "abusewhois",
        "kickall",
        "nickchange",
        "kill",
        "svsignore",
        "kickbanall"
     );

     "support_channel"                   "#Support";
     "max_owned"                         "10";
     "refresh_period"                    "10h";
     "irc_operator_epithet"              "DareNET IRC Operator";
     "network_helper_epithet"            "DareNET Support Operator";
     "support_helper_epithet"            "DareNET Support Agent";
     "default_modes"                     "ntz";
     "nodelete_level"                    "1";
     "god_timeout"                       "30m";
  };

  "global" {
     "nick"                              "Global";
     "announcements_default"             "on";
  };

  "spamserv" {
     "nick"                              "SpamServ";
     "debug_channel"                     "#debug";
     "network_rules"                     "http://www.darenet.org/aup";
     "trigger"                           "%";
     "short_ban_duration"                "15m";
     "long_ban_duration"                 "1h";
     "gline_duration"                    "1h";
     "exception_max"                     "25";
     "exception_min_length"              "4";
     "exception_max_length"              "12";
     "badword_max"                       "25";
     "badword_min_length"                "4";
     "badword_max_length"                "12";
     "adv_chan_must_exist"               "1";
     "strip_mirc_codes"                  "0";
     "allow_move_merge"                  "1";
   };
};

/* MODULES */

"modules" {

   "helpserv" {
      "description"                      "Support Queue Manager";
      "reqlogfile"                       "helpservreq.log";
      "expiration"                       "60d";
      "user_escape"                      "@";
   };

   "sockcheck" {
      "max_sockets"                      "64";
      "max_read"                         "1024";
      "gline_duration"                   "1h";
      "max_cache_age"                    "60";
      "address"                          "192.168.1.10";
   };
 
   "snoop" {
      "channel"                          "MrSnoopy";
      "bot"                              "OperServ";
      "show_bursts"                      "0";
   };

   "track" {
      "snomask"                          "nick,join,part,kick,new,del,auth,chanmode,umode";
      "channel"                          "MrSnoopy";
      "bot"                              "HallMonitor";
      "show_bursts"                      "0";
   };

   "memoserv" {
      "bot"                              "MemoServ"
      "modes"                            "+ik";
      "message_expiry"                   "30d";
      "limit"                            "50";
   };
 
   "webtv" {
      "bot"                              "IRC";
      "modes"                            "+k";
      "required_mark"                    "1";
      
      "valid_marks" (
          "webtv",
          "msntv",
          "msntv2"
      );
   };
};

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

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

/* MAIL */

"mail" {
   "enable"                              "1";
   "mailer"                              "/home/services/srvcs/sendmail.sh";
   "from_address"                        "support.robot@darenet.org";
   
   "extra_headers" (
      "DareNET-Services: services-darenet"
   );

   "body_prefix_first" (
      "Welcome to DareNET, looks like this is your first e-mail from us."
   );

   "body_prefix" (                  
      "DareNET Support - User and Channel registration system"
   );

   "body_suffix_first (
      "",
      "DareNET IRC Network",
      "http://www.darenet.org"
   );

   "body_suffix" (
      "",
      "DareNET IRC Network",
      "http://www.darenet.org",
      "support@darenet.org",
      "irc://irc.darenet.org/darenet"
   );
};

/* DATABASES */

"dbs" {
   
   "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"; 
   };

   "mondo" {
      "filename"  "services-darenet.db";
      "frequency" "30m";
   };
};

/* LOGS */

"logs" {
   
   "services-darenet" {
      "max_age"                "10h";
      "max_count"              "1024";
   };

   "*.*" (
      "std:out", 
      "file:everything.log"
   ); 

   "*.override,error,fatal"    "irc:#debug";
   "*.staff"                   "irc:#auths"; 
   "ChanServ.*"                "file:chanserv.log"; 
   "ProxyCheck.*" ();
};