1# $Id: Readme.pl,v 1.0.2 2004/10/28 11:30:23 [Xp-AvR] Exp $
2____________________________________________________________________________
3
4--------------------------------- Readme -----------------------------------
5  Przejrzyj ten dokument zanim zaczniesz o cokolwiek pyta�. Najlepiej gdyby6  go PRZECZYTAjeli nigdy nie udao ci sipostawiEggdrop'a lub innego
7  			bota na nim opartego.
8
9  (!) Spis tre�ci:
10    1.  Info - podstawowe informacje.
11    2.  Wymagania - powieniene� to przeczyta�.
12    3.  Mo�liwo�ci - lista opcji.
13    4.  Instalacja - jak zainstalowa� (i skonfigurowa�) botka.
14    5.  Podstawowa konfiguracja - kontynuacja powy�szego.
15    6.  Najcze�ciej zadawane pytania (FAQ) - przeczytaj koniecznie.
16    7.  Pomoc - informacje o miejscach, gdzie mo�esz szuka� pomocy.
17    8.  Linki - najwa�niejsze linki.
18    9.  About - troche o mnie.
19    10. Greets - nie pytaj ;)
20
21----------------------------------------------------------------------------
22
23(1) Info:
24  Evangeline jest botem IRC (Internet Relay Chat) opartym na Eggdropie.
25  Tworzony jest z my�l� o sieci IRCnet, w zwi�zku z czym wszelkie zmiany
26  dokonywane s� w celu poprawienia efektywno�ci w�a�nie na tej sieci.
27  Funkcje Evangeline mog� by� �atwo rozszerzone za pomoc� modu��w (nieco
28  zmodyfikowanych modu��w Eggdropa) i/lub skrypt�w TCL.
29
30(2) Wymagania:
31  * Konto shell (Linux, *BSD itp) i ok. 7 MB wolnej przestrzeni dyskowej.
32  * Tcl 8.1+ (8.3.4 zalecany, 8.4.0 bardzo niezalecany).
33  * Podstawowa znajomo�� j�zyka angielskiego.
34  * Podstawowa wiedza na temat IRC i UNIXa.
35
36(3) Mo�liwo�ci:
37  Wiele z tych opcji istnieje w innych botach (np.: AversE, VoiD), jednak
38  niekt�re z nich s� unikalne lub nie publikowane wcze�niej.
39
40  * Szyfrowana userlista - userlista jest szyfrowana/deszyfrowana w pami�ci
41    bez u�ycia plik�w tymczasowych. Klucz nie jest przechowywany w binarce
42    (jak mia�o to miejsce np. w VoiDzie), wi�c przy pomocy 'string binary'
43    ju� si� go nie znajdzie.
44
45  * Admin - u�ytkownik wkompilowany w binark�. Ma nielimitowany dost�p do
46    bota i jego komend. Mo�e usuwa� permowner�w, zmieniac im flagi, hosty
47    itp.
48
49  * Permowners - u�ytkownicy wkompilowani w binarke, kt�rzy posiadaj� prawie
50    nielimitowany dost�p do bota (nie mog� modyfikowa� innych permwoner�w i
51    admina)
52
53  * Adder - nowa userflaga (+r), umo�liwiaj�ca dodawanie nowych u�ytkownik�w
54    bez potrzeby bycia permownerem lub adminem. Flaga mo�e zosta�
55    nadana/usunieta tylko przez permownera lub admina.
56
57  * Sharowanie - boty akceptuj� tylko zmiany dokonane przez bota z flag� '+p'
58    (main/slave/alt hub).
59
60  * Zachowanie na IRC - boty kopi� zamiast deopowa�. Evangeline potrafi
61    kopn�� do 6 user�w "jednocze�nie" (w trybie obronnym i lamerskim
62    takeover) i opn�� do 5 user�w "jednocze�nie" (getops i lamerski
63    takeover).
64
65  * Szyfrowane share - sharowana userlista jest przesy�ana w formie
66    szyfrowanej (tylko je�li bot, kt�ry j� odbiera obs�uguje t� opcj�).
67
68  * Kompresja userlisty - userlista jest przesylana w formie skompresowanej.
69    Kompresja odbywa si� za pomoc� algorytmu zlib.
70
71  * Transfer kana�ow huba - kana�y dost�pne na hubie s� automatycznie
72    dodawane do bota, kt�ry poraz pierwszy pod��cza si� do botnetu.
73    Nie trzeba si� ju� m�czy� z userflagami na poszczeg�lne kana�y.
74
75  * Presety - pakiet ustawie� kana��w (chanset�w) odpowiednio ustawianych w
76    zale�no�ci od liczby bot�w na kanale, automatycznie uaktualnianych co
77    godzin� od startu huba oraz w momencie, gdy jaki� bot od��czy/pod��czy
78    si� do botnetu.
79
80  * Syspass - opcjonalne has�o chroni�ce niekt�re komendy (wi�kszo�� mass i
81    '.die', '.restart', '.rehash' na hubach)
82    [ Pomys� Dafcia]
83
84  * AddBot - komendy s�u��ce do dodawania nowych bot�w bez potrzeby
85    logowania si� na nie.
86    [ Pierwotnie skrypt wprowadzony zosta� w AmenO ]
87
88  * Kompatybilno�� - bot potrafi po��czy� si� z wieloma innymi przer�bkami
89    Eggdropa.
90    Potrafi wyniemia� userlist� z: AmenO, aCo, AversE, Bear, BloW, cNs, Cub3,
91    Detox, DiVERSE, Eggdrop v1.4+, GTT, LeppeR, RaviS, RulF, Suid, VoiD,
92    VoLron, vOlRoN, X-Men.
93    Nie potrafi wymienia� userlisty z: VoiD4, NnO, Shark2.
94
95  * BotNetOp - do��czony getops jest wystarczaj�co szybki aby obej�� si� bez
96    chansetu +autoop i/lub userflagi +a. Opowanie w botnecie jest
97    bezpieczniejsze (brak/mniejsza mo�liwo�� spoofu).
98
99  * Flood - bot zawiera spor� ilo�� lamerkich mo�liwo�ci floodowania innych,
100    jak np.: msg, ctcp, invite itd...
101    [ Chyba powinienem to wywali� ;) ]
102
103  * Losowa lista serwer�w - za ka�dym startem/restartem bota lista serwer�w
104    jest uk�adana w losowej kolejno�ci. Zapobiega to sytuacjom, gdy ca�y
105    botnet stoi na przyk�ad na 2 serwerach.
106
107  * Antyjoin/Antyclone - Evangeline potrafi wykopa� u�ytkownik�w, kt�rzy
108    weszli na kana� w czasie mniejszym niz okre�lony (np.: 3 sekund), czyli
109    za massjoina.
110
111  * AversE/Evangeline Channel Protection - inna wersja ochrony u�ytkownik�w
112    i kana��w. System kopie user�w, ktorzy 'tknli' u�ytkownika z flag� +P.
113    Userzy posiadaj�c +f nie s� kopani.
114    [ Opcja aktualnie nie dost�pna ze wzgl�du na konflikty z +defense ]
115
116  * Mainserver - bot stara sie by� po��czony z g��wnym serwerem IRC
117    (ustawianym w konfigu). Je�li serwer padnie (lub nie mo�liwe b�dzie
118    po��czenie si� z nim z innych przyczyn), w�wczas bot prze��czy si�
119    do innego i po jakim� czasie spr�boje pod��czy� si� ponownie do g��wnego
120    (je�li na kanale(ach) jest wiecej niz 6 bot�w, kt�re bed� mog�y go
121    ponownie zaopowa�).
122
123  * Autolimit - nowe ustawienia kanalu '+alimit'. Bot automatycznie zmienia
124    limit na kanale w zale�no�ci od ilo�ci os�b w danej chwili. Kana� jest
125    sprawdzany co 2 minuty (ustawiane w pliku 'settings'). Chanset powinien
126    by� ustawiony tylko na 1 bocie (zapobiega niepotrzebym floodom).
127    [ Aktualnie wystepuj� dziwne problemy, np. z kopaniem za +o ]
128
129(4) Instalacja:
130  * Rozpakuj plik ('tar xxf evangeline-wersja.tar.gz')
131
132  * INFO: Nast�pny ktok mo�e by� dokonany automatycznie za pomoc� skryptu
133          'configure'. Poprostu nacisnij 'enter' lub 'y' w momencie, gdy
134          skrypt spyta 'add admin/permowner(s)' i odpowiedz na kolejne dwa
135          pytania.
136
137  * Otworz plik src/main.c i znajd�:
138     'char admin[121]' - wpisz tutaj *JEDEN* nick u�ytkownika, kt�ry b�dzie
139                         mia� pe�ny dost�p do botnetu.
140     'char owner[121]' - wpisz tutaj nick(i) permwonera(�w).
141
142  * W katalogu g��wnym bota wpisz './configure' (skrypt moe zadac kilka
143    pyta�). Gdy zakoczy swojpracwpisz 'make' lub 'make static' i
144    czekaj...
145
146  * Stwrz konfig:
147   *WIZARD*
148     Moesz take podrasowa�/dopasowado swoich potrzeb konfig po
149     wygenerowaniu go przez wizarda.
150
151     INFO: Jeli uywasz Putty (prawdopodobnie rwniew przypadku innych
152           klientw telnet/ssh) do ��czenia siz kontem shell uwaaj na to
153	   co piszesz (BACKSPACE jest rozpoznawany jako '' i taki wanie
154	   znak bdzie istniaw pliku konfiguracyjnym jeli go uyjesz)
155
156     INFO: Pamitaj, �e 'botnet-nick' jest take nazwpliku konfiguracyjnego
157           (plus rozszerzenie .cfg)
158
159     *NORMAL*
160       -IPv4:
161         Odpal poprzez ./starter --new botnet-nick
162         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
163         wpisz 'ipv4' i odpowiedz na kolejne pytania.
164       -IPv6
165         Odpal poprzez ./starter --new botnet-nick
166         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
167         wpisz 'ipv6' i odpowiedz na kolejne pytania.
168       -BNC:
169         dpal poprzez ./starter --new botnet-nick
170         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
171         wpisz 'bnc' i odpowiedz na kolejne pytania.
172     *HUBY*
173       -Main:
174         Odpal poprzez ./starter --new botnet-nick
175         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
176         wpisz 'main' i odpowiedz na kolejne pytania.
177       -Slave:
178         Odpal poprzez ./starter --new botnet-nick
179         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
180         wpisz 'slave' i odpowiedz na kolejne pytania.
181       -Alt:
182         Odpal poprzez ./starter --new botnet-nick
183         Nacinij 'y', gdy sktypt spyta o utworzenie nowego konfiga, potem
184         wpisz 'slave' i odpowiedz na kolejne pytania.
185
186    *RCZNIE*
187      *HUBY*
188        -Main/Slave/Alt
189          nick "nick w botnecie"
190          party(plpass) "kodowane has�o na partyline. Puste miejsce oznacza
191                         wy��czone has�o"
192          party(syspass) "kodowane has�o do komend. Puste miejsce oznacza
193                          wy��czone has�o"
194          INFO: Hasa (partyline i syspass) mog�/powinny byustawiane z
195	        poziomu bota za pomockomendy '.bpass'.
196        -Main:
197          mainip "podaj adres ip serwera na kt�rym stoi bot"
198	  my-ip "pobierane jest z $mainip"
199	  my-hostname "jak wy�ej"
200          bots-listenport "port dla bot�w"
201          users-listenport "port dla u�ytkownik�w"
202        -Alt:
203          ismalt "ustaw na 1, je�li bot ma dzia�a� jako zast�pczy main"
204          issalt "ustaw na 1, je�li bot ma dzia�a� jako zast�pczy slave"
205      *NORMAL*
206       - IPv4/IPv6/BNC:
207          nick "nick na IRC"
208	  botnet-nick "nick w botnecie"
209          realname "realname na IRC, cokolwiek tylko chesz"
210 	  listenport 9999 'port dla po��cze� bot/user'
211          ircserver { lista serwerw IRC }
212	  my-ip "wpisz tutaj adres ip vhosta, je�li zamierzasz ich u�ywa�"
213	  my-hostname "podaj hostname dla powy�szego ip je�li korzystasz
214	               z vhost�w"
215          firewall "wpisz adres proxy w postaci 'host:port' je�li serwer
216	           znajduje si� za firewallem"
217          nat-ip "zewn�trzne ip, je�li wykorzysta�e� powy�sz� zmienna"
218          use-gseen 'ustaw na 1 je�li skompilowa�e� bota z modu�em gseen
219	             i chesz go teraz u�y�'
220          use-stats 'ustaw na 1 je�li skompilowa�e� bota z modu�em stats
221	             i chesz go teraz u�y�'
222      - IPv6:
223        use-ipv6 1 'je�li chcesz u�ywa� ipv6, ustaw t� zmienn� na 1'
224        my-ip "je�li masz problem z przesy�aniem userlisty, powiniene�
225	       wpisa� tutaj zewnetrzne ip serwera (lub jakiego� vhosta)"
226	my-hostname "host dla powy�szego ip"
227	my-ip6 "wpisz tutaj ip w formacie: 3ffe:80ee:419:0:0:0:0:1 (to
228	      tylko przyk�ad)"
229	my-hostname6 "wpisz tutaj host dla powy�szego ip. Je�li bot
230	              mimo tego u�yje domy�lnego hosta tunelu, wpisz
231		      ten sam ip co powy�ej"
232     - BNC:
233       use-bnc 1 'je�li u�ywasz normalnego BNC, ustaw na 1'
234       use-psyBNC 0 'je�li u�ywasz psyBNC, ustaw na 1. Pozostale
235                     musz� by� ustawione na 0'
236
237       use-ezBOUNCE 0 'je�li u�ywasz ezBOUNCE, ustaw na 1'. Pozostae
238                       muszbyustawione na 0'
239       servers "wpisz adres bnc w formacie: host/ip:port"
240       bnc-pass 'pozostaw puste i po tym jak bot po��czy sie z hubem
241                 uyj komendy '.bncpass' na bocie do ustawienia hasa'
242       bnc-vhost "vhost z kt�rym bot b�dzie si� ��czy� na irc poprzez
243                 BNC"
244       ircservers "lista serwer�w z kt�rej bot losuje sobie jeden, aby
245                   po��czy� si� na irc"
246       iserv-port "port serwera irc na kt�ry bot bedzi� si� ��czy�"
247
248     - SETTINGS (skrypt tcl w katalogu cfg/):
249       use-avp 1 'ustaw na 1, jeli chcesz uywaAversE/Evangeline
250                  Protection System'
251       use-ajcl 1 'ustaw na 1, jeli chcesz uywaantyjoin, antyclone
252                   lub autolimit'
253
254       avp(pflag) "wpisz userflag�, z kt�r� u�ytkownicy b�d� chronieni"
255       avp(exflag) "wpisz userflag�, z kt�r� u�ytkownicy b�d� ignorowani,
256                    nawet je�li *dotkn�* u�ytkownika z flag� $avp(pflag)"
257       aclone(flood:jn) 2 "liczba u�ytkownik�w z tym samym *identem*
258                           rozumianych jako flood-join"
259       alimit(timer) 60 'czas w sekundach, co ktry bot bdzie sprawdza260                         kana'
261       alimit(jpcheck) 1 'ustaw na 1, jeli chesz aby bot zmienialimit
262                          podczas join/part'
263       alimit(base) 5 'liczba dodawana do aktualnej liczby uytkownikw
264                       podczas ustawiania limitu'
265       alimit(diff) 3 'rnica midzy aktualnliczbuytkownikw, a
266                       limitem zanim nowy limit zostanie ustawiony'
267       use-mainserver 0 'ustaw na 1, jeli chcesz aby bot uywa268                         mainservera'
269       ms(mserver) { wpisz tutaj g��wny serwer irc }
270       ms(chktime) 120 'czas w minutach, po ktrym bot sprbuje si271                        ponownie po��czyz g��wnym serwerem, jeli
272			aktualnie jest po��czony z innym'
273       ms(tryagain) 360 'czas w minutach, po ktrym bot sprbuje
274                         po��czysiz g��wnym serwerem jeli piersza
275			 prba bya nieudana'
276       eva(rlist' { } 'nie dotykaj'
277       lappend eva(rlist) "--==\[Evangeline\]==--" 'je�li chesz wi�cej
278                                                    reason�w dla
279						    procedur tcl, dodaj
280						    nowe linie, jak w
281						    przyk�adzie'
282
283  * Ok, skonfigurowaebota, teraz moesz juz go odpaliuywajc komendy:
284    ./starter --new botnet-nick (tylko jeli stworzyekonfig za pomoc285    				 *WIZARDA*)
286  lub
287    ./evangeline -m cfg/config (parametr -m jest zbdny podczas kolejnych
288                                startw)
289
290  * Zalogj si�:
291    telnet localhost usersport (ustawiony w konfigu, np.:
292    			      'users-listenport 9999' lub 'listenport 9999')
293    INFO: Jeli bot uywa vhostw, wwczas uyj ip/hosta dla tego vhosta
294          aby po��czysiz botem (np.: poprzez Putty). Pamitaj o tym
295          take podczas dodawania botw.
296    Wpisz: 'averse-' lub '-eva-'
297    KIedy bot spyta o nicka wpisz swoje (jeden z podanych w 'main.c')
298    Kolejno podaj swoje haso i jeli bot nie spyta o haso na partyline
299    (tylko main/slave/alt), jestena bocie. W przeciwnym wypadku podaj
300    haso na partyline (tylko main/slave/alt).
301    Moesz juzacz�� rozkoszowasibotkiem. Pierwszkomend�, ktr302    proponuje sprawdzic jest '.save'.
303
304  * Mogbym napisac tutaj kilka uytecznych komend, ale jestem na to zbyt
305    leniwy. Moe nastpnym razem ;)
306
307(5) Podstawowa konfiguracja:
308
309  * Crontab:
310    Jeli stworzyekonfig przy pomocy *WIZARDA* wystarczy, �e wpiszesz:
311    ./starter --cron botnet-nick.
312    Jeli masz prawo do edycji wasnego crontaba, wtedy wpis powinien
313    zostadodany.
314
315  * ...
316
317(6) Najczciej zadawane pytania (FAQ):
318
319  * Pojawia si'ld-elf.so.1: Shared object libtcl84.so.1' not found (albo
320    podobnie) lub 'error in loading share libraries libtcl8.4.so: cannot
321    open shared object file: No such file or directory' podczas startu bota:
322
323    Wyglda na to, �e bot skompilowasiz jednwersjTcl, a prbuje
324    zaadowainn�. Moliwe, �e administrator uaktualnibiblioteki Tcl i
325    nie powiedziaci o tym. Powinieneprzekompilowabota.
326
327    Moliwe rwnie�, �e administrator ine usun�� starych bibliotek Tcl
328    podczas, gdy kompilowanowsze, lub tezainstalowanowsze w innym
329    katalogu. Poinformuj go o tym ;)
330
331    Moesz take sprbowac:
332      ./configure --with-tcllib=<�cieka_do_tcl_lib>
333                  --with-tclinc=<scieka_do_tcl.h>
334
335    To poinformuje skrypt 'configure', gdzie ma szukatych plikw.
336
337    Pliku libtcl* moesz szukaw:
338      ls /usr/lib/libtcl*
339      ls /usr/local/lib/libtcl*
340
341    Pliku tcl.h moesz szukaw:
342      ls /usr/include/tcl.h
343      ls /usr/local/include/tcl.h
344
345    Jeli to rwniezawiedzie, moesz sprbowazainstalowaTcl w
346    twoim katalogu domowym ;)
347
348  * .+user - nie mogdodawauytkonika(�w):
349    Muszisz byw grupie 'admin', 'permowner' lub 'adder', aby komenda
350    dziaaa. Pierwsze 2 grupy ustawiane s� przed kompilacj� w pliku
351    'main.c ('char admin[121]' i 'char owner[121]'), trzecia to u�ytkownicy
352    z flag� +r (flaga moe bydodana przez admina lub permownera).
353
354  * Kick reasons - jak zmieni�?:
355    Przed kompilacjotwrz plik modules/irc.mod/chaos.c w dowolnym edytorze
356    (zalecam Unixowe) i znajd'static const char *kreasons[]'. Poniej masz
357    mojlistreasonw, ktre moesz zmienic lub usun�� (pozostaw chocia1).
358    Jeli chesz zmienic tekst 'Evangeline' dodawany przed waciwym reasonem,
359    zmiewpisz powyej ('char reasonMain[20]').
360
361  * Nie dziaajcy botnet - po��czone boty nie dziaajjak "botnet":
362    Aby uywakomend, jak '.mjoin', '.enforce' ('.netchanset') itp, naley
363    skompilowa2 paczki: msa (main/slave/alt) i normal (v4/v6/bnc).
364    Boty z paczki *msa* nie wchodzna IRC (nie ma takiej potrzeby), ale
365    zawierajwszystkie potrzebne komendy do sterowania botnetem.
366    Boty z paczki *normal* snormalnymi botami ��czcymi siz serwerami IRC.
367    Musz� (powinny) bypod��czone do huba z paczki *msa*.
368
369  * Failed connection; aborter userfile transfer:
370    Ten denerwujcy problem jest zaleny od serweram. Jeli pojawia Ci si371    copodobnego dodaj do konfiga hub'a (tego do kt�rego dany bot si� ��czy)
372    wpisy 'my-ip "adres ip serwera"' i ewentualnie 'my-hostname "host dla
373    powy�szego ip"'.
374
375(7) Pomoc:
376  Pomocy mo�esz szuka� na stronie projektu (w sekcji 'linki').
377  Je�li nie znajdziesz tam odpowiedzi na twoje pytanie/problem mo�esz
378  spr�bowa� swoich si� na kanale #evangeline w sieci IRCnet. Powiniene� tam
379  trafi� na kilka pomocnych os�b, ale nie zapomnij sprawdzi� stronki i forum
380  zanim spytasz.
381
382(8) Linki:
383  Evangeline's website: http://www.averse.piasta.pl
384  Eggdrop's website: http://www.eggheads.org
385  Eggdrop's help: http://www.egghelp.org
386  Tcl download: ftp://tcl.activestate.com/pub/tcl
387
388(9) About:
389  Mj e-mail: k_grabo@o2.pl
390  Mj nicka: KrzychuG lub [Xp-AvR], jestem na IRC (#evangeline@IRCnet) zazwyczaj
391             w soboty (po 16.00)
392
393(10) Greets (kolejno�� alfabetyczna):
394  Bogas: za dobre pomysy, testy, zg�aszanie b��d�w i pomoc (na kanale
395         i forum)
396  Dafcio: za kilka fajnych pomys�ow, testy, zgaszanie bedw i pomoc (na
397          kanale)
398  Grzes: za utrzymywanie kanau #evangeline w jednym kawa�ku ;)
399  Immcio: za testy, zgaszanie b��dw i pomoc (na forum)
400  Jorhn: za konto, testy, zgaszanie b��dw i pomoc (na kanale)
401  Shoo: za pomoc w kilku sprawach i niektre pomysy
402  Slaw: za pierwszwersje 6kick i pomoc (take na kanale)
403  TaKeDa ;)
404
405  Reszty zaogi #evangeline i wszystkich, kt�rzy u�ywaja AversE/Evangeline.
406
407---------------------------------- NOTE ------------------------------------
408  Niektre fragmenty tego dokumentu pochodzz Readme Eggdropa
409
410----------------------------------------------------------------------------
411____________________________________________________________________________
412# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 Eggheads Development Team
413# Copyright (C) 2001, 2002, 2003, 2004 [Xp-AvR]
414