EGGDROP CZ╩ª╞ 3 ú▒czenie eggdrop≤wú▒czenie bot≤w ma kilka zalet. Przede wszystkim je┐eli boty s▒ na tym samym kanale mog▒ mieµ wsp≤ln▒ userliste tzn., ┐e je┐eli dokonamy zmiany w userli╢cie w kt≤rym╢ z bot≤w, automatycznie nast▒pi zmiana we wszystkich. Inn▒ zalet▒ jest wsp≤lne party line, na kt≤rej mog▒ siΩ porozumiewaµ osoby zar≤wno z tego samego kana│u jak i z innych kana│≤w poprzez przy│▒czone boty. DziΩki temu mo┐na porozmawiaµ z innymi w│a╢cicielami/u┐ytkownikami bot≤w lub po prostu jak czego╢ nie wiemy zapytaµ. Istnieje wiele sieci eggdropowych na ╢wiecie i w Polsce. W niekt≤rych liczba bot≤w siΩga 200-300. 1. ú▒czenie bot≤w bez wymiany userlisty Jest najczΩ╢ciej stosowane. Za│≤┐my, ┐e bot1 to nasz bot, natomiast bot2 to bot, z kt≤rym chcemy siΩ po│▒czyµ. W≤wczas pytamy siΩ w│a╢ciciela (lub osobΩ maj▒ca flagΩ +t) bot2 jaki nick, adres oraz port ma jego bot. Dane te s▒ ustawione w pliku konfiguracyjnym bota. Nick ustawia siΩ zmienn▒ set nick "nick_bota". Port ustawia siΩ zmienn▒ listen nr_portu all lub listen nr_portu bots, aktualne ustawienie mo┐na zobaczyµ komend▒ .rehash .Natomiast adres to adres komputera, gdzie bot jest uruchomiony. Mo┐na go │atwo odczytaµ poprzez komendΩ na ircu /whois nick_bota. Oczywi╢cie znany nam jest nick, adres, port bota1. Dane te przekazujemy w│a╢cicielowi bot2. W bot1 wpisujemy: .+bot nick_bot2 adres_bot2:port_bot2 (np .+bot Bocisko linux.w.pwr.edu.pl:3334) W bot2 w│a╢ciciel (lub +t) wpisuje: .+bot nick_bot1 adres_bot1:port_bot1 (np .+bot Blacha blachowski.ds100.agh.edu.pl:3234) Je┐eli chcemy aby bot1 zawsze po uruchomieniu, restarcie, zerwaniu po│▒czenia itd. │▒czy│ siΩ z bot2 to musimy w bot1 wpisaµ: .botattr nick_bot2 +h WiΩcej o botflagach tutaj. 2. ú▒czenie bot≤w z wymian▒ userlisty. Wymiana userlisty polega na: a) wysy│aniu z bota z botflag▒ +s (aggressive shared) userlisty do bota +p (passive shared) po po│▒czeniu siΩ bot≤w. b) wymianie informacji o zmianie userlisty flag globalnych oraz, je┐eli jest ustawiona botflaga |+s #channel na obydwu botach, wymianie flag lokalnych dotycz▒cych tego kana│u. Przed przyst▒pieniem do linkowania musimy zdecydowaµ, kt≤ry bot bΩdzie przyjmowa│ userliste, a kt≤ry wysy│a│, Od tej pory bot, kt≤ry bΩdzie wysy│a│ userliste do innego bota bΩdzie hubem. Bardzo wa┐ne jest aby przy pod│▒czaniu wiΩkszej liczby bot≤w nie tworzyµ "│a±cuszk≤w" bot≤w, w kt≤rych jeden jest zar≤wno hubem jak i odbiera userliste od innego huba, Nale┐y tworzyµ jak tylko jest to mo┐liwe sieµ "gwia╝dzist▒" czyli jeden hub i kilka bot≤w czerpi▒cych z niego userliste. Zatem niech bot2 bΩdzie hubem. Dodajemy boty tak samo jak w wariancie 1. Dodatkowo w bot1 wpisujemy: .botattr nick_bot2 +hp .botattr nick_bot2 |+s #channel1 .botattr nick_bot2 |+s #channel2 itd.. Ustawiamy dla wszystkich kana│≤w, dla kt≤rych chcemy aby boty mia│y takie same ustawienia lokalne. W bot2 wpisujemy: .botattr nick_bot1 +s .botattr nick_bot1 |+s #channel1 .botattr nick_bot1 |+s #channel2 W przypadku powy┐szego │▒czenia eggdrop≤w, w ka┐dym z po│▒czonych bot≤w musi byµ za│adowany modu│ share oraz transfer czyli w pliku konfiguracyjnym musz▒ byµ instrukcje loadmodule share oraz loadmodule transfer. Dodatkowo radzΩ ustawiµ zmienn▒ xfer-timeout na 300. Zmienna ta okre╢la czas, po kt≤rym nast▒pi przerwanie transferu userlisty, je┐eli nie zosta│o zako±czone. W wersji 1.3.27 jest ustawiona domy╢lnie na 30. Jest to stanowczo za ma│o. No chyba ┐e mamy bardzo niewielk▒ userlistΩ, albo super szybkie po│▒czenie miΩdzy botami :-) Je┐eli chcemy aby boty wymienia│y siΩ ca│▒ userlist▒ tj. wszystkimi kana│ami zamiast flag |+s #channelX mo┐na u┐yµ globalnej flagi +g czyli w≤wczas w bot1 wpisujemy: .botattr nick_bot2 +ghp natomiast w bot2 wpisujemy: .botattr nick_bot1 +gs Komendy do rΩcznego linkowania bot≤w to .link bot lub .unlink bot. Ich u┐ycie nie jest potrzebne je┐eli boty maj▒ odpowiednio ustawione botflagi +h (same siΩ │▒cz▒). Inne komendy zwi▒zane z sieci▒ bot≤w tylko dla os≤b maj▒cych flage +t to: .bots - podaje liste bot≤w po│▒czonych w sieci. .trace botnick - wy╢wietla listΩ bot≤w po drodze do botnick. .bottree - pokazuje drzewo po│▒cze± bot≤w. .boot nick - Wyrzuca osobΩ o nicku nick z party line. .botinfo - Podaje informacje o wszystkich botach w sieci. Je┐eli │▒czymy nasze boty z jak▒╢ inn▒ sieci▒ bot≤w radzΩ r≤wnie┐ przestawiµ zmienn▒ remote-boots w pliku konfiguracyjnym bota na: set remote-boots 1 - co oznacza, ┐e user≤w z naszego bota mog▒ tylko wyrzucaµ masterzy +t bot≤w wsp≤│u┐ytkuj▒cych nasz▒ userlistΩ, a nie ze wszystkich bot≤w, jak jest to domy╢lnie ustawione. Skrypty TCL Nie ma co tu siΩ du┐o rozpisywaµ. Skrypty tcl w eggdropie s▒ jego wielk▒ zalet▒. Jak dot▒d powsta│y ich setki i wci▒┐ powstaj▒ nowe. To w│a╢nie dziΩki nimi bot potrafi broniµ kana│u przed takeoverami, zmasowanymi floodami wszelkiego rodzaju, prowadziµ statystyki kana│owe wraz z tworzeniem stron www, odpowiadaµ na zapytania seen - czyli kiedy ostatnio bot widzia│ dan▒ osobΩ (co potrafi r≤wnie┐ modu│ seen, ale gorzej), zmieniaµ co jaki╢ czas topic, czy po prostu zabawiaµ ludzi znajduj▒cych siΩ na kanale... naprawdΩ w najr≤┐niejsze sposoby :-) Sk▒d wzi▒µ skrypty tcl ?Wejd╝ na stronΩ http://www.xcalibre.com/tcl.htm Skrypty s▒ tam pogrupowane wed│ug wersji eggdropa, z kt≤r▒ dzia│aj▒. Gdy ju┐ upatrzysz sobie jaki╢ skrypt skopiuj go na konto, mo┐esz siΩ pos│u┐yµ lynxem z wy┐ej wymienionej strony lub ftpem z wielu mirror≤w np: ftp://ftp.mud.org.pl/mirrors/ftp.sodre.net/pub/eggdrop/ ftp://ftp.irc.pl/pub/irc/bots/eggdrop2 NastΩpnie je┐eli jest spakowany rozpakuj go komend▒ tar -zxf plik_skryptu.tar.gz. Przegl▒dnij i poczytaj dokumentacje, a nastΩpnie przegraj do podkatalogu scripts gdzie znajduje siΩ eggdrop i zmodyfikuj plik konfiguracyjny. Na samym ko±cu w pliku konfiguracyjnym dodaj linijkΩ: source scripts/plik_skryptu.tcl Teraz w bocie wydaj komendΩ do ponownego przeczytania pliku konfiguracyjnego komend▒ .rehash i je┐eli bot nie zako±czy│ swojego dzia│ania znaczy, ┐e uruchomienie skryptu powiod│o siΩ. Czasami podczas u┐ywania starych skrypt≤w lub wymianie wersji eggdropa na nowsz▒ bez wymiany wersji wszystkich skrypt≤w mog▒ co jaki╢ czas pojawiaµ siΩ w logach bota komunikaty typu: [22:10] TCL error [jaka╢_procedura]: jaki╢ komunikat W takim wypadku je┐eli siΩ nie znasz na TCLu powiniene╢ ╢ci▒gn▒µ nowsz▒ wersjΩ skryptu lub w og≤le z niego zrezygnowaµ. Kt≤re skrypty s▒ warte uwagi ?StatWWW - jest to skrypt do prowadzenia statystyk na kanale. Program zlicza ka┐dej osobie na kanale wszystkie wypowiedziane s│owa, wykonane kopniaki, zmiany topica itd. a nastΩpnie sortuje osoby wzglΩdem wypowiedzianych s│≤w. Najlepsza 10 - najwiΩkszych gadu│ :-) , dostΩpna jest na kanale za pomoc▒ komendy !topten, aktualna pozycja osoby na li╢cie za pomoc▒ !place. Skrypt tworzy r≤wnie┐ stronΩ WWW uaktualnian▒ co 10 min z pierwsz▒ 50. WiΩcej informacji o tym skrypcie, najnowsza wersja, pluginy dostΩpne s▒ na stronie WWW autora: http://www.goblet.net/scripts . [Download] ver 3.22 Sentinel - Zapewnia pe│n▒ ochronΩ przeciw floodom. Ten skrypt jest do│▒czony standardowo do eggdropa. Zatem na pewno go ju┐ posiadasz - wystarczy go tylko za│adowaµ w bocie. Bseen - Skrypt do informowania ludzi na kanale gdzie i kiedy oraz jak d│ugo kto╢ by│ w przesz│o╢ci widziany przez bota. To on odpowiada na pytanie !seen nick. Jego wielk▒ zalet▒ jest to, ┐e tworzy w│asn▒ bazΩ danych o spotkanych ludziach na kanale, nie tylko tych, kt≤rzy s▒ wpisani w bocie. Skrypt ten uruchomiony na wielu botach po│▒czonych ze sob▒ umo┐liwia przesy│anie informacji o widzianych osobach. Najnowsza wersja dostΩpna jest pod adresem: http://bseen.tclslave.net . [Download] ver 1.4.2 Repeat - Skrypt powoduje wykopywanie os≤b, kt≤re powtarzaj▒ siΩ. [Download] ver 4.1 Limit - Ustawia +l na kanale w zale┐no╢ci ile jest os≤b na kanale. [Download] Antybluzg - Wysy│a ostrze┐enia do os≤b przeklinaj▒cych na kanale. [Download] Cleanup - Czy╢ci okresowo userliste kasuj▒c osoby kt≤re dawno nie pokaza│y siΩ na kanale. [Download] mk_fun - wykopuje osoby ┐ebraj▒ce o opa i zapraszaj▒ce na inne kana│y. [Download] nettools - Skrypt za│adowany w kilku botach jednocze╢nie umo┐liwia zarz▒dzanie nimi. Na przyk│ad komenda .netjoin #channel wysy│a wszystkie po│▒czone boty z za│adowanym skryptem na kana│ #channel. Mo┐na r≤wnie┐ zmieniµ ustawienie dotycz▒ce kana│u we wszystkich botach za pomoc▒ komendy: .netset #channel +dynamicbans wydanej z jednego bota... itd.. [Download ver. 3.4.1] AntiOnJoinSend - Powoduje, ┐e bot co jaki╢ czas wychodz▒c i po chwili wchodz▒c na kana│ wykrywa osoby wysy│aj▒ce wirusy poprzez DCC. [Download] CloneDetect - Skrypt do wykrywania klon≤w na kanale. [Download ver. 3B] counter - Zlicza wej╢cia i kopniΩcia na kanale. [Download ver. 2.1] superbitch - Skrypt rozszerza ustawienie kana│owe bitch. Dodatkowo jest deopowana osoba opuj▒ca. [Download ver. 2.0] quitban - Banuje osoby wychodz▒ce z kana│u z okre╢lonym tekstem. [Download ver. 1.1] botnick - Prosta zmiana nicku bota komend▒ dostΩpna dla owner≤w. [Download ver. 1.0] partmsg - Wysy│anie tekst≤w do ludzi opuszczaj▒cych dany kana│. [Download ver. 1.0] bitchxpack - Bot udaje, ┐e jest sesj▒ BitchX. [Download ver. 1.50] autolog - Automatyczne tworzenie nowych plik≤w z logami kana│u. Bardzo przydatne gdy dodajemy kana│y dynamicznie. [Download ver. 1.0] cronchk - Skrypt sprawdza, czy uruchomienie bota jest wpisane w crontab i je┐eli nie wysy│a ostrze┐enie ownerowi. [Download ver. 1.0] antimschat - Automatyczne banowanie ludzi u┐ywj▒cych Microsoft Chat. [Download ver. 1.01] publicnote - Umo┐liwia zostawianie wiadomo╢ci przez ludzi nie wpisanych w bocie. [Download] slap - Wykopuje ludzi za slaps na kanale. [Download] smiling - Bot odpowiada losowo wybranym u╢miechem na :) i :-). [Download] botnetstats - Tworzy stronΩ WWW ze statystyk▒ botnetu. [Download ver. 1.1] topiclogger - Tworzy stronΩ WWW z histori▒ topic≤w na kanale. [Download ver. 1.0] topiclock - Umo┐liwia blokowanie topic≤w na kanale. Najnowsza wersja oraz kilka innych skrypt≤w dostΩpna na stronie www autora http://www.iki.fi/temex/eggdrop . [Download ver. 2.03] urlcatcher - Tworzy stronΩ WWW z list▒ wszystki adres≤w przechwyconych na kanale. [Download ver. 1.2] getops - Bezpieczniejszy autoop dla innych bot≤w. Boty wysy│aj▒ prosbe o opa poprzez botnet. [Download ver. 2.3] Celowo nie umie╢ci│em tu skrypt≤w s│u┐▒cych do floodowania os≤b, przejmowania kana│≤w, itp... Boty nie s│u┐▒ do robienia obory na ircu tylko do pilnowania kana│≤w, zabawiania ircuj▒cych ludzi i nie powinny wyrz▒dzaµ nikomu ┐adnej krzywdy. Jak samemu pisaµ w│asne skrypty ?JΩzyk Tcl/Tk nie jest takim strasznie trudnym jΩzykiem i mo┐na siΩ go trochΩ nauczyµ. Przynajmniej na tyle aby m≤c samemu dokonywaµ poprawek w ju┐ istniej▒cych skryptach lub pisaµ w│asne nowe :-) Co jest potrzebne aby zacz▒µ poznawaµ tajniki tego jΩzyka? Oczywi╢cie jaki╢ manual i najlepiej za friko w wersji elektronicznej :-) Lokalna kopia anglojΩzycznego manuala do wersji Tcl8.0/Tk8.0 znajduje siΩ tutaj. DziΩki niej mo┐na poznaµ podstawowe instrukcje jΩzyka Tcl/Tk. Oczywi╢cie w czystym Tcl nie napiszemy ┐adnego skryptu. Potrzebne s▒ specjalne instrukcje, dziΩki kt≤rym skrypt mo┐e kontrolowaµ dzia│anie bota, posiadaµ dostΩp do userlisty, czy w ko±cu podk│adaµ odpowiednie procedury do zdarze± maj▒cych miejsce na kanale czy w bocie podczas jego dzia│ania. Wszystkie te rozszerzenia opisane s▒ w standardowej dokumentacji eggdropa w pliku doc/tcl-commands.doc Przewodnik po TCLu w skryptach eggdropa dla pocz▒tkuj▒cychTcl/Tk 8.0 Manual Jak broniµ siΩ przed takeoverami? Dotyczy to raczej tylko i wy│▒cznie sieci IRCnet - najpopularniejszej sieci ircowej w Polsce. Niestety sprawa nie wygl▒da najlepiej. Przed takeoverem nigdy nie mo┐na zabezpieczyµ sie w 100%. Owszem, ka┐dy kolejny bot postawiony na kanale minimalizuje to ryzyko. Jednak┐e dziΩki splitom serwer≤w zawsze istnieje gro╝ba, ┐e po ponownym po│▒czeniu serwer≤w z drugiej strony wejdzie 100 bot≤w z opami i w mig rozniesie nasze boty. Dowodem tego s▒ chocia┐by czΩste takeovery takich kana│ow jak np. #polska i inne wiΩksze. Co wiΩc robiµ aby to ryzyko minimalizowµ? a) boty stawiaj na r≤┐nych ircserwerach i najlepiej r≤┐nych kraj≤w. Niestety ircserwery poza 4 polskimi i 2 zachodnimi (chyba... jak siΩ mylΩ nich mnie kto╢ poprawi) nie wpuszczaj▒ na irca (bez +r) z kont shelowych w domenie *.pl Rozwi▒zaniem tego problemu jest posiadanie kont shelowych w innych krajach ni┐ polska lub te┐ takich kont w Polsce, kt≤re maj▒ wirtualne domeny innych kraj≤w. Innym rozwi▒zaniem problemu jest posiadanie kont shelowych na serwerach, kt≤re do╢wiadczalnie s▒ przy│▒czone tunelami do sieci ipv6. DziΩki temu mo┐na liste ircserwer≤w poszerzyµ o kilka nowych. Aktualnie znane mi serwery ipv6 wpuszcaj▒ce bez +r to it.irc6.net (W│ochy), de.irc6.net (Niemcy), irc.MissingU.com (USA) oraz irc.wanadoo.be (Belgia) . Niestety zwyk│y eggdrop nie potrafi po│▒czyµ siΩ z ircserwerami ipv6. Patch na eggdropa do │▒czenia sie z ipv6 mojego autorstwa mogΩ udostΩpnic emailem. b) ograniczaj liczbΩ autoop≤w. To chyba wiadome - ┐adnych autoop≤w na dialupy, nie zaufane hosty lub te┐ dziurawe serwery ;-). Najlepiej to w og≤le zrezygnowaµ z autoop≤w :-). W przypadku w│amu na serwer lub zdobycia has│a na konto, na kt≤rym stoi eggdrop, osoba w│amuj▒ca mo┐e bez problemu przej▒c nasz kana│. c) u┐ywaj skrypty TCL s│u┐▒cych do ochrony kana│u. Takie tclki jak superbitch i inne. Proponuje wej╢µ na http://www.xcalibre.com/tcl.htm i zaznaczyµ typ protection szukaj▒µ tclek. Skryty te maj▒ swoje minusy i plusy. Zazwyczaj plusy to zmniejszenie ryzyka takeoveru, a minusy to zamieszanie na kanale, nie wygoda ircownik≤w i w rezultacie kana│ mo┐e na tym straciµ. d) i wiele innych rzeczy, kt≤rych ze wzglΩdu na sw▒ ma│ostkowo╢µ nie chcia│o mi siΩ tu opisaµ. Dostarczy│: ReV (moj qmpel wyszpera│ to w sieci, nawet nie wiem sk▒d :-/ ) |