Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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 = "Startech60Serve.com";
- description = "US South Carlonia";
- 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 = "Startech60Serve IRC server";
- Contact = "IRC Admins <startech@startech60serve.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 controls when
- # outbound connections should be automatically initiated: if the number
- # of connections in the class is less than the maxlinks value, an
- # outbound connection can be made (subject to CRule restrictions).
- # That means hubs should typically have maxlinks = 0 for server links,
- # and leaf servers should typically have maxlinks = 1 for their hub(s).
- #
- # For inbound client connections, maxlinks controls when new clients
- # should be accepted for the class. If maxlinks is 0, new clients will
- # always be allowed. Otherwise, new clients will be allowed if there
- # are fewer than maxlinks clients in the class, up to a limit of about
- # 4,000,000,000.
- #
- # <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 = "LeafServer";
- pingfreq = 1 minutes 30 seconds;
- connectfreq = 5 minutes;
- maxlinks = 0;
- sendq = 9000000;
- };
- # Client classes. 10 = locals; 2 = for all .net and .com that are not
- # in Europe; 1 = for everybody.
- 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 = "LocOps";
- pingfreq = 1 minutes 30 seconds;
- sendq = 160000;
- maxlinks = 10;
- local = yes;
- chan_limit = yes;
- mode_lchan = yes;
- show_invis = yes;
- show_all_invis = yes;
- local_kill = yes;
- rehash = yes;
- local_opmode = yes;
- whox = yes;
- display = yes;
- force_local_opmode = yes;
- };
- Class {
- name = "GlobOps";
- pingfreq = 1 minutes 30 seconds;
- sendq = 160000;
- maxlinks = 10;
- local = no;
- whox = yes;
- display = yes;
- chan_limit = yes;
- mode_lchan = yes;
- deop_lchan = yes;
- show_invis = yes;
- show_all_invis = yes;
- local_kill = yes;
- rehash = yes;
- local_gline = yes;
- see_chan = yes;
- list_chan = yes;
- see_opers = yes;
- local_opmode = yes;
- force_local_opmode = yes;
- kill = yes;
- opmode = yes;
- force_opmode = yes;
- };
- Class {
- name = "ServerAdmins";
- pingfreq = 1 minutes 30 seconds;
- sendq = 160000;
- maxlinks = 10;
- local = yes;
- 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;
- see_chan = yes;
- list_chan = yes;
- wide_gline = yes;
- see_opers = yes;
- local_opmode = yes;
- force_local_opmode = yes;
- kill = yes;
- opmode = yes;
- badchan = yes;
- force_opmode = yes;
- apass_opmode = yes;
- };
- Class {
- name = "NetAdmins";
- pingfreq = 1 minutes 30 seconds;
- sendq = 160000;
- maxlinks = 10;
- 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;
- see_chan = yes;
- list_chan = yes;
- wide_gline = yes;
- see_opers = yes;
- local_opmode = yes;
- force_local_opmode = yes;
- kill = yes;
- gline = yes;
- opmode = yes;
- badchan = yes;
- force_opmode = yes;
- apass_opmode = yes;
- };
- Class {
- name = "Opers";
- pingfreq = 1 minutes 30 seconds;
- sendq = 160000;
- maxlinks = 10;
- };
- # [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";
- # };
- #
- # 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 = "*@*";
- ip = "71.12.81.14";
- 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;
- };
- # [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";
- # 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 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 = "*.startech60serve.com";
- file = "startech.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";
- # # Servers introduced with "oper" can remotely (de-)oper clients.
- # oper = "uworld.example.org";
- # };
- #
- # 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.startech60serve.com";
- name = "uworld.us.startech60serve.com";
- name = "channels.startech60serve.com";
- name = "services.startech60serve.com";
- };
- #UWorld {
- # oper = "uworld.eu.undernet.org";
- # oper = "uworld2.undernet.org";
- # oper = "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,startech60serve,protocol,pass,newpass,com";
- 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";
- # };
- #
- #
- # 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";
- };
- # [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;
- # };
- #
- # 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.
- #
- # 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 = "Amsterdam.NL.Eu.UnderNet.org";
- # host = "1.2.3.4";
- # password = "passwd";
- # 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(*)";
- #};
- CRULE
- {
- server = "*.us.startech60serve.com";
- rule = "connected(*.us.startech60serve.com)";
- };
- CRULE
- {
- server = "*.eu.startech60serve.com";
- rule = "connected(*.eu.startech60serve.com)";
- };
- CRULE
- {
- server = "*.au.startech60serve.com";
- rule = "connected(*.au.startech60serve.com)";
- };
- # 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.
- #
- # In most cases, the host mask should start with "<ident>@" or "*@".
- # If there is no <ident>@ prefix, clients without ident results
- # (but matching host name or IP address) can use the Operator block.
- #
- # Operator {
- # host = "host/IP mask";
- # name = "opername";
- # password = "encryptedpass";
- # 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.
- # };
- #
- # 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.
- #
- # 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 = "*@71.12.81.14";
- password = "$PLAIN$passwd123";
- name = "startech";
- class = "Opers";
- local = no;
- };
- Operator {
- host = "startech@71.12.81.14";
- password = "Passwd123";
- name = "startech";
- class = "NetAdmins";
- local = no;
- };
- # 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 this for webirc clients only.
- # # If the head-in-sand (HIS) webirc features are on, you probably
- # # want WebIRC ports to also be hidden.
- # WebIRC = 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 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 = 6668; };
- Port {
- # This only accepts clients with IPs like 192.168.*.
- mask = "192.168.*";
- port = 6666;
- };
- # This is a hidden client port, listening on 168.8.21.107.
- Port {
- vhost = "71.12.81.14";
- hidden = yes;
- port = 7000;
- };
- # 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;
- #};
- # 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 = "X";
- nick = "X@channels.startech60serve.com";
- };
- # You can also prepend text before the user's message.
- Pseudo "LOGIN" {
- name = "X";
- prepend = "LOGIN ";
- nick = "X@channels.startech60serve.com";
- };
- # 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";
- # };
- # Clients who connect to a WebIRC port, match a WebIRC block and send
- # "WEBIRC <password> <username> <hostname> <ip>" during registration
- # can spoof their username, hostname and IP address.
- #
- # A rehash will disconnect clients using a WebIRC block that was
- # removed. A WebIRC block is considered removed if there is no block
- # in the new config with the same IP and password -- if only the
- # description changes, the new description is shown in /whois even for
- # clients who were connected before the rehash.
- WebIRC {
- ip = "127.0.0.1"; # may be a netmask, e.g. 1.2.3.4/28
- password = "Dummerme123";
- description = "Startech60Serve";
- hidden = yes; # hides IP in /stats webirc
- };
- # [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
- {
- "LOG" = "SYSTEM" "FILE" "/home/ircd/lib/ircd.log";
- "LOG" = "SYSTEM" "LEVEL" "CRIT";
- "KILL_IPMISMATCH"="FALSE";
- "IDLE_FROM_MSG"="TRUE";
- "HUB"="TRUE";
- "WALLOPS_OPER_ONLY"="RUE";
- "DEFAULT_LIST_PARAM"="TRUE";
- "NETWORK"="Star60Serve";
- "HOST_HIDING"="TRUE";
- "HIDDEN_HOST"="users.startech60serve.com";
- "HIDDEN_IP"="127.0.0.1";
- "MAXCHANNELSPERUSER"="10";
- "NICKLEN" = "31";
- "PINGFREQUENCY" = "120";
- "CONNECTFREQUENCY" = "600";
- "MPATH" = "/home/ircd/lib/ircd.motd";
- "RPATH" = "/home/ircd/lib/remote.motd";
- "PPATH" = "/home/ircd/lib/ircd.pid";
- "IPCHECK_CLONE_LIMIT" = "3";
- "IPCHECK_CLONE_PERIOD" = "40";
- "IPCHECK_CLONE_DELAY" = "600";
- "CHANNELLEN" = "200";
- "OPLEVELS" = "TRUE";
- "ZANNELS" = "TRUE";
- "LOCAL_CHANNELS" = "TRUE";
- "ANNOUNCE_INVITES" = "FALSE";
- "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_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" = "*.startech60serve.com";
- "HIS_SERVERINFO" = "Startech60Serve";
- "HIS_URLSERVERS" = "https://www.startech60serve.com/network/";
- # "URLREG" = "http://my.xyz.com/";
- };
- # 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.
- # qwebirc configuration file
- #
- # This a Python program that is imported, so feel free to use any
- # Python here!
- #
- # Note that some changes to this configuration file require re-running
- # compile.py and others require restarting qwebirc (and some require
- # both!)
- # If in doubt always re-compile and restart.
- # The following line is required, don't remove it!
- from qwebirc.config_options import *
- # IRC OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: IRCSERVER
- # Hostname (or IP address) of IRC server to connect to.
- # OPTION: IRCPORT
- # Port of IRC server to connect to.
- IRCSERVER, IRCPORT = "startech60serve.com", 6667
- # OPTION: SSLPORT
- # SSL port of IRC server to connect to.
- # If this option is uncommented it will override IRCPORT.
- #SSLPORT = 6697
- # OPTION: REALNAME
- # The realname field of IRC clients will be set to this value.
- REALNAME = "Startech60Serve"
- # OPTION: IDENT
- # ident to use on irc, possible values include:
- # - a string, e.g. IDENT = "webchat"
- # - the literal value IDENT_HEX, this will set the ident to the
- # a hexadecimal version of the users IP address, e.g
- # IDENT = IDENT_HEX
- # - the literal value IDENT_NICKNAME, this will use the users
- # supplied nickname as their ident.
- IDENT = "webchat"
- # OPTION: OUTGOING_IP
- # The IP address to bind to when connecting to the IRC server.
- #
- # This will not change the IP address that qwebirc listens on.
- # You will need to call run.py with the --ip/-i option if you
- # want that.
- #OUTGOING_IP = "127.0.0.1"
- # OPTION: WEBIRC_MODE
- # This option controls how the IP/hostname of the connecting
- # browser will be sent to IRC.
- #
- # Possible values include:
- # - the string "webirc", i.e. WEBIRC_MODE = "webirc"
- # Use WEBIRC type blocks, with a server configuration of
- # the following style:
- #
- # cgiirc {
- # type webirc;
- # hostname <qwebirc's ip address>;
- # password <password>;
- # };
- #
- # Remember to set the WEBIRC_PASSWORD value to be the
- # same as <password>.
- # - the string "cgiirc", i.e. WEBIRC_MODE = "cgiirc"
- # old style CGIIRC command, set CGIIRC_STRING to be the
- # command used to set the ip/hostname, and set
- # WEBIRC_PASSWORD to be the password used in the server's
- # configuration file.
- # - the literal value None, i.e. WEBIRC_MODE = None
- # Send the IP and hostname in the realname field, overrides
- # the REALNAME option.
- WEBIRC_MODE = "webirc"
- # OPTION: WEBIRC_PASSWORD
- # Used for WEBIRC_MODE webirc and cgiirc, see WEBIRC_MODE
- # option documentation.
- WEBIRC_PASSWORD = "Passwd123"
- # OPTION: CGIIRC_STRING
- # Command sent to IRC server in for cgiirc WEBIRC_MODE.
- # See WEBIRC_MODE option documentation.
- #CGIIRC_STRING = "CGIIRC"
- # UI OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: BASE_URL
- # URL that this qwebirc instance will be available at, add the
- # port number if your instance runs on a port other than 80.
- BASE_URL = "http://www.startech60serve.com:9090"
- # OPTION: NETWORK_NAME
- # The name of your IRC network, displayed throughout the
- # application.
- NETWORK_NAME = "Startech60Serve"
- # OPTION: LOGO_URL
- # URL (relative or absolute) to your logo (max height 68 pixels).
- # If not set the default network name will shown in text.
- # Can be set to "" to display the logo box without setting the
- # logo (for use with CUSTOM_CSS)
- #LOGO_URL="images/logo.png"
- # OPTION: CUSTOM_CSS
- # Filename of custom css to include.
- # Must be in the css directory.
- #CUSTOM_CSS="mynetwork.css"
- # OPTION: ANALYTICS_HTML
- # If you have an analytics service, you can paste the HTML
- # between the triple quotes.
- #ANALYTICS_HTML = """
- #"""
- # OPTION: CUSTOM_MENU_ITEMS
- # Adds custom URLs to the top left menu.
- #CUSTOM_MENU_ITEMS = [
- # ["Help!", "http://www.my.help.site.example/"],
- # ["Privacy policy", "http://www.privacy.policy.example/"],
- #]
- # OPTION: APP_TITLE
- # The title of the application in the web browser.
- APP_TITLE = NETWORK_NAME + " Web IRC"
- # NICKNAME VALIDATION OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: NICKNAME_VALIDATE
- # If True then user nicknames will be validated according to
- # the configuration below, otherwise they will be passed
- # directly to the ircd.
- NICKNAME_VALIDATE = True
- # OPTION: NICKNAME_VALID_FIRST_CHAR
- # A string containing valid characters for the first letter of
- # a nickname.
- # Default is as in RFC1459.
- import string
- NICKNAME_VALID_FIRST_CHAR = string.letters + "_[]{}`^\\|"
- # OPTION: NICKNAME_VALID_SUBSEQUENT_CHAR
- # A string containing valid characters for the rest of the
- # nickname.
- NICKNAME_VALID_SUBSEQUENT_CHARS = NICKNAME_VALID_FIRST_CHAR + string.digits + "-"
- # OPTION: NICKNAME_MINIMUM_LENGTH
- # Minimum characters permitted in a nickname on your network.
- NICKNAME_MINIMUM_LENGTH = 2
- # OPTION: NICKNAME_MAXIMUM_LENGTH
- # Maximum characters permitted in a nickname on your network.
- # Ideally we'd extract this from the ircd, but we need to know
- # before we connect.
- NICKNAME_MAXIMUM_LENGTH = 15
- # FEEDBACK OPTIONS
- # ---------------------------------------------------------------------
- #
- # These options control the feedback module, which allows users to
- # send feedback directly from qwebirc (via email).
- #
- # OPTION: FEEDBACK_FROM
- # E-mail address that feedback will originate from.
- FEEDBACK_FROM = "startech@startech60serve.com"
- # OPTION: FEEDBACK_TO:
- # E-mail address that feedback will be sent to.
- FEEDBACK_TO = "startech@startech60serve.com"
- # OPTION: FEEDBACK_SMTP_HOST
- # Hostname/IP address of SMTP server feedback will be sent
- # through.
- # OPTION: FEEDBACK_SMTP_PORT
- # Port of SMTP server feedback will be sent through.
- FEEDBACK_SMTP_HOST, FEEDBACK_SMTP_PORT = "127.0.0.1", 25
- # ADMIN ENGINE OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: ADMIN_ENGINE_HOSTS:
- # List of IP addresses to allow onto the admin engine at
- # http://instance/adminengine
- ADMIN_ENGINE_HOSTS = ["127.0.0.1"]
- # PROXY OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: FORWARDED_FOR_HEADER
- # If you're using a proxy that passes through a forwarded-for
- # header set this option to the header name, also set
- # FORWARDED_FOR_IPS.
- #FORWARDED_FOR_HEADER="x-forwarded-for"
- # OPTION: FORWARDED_FOR_IPS
- # This option specifies the IP addresses that forwarded-for
- # headers will be accepted from.
- #FORWARDED_FOR_IPS=["127.0.0.1"]
- # EXECUTION OPTIONS
- # ---------------------------------------------------------------------
- #
- # OPTION: ARGS (optional)
- # These arguments will be used as if qwebirc was run directly
- # with them, see run.py --help for a list of options.
- #ARGS = "-n -p 3989"
- # OPTION: SYSLOG_ADDR (optional)
- # Used in conjunction with util/syslog.py and -s option.
- # This option specifies the address and port that syslog
- # datagrams will be sent to.
- #SYSLOG_ADDR = "127.0.0.1", 514
- # TUNEABLE VALUES
- # ---------------------------------------------------------------------
- #
- # You probably don't want to fiddle with these unless you really know
- # what you're doing...
- # OPTION: UPDATE_FREQ
- # Maximum rate (in seconds) at which updates will be propagated
- # to clients
- UPDATE_FREQ = 0.5
- # OPTION: MAXBUFLEN
- # Maximum client AJAX recieve buffer size (in bytes), if this
- # buffer size is exceeded then the client will be disconnected.
- # This value should match the client sendq size in your ircd's
- # configuration.
- MAXBUFLEN = 100000
- # OPTION: MAXSUBSCRIPTIONS
- # Maximum amount of 'subscriptions' to a specific AJAX channel,
- # i.e. an IRC connection.
- # In theory with a value greater than one you can connect more
- # than one web IRC client to the same IRC connection, ala
- # irssi-proxy.
- MAXSUBSCRIPTIONS = 1
- # OPTION: MAXLINELEN
- # If the client sends a line greater than MAXLINELEN (in bytes)
- # then they will be disconnected.
- # Note that IRC normally silently drops messages >=512 bytes.
- MAXLINELEN = 600
- # OPTION: DNS_TIMEOUT
- # DNS requests that do not respond within DNS_TIMEOUT seconds
- # will be cancelled.
- DNS_TIMEOUT = 5
- # OPTION: HTTP_AJAX_REQUEST_TIMEOUT
- # Connections made to the AJAX engine are closed after this
- # this many seconds.
- # Note that this value is intimately linked with the client
- # AJAX code at this time, changing it will result in bad
- # things happening.
- HTTP_AJAX_REQUEST_TIMEOUT = 295
- # OPTION: HTTP_REQUEST_TIMEOUT
- # Connections made to everything but the AJAX engine will
- # be closed after this many seconds, including connections
- # that haven't started/completed an HTTP request.
- HTTP_REQUEST_TIMEOUT = 5
- # OPTION: STATIC_BASE_URL
- # This value is used to build the URL for all static HTTP
- # requests.
- # You'd find this useful if you're running multiple qwebirc
- # instances on the same host.
- STATIC_BASE_URL = ""
- # OPTION: DYNAMIC_BASE_URL
- # This value is used to build the URL for all dynamic HTTP
- # requests.
- # You'd find this useful if you're running multiple qwebirc
- # instances on the same host.
- DYNAMIC_BASE_URL = ""
- # OPTION: CONNECTION_RESOLVER
- # A list of (ip, port) tuples of resolvers to use for looking
- # the SRV record(s) used for connecting to the name set in
- # IRC_SERVER.
- # The default value is None, and in this case qwebirc will use
- # the system's default resolver(s).
- CONNECTION_RESOLVER = None
- # OPTION: ACCOUNT_WHOIS_COMMAND
- # Command sent when a username is clicked.
- #ACCOUNT_WHOIS_COMMAND = "/msg Q whois #"
- # QUAKENET SPECIFIC VALUES
- # ---------------------------------------------------------------------
- #
- # These values are of no interest if you're not QuakeNet.
- # At present they still need to be set, this will change soon.
- #
- # OPTION: HMACKEY
- # Shared key to use with hmac WEBIRC_MODE.
- HMACKEY = "mrmoo"
- # OPTION: HMACTEMPORAL
- # Divisor used for modulo HMAC timestamp generation.
- HMACTEMPORAL = 30
- # OPTION: AUTHGATEDOMAIN
- # Domain accepted inside authgate tickets.
- AUTHGATEDOMAIN = "webchat_test"
- # OPTION: QTICKETKEY
- # Key shared with the authgate that is used to decrypt
- # qtickets.
- QTICKETKEY = "boo"
- # OPTION: AUTH_SERVICE
- # Service that auth commands are sent to. Also used to check
- # responses from said service.
- AUTH_SERVICE = "Q!TheQBot@CServe.quakenet.org"
- # OPTION: AUTH_OK_REGEX
- # JavaScript regular expression that should match when
- # AUTH_SERVICE has returned an acceptable response to
- # authentication.
- AUTH_OK_REGEX = "^You are now logged in as [^ ]+\\.$"
- # OPTION: AUTHGATEPROVIDER
- # Authgate module to use, normally imported directly.
- # dummyauthgate does nothing.
- import dummyauthgate as AUTHGATEPROVIDER
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement