Advertisement
Guest User

itpho3nix

a guest
Aug 4th, 2009
431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.71 KB | None | 0 0
  1. /*
  2. * example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org).
  3. * $Id: example.conf,v 1.1.1.1.2.24 2009/04/13 11:03:55 syzop Exp $
  4. *
  5. * Works for Unreal3.2 and up
  6. *
  7. * Okay guys. This is the new example.conf. Its look is much like C++, kinda.
  8. * Anyway it is time to go over this. It's hard to pick up at first, but
  9. * with some pratice and reading you'll understand.
  10. *
  11. * Just copy this file to your main unrealircd dir and call it 'unrealircd.conf'.
  12. *
  13. * NOTE: All lines, except the opening { line, end in an ;, including the
  14. * closing } line. The IRCd will ignore commented lines.
  15. *
  16. * PLEASE READ doc/unreal32docs.html! The online version is also available at:
  17. * www.vulnscan.org/UnrealIRCd/unreal32docs.html
  18. * It contains a lot information about the configfile: gives information about
  19. * every block, variable, etc..
  20. * If you try to edit this file without reading the documentation properly
  21. * then you are pretty much guaranteed to fail!
  22. */
  23.  
  24. /* Type of comments */
  25. #Comment type 1 (Shell type)
  26. // Comment type 2(C++ style)
  27. /* Comment type 3 (C Style) */
  28. #those lines are ignored by the ircd.
  29.  
  30. /*
  31. * UnrealIRCd supports modules, loading some of them is required.
  32. * You need at least the commands module and a cloaking module.
  33. */
  34.  
  35. /* FOR *NIX, uncomment the following 2lines: */
  36. loadmodule "src/modules/commands.so";
  37. loadmodule "src/modules/cloak.so";
  38.  
  39. /* FOR Windows, uncomment the following 2 lines: */
  40. //loadmodule "modules/commands.dll";
  41. //loadmodule "modules/cloak.dll";
  42.  
  43. /*
  44. * You can also include other configuration files.
  45. * help.conf contains all the /helpop text. The badwords.*.conf
  46. * files contain all the badword entries for mode +G...
  47. * spamfilter.conf contains some good rules for current trojans.
  48. * You probably want to include them:
  49. */
  50. include "help.conf";
  51. include "badwords.channel.conf";
  52. include "badwords.message.conf";
  53. include "badwords.quit.conf";
  54. include "spamfilter.conf";
  55.  
  56. /*
  57. * NEW: me {}
  58. * OLD: M:Line
  59. * me {} defines the name, description and unreal server numeric for
  60. * this server. Syntax is as follows:
  61. * me {
  62. * name "server.name";
  63. * info "Server Description";
  64. * numeric (server numeric*);
  65. * };
  66. * If linking, this numeric may not be used by any other server on the network.
  67. */
  68. me
  69. {
  70. name "myserver.com";
  71. info "My Server";
  72. numeric 250;
  73. };
  74.  
  75. /*
  76. * NEW: admin {}
  77. * OLD: A:Line
  78. * Admin gives information on the server admin. you
  79. * may put as many lines under admin { as you wish.
  80. * Syntax is as follows:
  81. * admin {
  82. * "first line";
  83. * "second line";
  84. * [etc]
  85. * };
  86. */
  87. admin {
  88. "name";
  89. "nick";
  90. "email";
  91. };
  92.  
  93. /*
  94. * NEW: class {}
  95. * OLD: Y:line (old was confusing)
  96. * These define settings for classes. A class is a group setting for
  97. * connections. Example, server connections, instead of going to a client's
  98. * class, you direct it to the server class. Syntax is as follows
  99. * class (class name)
  100. * {
  101. * pingfreq (how often to ping a user/server in seconds);
  102. * maxclients (how many connections for this class);
  103. * sendq (maximum send queue from a connection);
  104. * recvq (maximum receive queue from a connection [flood control]);
  105. * };
  106. */
  107.  
  108. class clients
  109. {
  110. pingfreq 90;
  111. maxclients 500;
  112. sendq 100000;
  113. recvq 8000;
  114. };
  115.  
  116. class servers
  117. {
  118. pingfreq 90;
  119. maxclients 10; /* Max servers we can have linked at a time */
  120. sendq 1000000;
  121. connfreq 100; /* How many seconds between each connection attempt */
  122. };
  123.  
  124. /*
  125. * NEW: allow {}
  126. * OLD: I:Line
  127. * This defines allowing of connections...
  128. * Basically for clients, it allows them to connect so you can have some
  129. * control and/or set a password.
  130. * Syntax is as follows:
  131. * allow {
  132. * ip (ip mask to allow);
  133. * hostname (host mask);
  134. * class (class to send them to [see class {}]);
  135. * password "(password)"; (optional)
  136. * maxperip (how many connections per ip); (optional)
  137. * };
  138. */
  139.  
  140. allow {
  141. ip *@*;
  142. hostname *@*;
  143. class clients;
  144. maxperip 5;
  145. };
  146.  
  147. /* Passworded allow line
  148. allow {
  149. ip *@255.255.255.255;
  150. hostname *@*.passworded.ugly.people;
  151. class clients;
  152. password "0";
  153. maxperip 1;
  154. };
  155. */
  156.  
  157. /*
  158. * NEW: allow channel {}
  159. * OLD: chrestrict
  160. * Allows a user to join a channel...
  161. * like an except from deny channel.
  162. * Syntax:
  163. * allow channel {
  164. * channel "channel name";
  165. * };
  166. */
  167. allow channel {
  168. channel "#channel1";
  169. channel "#channel2";
  170. channel "#channel3";
  171. channel "#channel4";
  172. channel "#channel5";
  173. };
  174.  
  175. /*
  176. * NEW: oper {}
  177. * OLD: O:Line
  178. * Defines an IRC Operator
  179. * IRC operators are there to keep sanity to the server and usually keep it
  180. * maintained and connected to the network.
  181. * The syntax is as follows:
  182. * oper (login) {
  183. * class (class to put them in, if different from I, moves them to new
  184. * class);
  185. * from {
  186. * userhost (ident@host);
  187. * userhost (ident@host);
  188. * };
  189. * flags
  190. * {
  191. * (flags here*);
  192. * };
  193. * OR
  194. * flags "old type flags, like OAaRD";
  195. * };
  196. */
  197.  
  198.  
  199. /* For a list of oper flags, see doc/unreal32docs.html#operblock
  200. * [HIGHLY recommended to read]
  201. */
  202.  
  203. oper nick {
  204. class clients;
  205. from {
  206. userhost *@*;
  207. };
  208. password "pass";
  209. flags
  210. {
  211. netadmin;
  212. can_rehash;
  213. can_localkill;
  214. can_globalkill;
  215. local;
  216. can_globalroute;
  217. can_localroute;
  218. can_zline;
  219. can_gzline;
  220. can_gkline;
  221. global;
  222. can_kline;
  223. can_unkline;
  224. can_localnotice;
  225. can_globalnotice;
  226. get_umodew;
  227. can_override;
  228. can_addline;
  229. get_host;
  230. can_dccdeny;
  231. };
  232. };
  233.  
  234. /*
  235. * NEW: listen {}
  236. * OLD: P:Line
  237. * This defines a port for the ircd to bind to, to
  238. * allow users/servers to connect to the server.
  239. * Syntax is as follows:
  240. * listen (ip number):(port number)
  241. * {
  242. * options {
  243. * (options here);
  244. * };
  245. * };
  246. * or for a plain
  247. * listen: listen (ip):(port);
  248. *
  249. * NOTICE: for ipv6 ips (3ffe:b80:2:51d::2 etc), use listen [ip]:port;
  250. *
  251. * That works also.
  252. */
  253.  
  254. /* Options for listen:
  255. OLD | NEW
  256. S serversonly
  257. C clientsonly
  258. J java
  259. s ssl
  260. * standard
  261. */
  262.  
  263. /* NOTE ON SSL PORTS: SSL ports are pretty non-standardized,
  264. * besides numerous high-SSL ports, some people say you should run
  265. * it at 994 because that's the official SSL port.. but that
  266. * requires root! Besides, port 194 is the official irc port and
  267. * have you ever seen an ircd running on that?
  268. * So, our suggestion is to use port 6697 for SSL, this is used by
  269. * quite some networks and is recognized by for example StunTour.
  270. * You are free to open up as many SSL ports as you want, but
  271. * by (also) using 6697 you help the world standardize a bit ;).
  272. */
  273. listen *:6697
  274. {
  275. options
  276. {
  277. serversonly;
  278. };
  279. };
  280.  
  281. listen *:8067;
  282. listen *:6667;
  283.  
  284. /* NOTE: If you are on an IRCd shell with multiple IP's you are
  285. * likely to get 'Address already in use' errors in your log
  286. * and the ircd won't start. This means you MUST bind
  287. * to a specific IP instead of '*', so for example:
  288. * listen 1.2.3.4:6667;
  289. * Obviously, replace the IP with the IP that was assigned to you.
  290. */
  291.  
  292. /*
  293. * NEW: link {}
  294. * OLD: C/N:Lines
  295. * This defines an okay for a server connection.
  296. * NOTE: BOTH SERVERS NEED A LINK {} SETTING TO CONNECT PROPERLY!
  297. * Syntax is as follows:
  298. * link (server name)
  299. * {
  300. * username (username, * works too);
  301. * hostname (ip number/hostmask);
  302. * bind-ip (What IP to bind to when connecting, or *);
  303. * port (port to connect to, if any);
  304. * hub (If this is a hub, * works, or servermasks it may bring in);
  305. * [or leaf *;]
  306. * password-connect "(pass to send)";
  307. * password-receive "(pass we should receive)";
  308. * class (class to direct servers into);
  309. * options {
  310. * (options here*);
  311. * };
  312. * // If we use SSL, we can choose what cipher to use in SSL mode
  313. * // Retrieve a list by "openssl ciphers", separate ciphers with :'s
  314. *
  315. * ciphers "DES-CBC3-MD5";
  316. *
  317. * };
  318. */
  319.  
  320. /*
  321. options:
  322. OLD | NEW
  323. S ssl
  324. Z zip
  325. N/A autoconnect
  326. N/A quarantine
  327. N/A nodnscache
  328. */
  329.  
  330.  
  331. link mydomain.com
  332. {
  333. username *;
  334. hostname 127.0.0.1;
  335. bind-ip *;
  336. port 6667;
  337. hub *;
  338. password-connect "pass";
  339. password-receive "pass";
  340. class servers;
  341. options { };
  342. };
  343. /*
  344. *
  345. * NEW: ulines {}
  346. * OLD: U:Line
  347. * U-lines give servers more power/commands, this should ONLY be set
  348. * for services/stats servers and NEVER for normal UnrealIRCd servers!
  349. * Syntax is as follows:
  350. * ulines {
  351. * (server to uline);
  352. * (server to uline);
  353. * [etc]
  354. * };
  355. */
  356.  
  357. set { services-server "services.sicariobit.info"; };
  358.  
  359. ulines {
  360. mydomain.com;
  361. services.mydomain.com;
  362. stats.mydomain.com;
  363. };
  364.  
  365. /*
  366. * NEW: drpass {}
  367. * OLD: X:Line
  368. * This defines the passwords for /die and /restart.
  369. * Syntax is as follows:
  370. * drpass {
  371. * restart "(password for restarting)";
  372. * die "(password for die)";
  373. * };
  374. */
  375. drpass {
  376. restart "pass";
  377. die "pass";
  378. };
  379.  
  380. /*
  381. * NEW: log {} OLD: N/A Tells the ircd where and what to log(s). You can have
  382. * as many as you wish.
  383. *
  384. * FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
  385. *
  386. * Syntax:
  387. * log "log file"
  388. * {
  389. * flags
  390. * {
  391. * flag;
  392. * flag;
  393. * etc..
  394. * };
  395. * };
  396. */
  397.  
  398. log "ircd.log" {
  399. /* Delete the log file and start a new one when it reaches 2MB, leave this out to always use the
  400. same log */
  401. maxsize 2097152;
  402. flags {
  403. oper;
  404. kline;
  405. connects;
  406. server-connects;
  407. kills;
  408. errors;
  409. sadmin-commands;
  410. chg-commands;
  411. oper-override;
  412. spamfilter;
  413. };
  414. };
  415.  
  416. /*
  417. * NEW: alias {}
  418. * OLD: N/A
  419. * This allows you to set command aliases such as /nickserv, /chanserv etc
  420. * FLAGS: services, stats, normal
  421. *
  422. * Syntax:
  423. * alias "name" {
  424. * target "points to";
  425. * type aliastype;
  426. * };
  427. *
  428. * [NOTE: You could also include a pre-defined alias file here, see doc/unreal32docs.html section 2.9]
  429. */
  430.  
  431. // This points the command /nickserv to the user NickServ who is connected to the set::services-server server
  432. /*alias NickServ {
  433. target "NickServ";
  434. type services;
  435. };*/
  436.  
  437. // If you want the command to point to the same nick as the command, you can leave the nick entry out
  438. //alias ChanServ { type services; };
  439.  
  440. // Points the /statserv command to the user StatServ on the set::stats-server server
  441. //alias StatServ { type stats; };
  442.  
  443. // Points the /superbot command to the user SuperBot
  444. //alias SuperBot { type normal; };
  445.  
  446.  
  447. /* Standard aliases */
  448. alias NickServ { type services; };
  449. alias ChanServ { type services; };
  450. alias OperServ { type services; };
  451. alias HelpServ { type services; };
  452. alias StatServ { type stats; };
  453.  
  454. /*
  455. * NEW: alias {}
  456. * OLD: N/A
  457. * This allows you to set command aliases such as /identify, /services, etc
  458. *
  459. * Syntax:
  460. * alias "name" {
  461. * format "format string" {
  462. * target "points to";
  463. * type aliastype;
  464. * parameters "parameters to send";
  465. * };
  466. * type command;
  467. * };
  468. */
  469. /* This is shown seperately because even though it has teh same name as the previous directive, it is very
  470. * different in syntax, although it provides a similar function and relys on the standard aliases to work.
  471. */
  472. /*
  473. alias "identify" {
  474. format "^#" {
  475. target "chanserv";
  476. type services;
  477. parameters "IDENTIFY %1-";
  478. };
  479. format "^[^#]" {
  480. target "nickserv";
  481. type services;
  482. parameters "IDENTIFY %1-";
  483. };
  484. type command;
  485. };
  486. */
  487. /* The alias::format directive is a regular expression. The first format matches the /identify command when
  488. * the first character is a #. It then passes this along to the chanserv alias with the parameters IDENTIFY
  489. * %1-. The second format matches then /identify command when the first character is not a #. It then
  490. * passes the command to the nickserv alias with parameters IDENTIFY %1-.
  491. */
  492.  
  493. /* The alias::format::parameters is similar to scripting languages. %N (where N is a number) represents a
  494. * parameter sent to the command (in this case /identify). If you specify %N- it means all parameters from
  495. * N until the last parameter in the string. You may also specify %n which is replaced by
  496. * the user's nickname.
  497. */
  498.  
  499. /* Standard aliases */
  500. alias "services" {
  501. format "^#" {
  502. target "chanserv";
  503. type services;
  504. parameters "%1-";
  505. };
  506. format "^[^#]" {
  507. target "nickserv";
  508. type services;
  509. parameters "%1-";
  510. };
  511. type command;
  512. };
  513.  
  514. alias "identify" {
  515. format "^#" {
  516. target "chanserv";
  517. type services;
  518. parameters "IDENTIFY %1-";
  519. };
  520. format "^[^#]" {
  521. target "nickserv";
  522. type services;
  523. parameters "IDENTIFY %1-";
  524. };
  525. type command;
  526. };
  527.  
  528. /* This is an example of a real command alias */
  529. /* This maps /GLINEBOT to /GLINE <parameter> 2d etc... */
  530. alias "glinebot" {
  531. format ".+" {
  532. command "gline";
  533. type real;
  534. parameters "%1 2d Bots are not allowed on this server, please read the faq at http://www.example.com/faq/123";
  535. };
  536. type command;
  537. };
  538.  
  539.  
  540.  
  541. /*
  542. * NEW: tld {}
  543. * OLD: T:Line
  544. * This sets a different motd and rules files
  545. * depending on the clients hostmask.
  546. * Syntax is as follows:
  547. * tld {
  548. * mask (ident@host);
  549. * motd "(motd file)";
  550. * rules "(rules file)";
  551. * };
  552. */
  553.  
  554. tld {
  555. mask *@*;
  556. motd "ircd.motd";
  557. rules "ircd.rules";
  558. };
  559.  
  560. /* note: you can just delete the example block above,
  561. * in which case the defaults motd/rules files (ircd.motd, ircd.rules)
  562. * will be used for everyone.
  563. */
  564.  
  565. /*
  566. * NEW: ban nick {}
  567. * OLD: Q:Line
  568. * Bans a nickname, so it can't be used.
  569. * Syntax is as follows:
  570. * ban nick {
  571. * mask "(nick to ban)";
  572. * reason "(reason)";
  573. * };
  574. */
  575. ban nick {
  576. mask "*C*h*a*n*S*e*r*v*";
  577. reason "Reserved for Services";
  578. };
  579. /*
  580. * NEW: ban ip {}
  581. * OLD: Z:Line
  582. * Bans an ip from connecting to the network.
  583. * Syntax:
  584. * ban ip { mask (ip number/hostmask); reason "(reason)"; };
  585. */
  586. ban ip {
  587. mask 195.86.232.81;
  588. reason "Delinked server";
  589. };
  590. /*
  591. * NEW: ban server {}
  592. * OLD: Server Q:Line
  593. * Disables a server from connecting to the network.
  594. * if the server links to a remote server, local server
  595. * will disconnect from the network.
  596. * Syntax is as follows:
  597. * ban server {
  598. * mask "(server name)";
  599. * reason "(reason to give)";
  600. * };
  601. */
  602.  
  603. ban server {
  604. mask eris.berkeley.edu;
  605. reason "Get out of here.";
  606. };
  607. /*
  608. * NEW: ban user {}
  609. * OLD: K:Line
  610. * This makes it so a user from a certain mask can't connect
  611. * to your server.
  612. * Syntax:
  613. * ban user { mask (hostmask/ip number); reason "(reason)"; };
  614. */
  615.  
  616. ban user {
  617. mask *tirc@*.saturn.bbn.com;
  618. reason "Idiot";
  619. };
  620.  
  621. /*
  622. * NEW: ban realname {}
  623. * OLD: n:Line
  624. * This bans a certain realname from being used.
  625. * Syntax:
  626. * ban realname {
  627. * mask "(real name)";
  628. * reason "(reason)";
  629. * };
  630. */
  631.  
  632. ban realname {
  633. mask "Swat Team";
  634. reason "mIRKFORCE";
  635. };
  636.  
  637. ban realname {
  638. mask "sub7server";
  639. reason "sub7";
  640. };
  641.  
  642. /*
  643. * NOTE FOR ALL BANS, they may be repeated for addition entries!
  644. *
  645. * NEW: except ban {}
  646. * OLD: E:Line
  647. * This makes it so you can't get banned.
  648. * Syntax:
  649. * except ban { mask (ident@host); };
  650. * Repeat the except ban {} as many times
  651. * as you want for different hosts.
  652. */
  653.  
  654. except ban {
  655. /* don't ban stskeeps */
  656. mask *stskeeps@212.*;
  657. };
  658.  
  659. /*
  660. * NEW: deny dcc {}
  661. * OLD: dccdeny.conf
  662. * Use this to block dcc send's... stops
  663. * viruses better.
  664. * Syntax:
  665. * deny dcc
  666. * {
  667. * filename "file to block (ie, *exe)";
  668. * reason "reason";
  669. * };
  670. */
  671. deny dcc {
  672. filename "*sub7*";
  673. reason "Possible Sub7 Virus";
  674. };
  675.  
  676. /*
  677. * NEW: deny channel {}
  678. * OLD: N/A (NEW)
  679. * This blocks channels from being joined.
  680. * Syntax:
  681. * deny channel {
  682. * channel "(channel)";
  683. * reason "reason";
  684. * };
  685. */
  686. deny channel {
  687. channel "*warez*";
  688. reason "Warez is illegal";
  689. };
  690.  
  691. /*
  692. * NEW: vhost {}
  693. * OLD: Vhost.conf file
  694. * This sets a fake ip for non-opers, or
  695. * opers too lazy to /sethost :P
  696. * Syntax:
  697. * vhost {
  698. * vhost (vhost.com);
  699. * from {
  700. * userhost (ident@host to allow to use it);
  701. * };
  702. * login (login name);
  703. * password (password);
  704. * };
  705. * then to use this vhost, do /vhost (login) (password) in IRC
  706. */
  707. vhost {
  708. vhost i.hate.microsefrs.com;
  709. from {
  710. userhost *@*.image.dk;
  711. };
  712. login stskeeps;
  713. password moocowsrulemyworld;
  714. };
  715.  
  716. /* You can include other configuration files */
  717. /* include "klines.conf"; */
  718.  
  719. /* Network configuration */
  720. set {
  721. network-name "ServerName";
  722. default-server "mydomsin.vom";
  723. services-server "services.mydomain.com";
  724. stats-server "stats.mydomain.com";
  725. help-channel "#help";
  726. hiddenhost-prefix "sic";
  727. /* prefix-quit "no"; */
  728. /* Cloak keys should be the same at all servers on the network.
  729. * They are used for generating masked hosts and should be kept secret.
  730. * The keys should be 3 random strings of 5-100 characters
  731. * (10-20 chars is just fine) and must consist of lowcase (a-z),
  732. * upcase (A-Z) and digits (0-9) [see first key example].
  733. * HINT: On *NIX, you can run './unreal gencloak' in your shell to let
  734. * Unreal generate 3 random strings for you.
  735. */
  736. cloak-keys {
  737. "XXXXXXXXXXX";
  738. "XXXXXXXXXXX";
  739. "XXXXXXXXXXX";
  740. };
  741. /* on-oper host */
  742. hosts {
  743. local "locop.mydomain.com";
  744. global "ircop.mydomain.com";
  745. coadmin "coadmin.mydomain.com";
  746. admin "admin.mydomain.com";
  747. servicesadmin "csops.mydomain.com";
  748. netadmin "netadmin.mydomain.com";
  749. host-on-oper-up "no";
  750. };
  751. };
  752.  
  753. /* Server specific configuration */
  754.  
  755. set {
  756. kline-address "myemail";
  757. modes-on-connect "+ixw";
  758. modes-on-oper "+xwgs";
  759. oper-auto-join "#opers";
  760. options {
  761. hide-ulines;
  762. /* You can enable ident checking here if you want */
  763. /* identd-check; */
  764. show-connect-info;
  765. };
  766.  
  767. maxchannelsperuser 10;
  768. /* The minimum time a user must be connected before being allowed to use a QUIT message,
  769. * This will hopefully help stop spam */
  770. anti-spam-quit-message-time 10s;
  771. /* Make the message in static-quit show in all quits - meaning no
  772. custom quits are allowed on local server */
  773. /* static-quit "Client quit"; */
  774.  
  775. /* You can also block all part reasons by uncommenting this and say 'yes',
  776. * or specify some other text (eg: "Bye bye!") to always use as a comment.. */
  777. /* static-part yes; */
  778.  
  779. /* This allows you to make certain stats oper only, use * for all stats,
  780. * leave it out to allow users to see all stats. Type '/stats' for a full list.
  781. * Some admins might want to remove the 'kGs' to allow normal users to list
  782. * klines, glines and shuns.
  783. */
  784. oper-only-stats "okfGsMRUEelLCXzdD";
  785.  
  786. /* Throttling: this example sets a limit of 3 connection attempts per 60s (per host). */
  787. throttle {
  788. connections 3;
  789. period 60s;
  790. };
  791.  
  792. /* Anti flood protection */
  793. anti-flood {
  794. nick-flood 3:60; /* 3 nickchanges per 60 seconds (the default) */
  795. };
  796.  
  797. /* Spam filter */
  798. spamfilter {
  799. ban-time 1d; /* default duration of a *line ban set by spamfilter */
  800. ban-reason "Spam/Advertising"; /* default reason */
  801. virus-help-channel "#help"; /* channel to use for 'viruschan' action */
  802. /* except "#help"; channel to exempt from filtering */
  803. };
  804. };
  805.  
  806. /*
  807. * Problems or need more help?
  808. * 1) www.vulnscan.org/UnrealIRCd/unreal32docs.html
  809. * 2) www.vulnscan.org/UnrealIRCd/faq/ <- contains 80% of your questions!
  810. * 3) If you still have problems you can go irc.ircsystems.net #unreal-support,
  811. * note that we require you to READ THE DOCUMENTATION and FAQ first!
  812. */
  813.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement