IRC/Klienty
Klient to program pośredniczący między użytkownikiem i serwerem sieci IRC, który musi być zainstalowany na komputerze osobistym użytkownika lub na komputerze, na którym ma on swoje konto. Sam klient nie jest programem realizującym usługę IRC - jego działanie bez dostępu do serwera nie ma żadnego sensu.
Klient pełni następujące podstawowe funkcje:
- łączy się z serwerem i dostarcza mu danych o użytkowniku, których serwer wymaga przy połączeniu
- przesyła do serwera komendy i komunikaty użytkownika
- porządkuje dane dochodzące z serwera, umieszczając je w odpowiednich oknach lub panelach.
Oprócz tego wiele klientów zapewnia:
- ochronę użytkownika przed atakami innych użytkowników
- szyfrowanie danych poufnych
- automatyczną stabilizację połączenia z serwerem
- logowanie rozmów
- gromadzenie danych na temat użytkowników, z którym się zetknęliśmy.
Aktualnie na rynku istnieje wiele klientów IRC na w zasadzie wszystkie systemy operacyjne. Część z tych programów jest bezpłatna i oparta na wolnych licencjach, za część (niestety często najlepszych) trzeba zapłacić.
Generalnie klienty IRC można podzielić na:
- działające w trybie tekstowym - w których jest jedno okno komunikatów, które ew. może być dzielone na panele i jedno okno wprowadzania komunikatów i komend - tego typu programy mają jednak często bardzo dużo możliwości, z których korzystają zaawansowani użytkownicy - typowe przykłady to ircII, BitchX, czy irssi
- działające w środowisku graficznym - w którym nadchodzące z serwera dane są automatycznie porządkowane w oknach i w których część najbardziej popularnych komend można wydawać z użyciem myszki i rozwijalnych menu - są to zazwyczaj programy dla początkujących oraz tych, którzy cenią sobie wygodę i nie odczuwają potrzeby zagłębiania się w techniczne szczegóły - typowe przykłady to mIRC, Visual IRC czy pIRCH.
- programy "elementarne" - które koncentrują się na ułatwianiu rozmów czy ogólnie pracy "zwykłych" użytkowników, którzy nie mają ambicji administrowania kanałów czy toczenia "wojen" z innymi użytkownikami - typowy przykład to Chatzilla, Bersirc i Opera-Chat.
- programy "rozbudowane" - posiadające wiele dodatkowych modułów administracyjnych, umożliwiające automatyzowanie wielu czynności oraz modyfikowanie swojego działania poprzez dołączanie do nich skryptów - wiele z tego rodzaju programów ma już pewne cechy botów - typowe przykłady to BitchX, mIRC, czy EPIC.
Omówienie najbardziej popularnych klientów[edytuj]
ircII[edytuj]
ircII to bezpośredni potomek programu "irc" napisanego jeszcze przez Jarko Oikarinena. Program jest przeznaczony do pracy na terminalu tekstowym bezpośrednio spod tzw. "shella" systemów typu "UNIX". Zachowuje on wygląd i funkcjonalność programu-klienta Oikarinena, ale dołączono do niego sporo dodatkowych funkcji oraz rozbudowany język do pisania skryptów, który stał się szybko standardem, dzięki czemu istnieją do niego setki skryptów rozszerzających jego możliwości, łącznie z możliwością przekształcenia go w rodzaj prymitywnego bota.
Jakkolwiek ircII jest wyjątkowo mało przyjazny dla użytkownika istnieją wciąż liczni jego zwolennicy, którzy nie "uznają nowych wynalazków". ircII jest dostępny na licencji BSD (Berkeley Software Distribution). ircII jest też bardzo często "standardowym" klientem IRC w środowisku Linuksa, dołączanym do większości jego dystrybucji. Na kodzie tego programu są oparte prawie wszystkie pozostałe programy-klienty IRC. Bezpośrednimi jego "mutacjami" są BitchX i EPIC, które posiadają bardziej od niego rozbudowane możliwości skryptowe i inne dodatkowe funkcje.
Oficjalna strona: http://www.eterna.com.au/ircii/
BitchX[edytuj]
BitchX był początkowo jednym z najlepszych skryptów "dla profesjonalistów" napisanym do EPICa, mutacji ircII. Ograniczenia funkcjonalności języka skryptowego ircII spowodowały jednak, że zdecydowano się napisać nowego klienta, w którym wszystkie funkcje dawnego skryptu zostały wbudowane integralnie w program, zaś pierwotny język skryptowy ircII został znacznie poszerzony i rozbudowany. BitchX jest dość trudnym w obsłudze programem, w którym nacisk położono nie tyle na funkcjonalność w czasie prowadzenia rozmów, ile na zapewnianiu jego użytkownikowi bezpieczeństwa i ułatwianiu kontrolowania kanałów. Stosunkowo prosto daje się go rozbudować do dość zaawansowanego "quasi-bota" pilnującego kanału. Jest popularny wśród zaawansowanych użytkowników pracujących w środowisku Linux.
W rękach "amatora" jest często niebezpieczny, gdyż standardowo jest skonfigurowany do prowadzenia "wojny". Np: przy pomocy prostego skrótu klawiaturowego można go przypadkowo przełączyć w tryb "revenge", w którym wykopuje on i banuje z każdego kanału, na który się nim wejdzie każdego użytkownika znajdującego się na "czarnej liście".
Oficjalna strona: http://www.bitchx.org/
Irssi[edytuj]
Irssi to konkurencyjny wobec ircII i jego pochodnych program przeznaczony do tekstowego środowiska systemów operacyjnych podobnych do Linuksa. Jest jednak dostępny też dla MS Windows i Mac OS. Posiada on dość wygodny, jak na programy pracujące w środowisku tekstowym, interfejs i jest standardowo skonfigurowany w nie-agresywny sposób, co powoduje, że w niektórych dystrybucjach Linuksa używany jest zamiast ircII jako "standardowy" klient IRC. Dla jednych jego zaletą, a dla innych wadą, jest to, że korzysta z języka "perl" jako swojego języka skryptowego. Umożliwia to z jednej strony adaptowanie skryptów pisanych z myślą o innych zastosowaniach niż IRC i tworzenie na tej podstawie usługowych "quasi-botów", a z drugiej strony zestaw skryptów przeznaczonych specjalnie dla tego programu jest znacznie skromniejszy od tych dostępnych dla ircII i jego pochodnych.
Na Wikibooks dostępny jest podręcznik dla Irssi.
Oficjalna strona: http://www.irssi.org/
mIRC[edytuj]
mIRC jest prawdopodobnie najbardziej popularnym klientem IRC napisanym specjalnie dla systemu MS Windows i prawdopodobnie najbardziej popularnym tego rodzaju programem w ogóle. W pewnym sensie jest takim samym standardem wśród klientów graficznych dla Windows jak ircII dla klientów tekstowych dla Linuksa. Stanowi on dość rozsądny kompromis między funkcjonalnością dla początkujących i średnio zaawansowanych. Rozpoczęcie z nim pracy jest bardzo proste, a mimo to posiada on wiele rozbudowanych możliwości, które można stopniowo poznawać w trakcie nabierania wprawy. Biblioteka skryptów do niego jest niemal tak samo obszerna jak do ircII i jego pochodnych. Jego język skryptowy i dodatkowe opcje są nastawione głównie na średnio zaawansowanych użytkowników, którzy nad bezpieczeństwo przedkładają użyteczność i elementy zapewniające "dobrą zabawę". Typowym przykładem "co może" mIRC jest skrypt przekształcający ten program w odtwarzacz mp3, z możliwością wspólnego, jednoczesnego słuchania utworu przez użytkowników jednego kanału.
Bardziej zaawansowani użytkownicy krytykują go za "dziwny i nie przemyślany do końca" język skryptowy, który utrudnia pisanie do niego skryptów skutecznie nadzorujących kanały. Słabo chroni on także użytkownika przed atakami w czasie "wojen". W starciu z BitchXem praktycznie nie ma żadnych szans.
Jest programem płatnym, typu shareware. Spory odsetek ludzi używa jego wersje "spiratowane". Program jest krytykowany za umożliwienie zaśmiecania kanałów kolorowanymi tekstami. Umożliwia on bowiem łatwe wysyłanie komunikatów z kodami formatującymi, które są poprawnie interpretowane tylko przez ten program. Wiele skryptów do mIRCa wykorzystuje tę możliwość do tworzenia bibliotek kolorowych "floodów" (tekstów wysyłanych linijka po linijce i tworzących jakiś wzór lub rysunek), które potem można wysyłać na kanał jedną komendą.
Oficjalna strona: http://www.mirc.com/
Dwa inne, popularne klienty IRC o zbliżonym do mIRCa typie interfejsu, choć o mniejszej funkcjonalności, ale za to bezpłatne i oparte na wolnych licencjach, to pIRCh i Visual IRC.
X-Chat[edytuj]
X-Chat powstał pierwotnie jako klient tekstowy do systemów typu Linux o zbliżonej funkcjonalności do irssi, ale posiadający możliwość dołączania skryptów w potencjalnie każdym języku programowania, dzięki stosowaniu mechanizmu wtyczek. W praktyce, w połowie 2006 r. istniały do niego wtyczki obsługujące, języki perl, python, tcl i ruby. Mimo tego faktyczna liczba skryptów dostępnych do tego programu jest znacznie mniejsza niż do ircII i pochodnych, a nawet do mIRCa. Na bazie pierwotnego X-Chata, w ramach projektu "X-Chat-Aqua" rozwijane są też jego wersje do kilku środowisk graficznych.
X-Chat jako klient tekstowy nigdy nie osiągnął zbyt dużej popularności, przegrywając z irssi wśród średnio zaawansowanych użytkowników i BitchXem wśród zaawansowanych. Jego wersje graficzne cieszą się dużą popularnością wśród średniozaawansowanych użytkowników, gdzie skutecznie konkuruje on z mIRCem i innymi mniej popularnymi klientami tego typu dzięki temu, że oferuje zbliżoną funkcjonalność i jednocześnie jest stale rozwijany i bezpłatny. Problemem jest fakt, że wydanie dla Windows jest shareware, choć dostępne są nieoficjalne (jednocześnie legalne), w pełni darmowe wersje.
Oficjalna strona: http://www.xchat.org/
Chatzilla[edytuj]
Chatzilla jest przykładem prostego, podstawowego klienta dla początkujących, pracującego w środowisku graficznym. Swoją popularność zawdzięcza temu, że jest bezpłatnie dostępny dla niemal wszystkich systemów operacyjnych oraz temu, że jest dołączany do pakietu przeglądarki Mozilla, a użytkownicy Firefoxa mogą go sobie bardzo łatwo zainstalować w formie rozszerzenia do tego programu.
Chatzilla posiada dość prosty, niezbyt elegancki, choć funkcjonalny interfejs. Teoretycznie można do Chatzilli dodawać skrypty, jednak mogą one być pisane wyłącznie w języku JavaScript, który nie nadaje się zbytnio do tego celu. Biblioteki skryptów do Chatzilli są więcej niż skromne.
Oficjalna strona: http://www.mozilla.org/projects/rt-messaging/chatzilla/
Podobnym produktem do Chatzilli jest IRC-klient integralnie wbudowany do pakietu przeglądarki "Opera".
Lista popularnych klientów[edytuj]
Kliknięcie na nazwę klienta, kieruje do jego oficjalnej strony, z której zazwyczaj można go ściągnąć.
Data pierwszej edycji | Ostatnia stabilna wersja | Cena (w USD) | Licencja | |
---|---|---|---|---|
BitchX | 1996 | 1.1 | bezpłatne | BSD |
Bersirc | 1999 | 2.2.14 | bezpłatne | LGPL |
ChatZilla | 2001 | 0.9.73 | bezpłatne | MPL/GPL/LGPL |
EPIC | 1994 | epic4-2.4 | bezpłatne | BSD |
HydraIRC | 2002 | 0.3.151 | bezpłatne | własnościowe |
IceChat | 2002 | 5.50 | bezpłatne | własnościowe |
ircII | 1990 | 20040820 | bezpłatne | BSD |
Ircle | ? | 3.1.2 | Shareware, 23 USD | własnościowe |
Irssi | 1999 | 0.8.10 | bezpłatne | GPL |
Konversation | 2002 | 0.19 | bezpłatne | GPL |
Kopete | 2002 | 0.12.1 | bezpłatne | GPL |
KVIrc | 2008 | 3.4.2 | bezpłatne | GPL |
mIRC | 1995 | 6.17 | Shareware, 20 USD | własnościowe |
Opera | ? | 9.21 | bezpłatne | własnościowe |
savIRC | 2001 | 2.0 | bezpłatne | GPL |
Visual IRC | 1995 | 2.0 | bezpłatne | GPL |
wmii | 2006 | 1-rc2 | bezpłatne | MIT/X Consortium License |
WeeChat | 2003 | 0.1.9 | bezpłatne | GPL |
X-Chat | 2000 | 2.6.2 | Shareware, 20 USD dla MS Windows; bezpłatnie dla innych systemów operacyjnych | własnościowe dla MS Windows; GPL dla innych systemów operacyjnych |
Data pierwszej edycji | Ostatnia stabilna wersja | Cena w USD | licencja |
Wsparcie systemów operacyjnych[edytuj]
Systemy operacyjne, w jakich może działać dany klient
Windows | Mac OS X | Linux | BSD | Unix | |
---|---|---|---|---|---|
BitchX | Częściowo | Tak | Tak | Tak | Tak |
Bersirc | Tak | Tak | Nie | Tak | Tak |
ChatZilla | Tak | Tak | Tak | Tak | Tak |
HydraIRC | Tak | Nie | Nie | Nie | Nie |
IceChat | Tak | Nie | Nie | Nie | Nie |
ircII | Tak | Tak | Tak | Tak | Tak |
Ircle | Nie | Tak | Nie | Nie | Nie |
Irssi | Częściowo | Tak | Tak | Tak | Tak |
Konversation | Nie | Tak | Tak | Tak | Tak |
Kopete | Nie | Tak | Tak | Tak | Tak |
KVIrc | Tak | Tak | Tak | Tak | Tak |
mIRC | Tak | Nie | Nie | Nie | Nie |
Opera | Tak | Tak | Tak | Tak | Tak |
savIRC | Tak | ? | Tak | Tak | Tak |
ScrollZ | Częściowo | Tak | Tak | Tak | Tak |
Visual IRC | Tak | Nie | Nie | Nie | Nie |
wwii | Nie | Tak | Tak | Tak | Tak |
WeeChat | Nie | Tak | Tak | Tak | Tak |
X-Chat | Tak | Tak | Tak | Tak | Tak |
Windows | Mac OS X | Linux | BSD | Unix |
Możliwości[edytuj]
Obsługa dodatkowych protokołów, komend, obsługa połączeń z więcej niż jednym serwerem, obsługa połączeń szyfrowanych (SSL i IPv6), obsługa kodowania polskich znaków (ISO-8859-2 i UTF-8), graficzny (GUI) lub tekstowy (UI) interfejs, możliwość dodawania skryptów.
Obsługa wielu serwerów | DCC | Pasywne DCC / DCC serwer | SSL | IPv6 | ISO-8859-2 | UTF-8 | UI | GUI | skrypty | |
---|---|---|---|---|---|---|---|---|---|---|
BitchX | Tak | Tak | Nie | Tak | Tak | ? | Nie | Tak | Tak | poszerzona składnia skryptów IrcII |
Bersirc | Tak | Częściowo | Nie | Nie | Nie | ? | Nie | Nie | Tak | Nie |
ChatZilla | Tak | Tak | Nie | Tak | Tak | Tak | Tak | Nie | Tak | JavaScript |
HydraIRC | Tak | Tak | ? | Nie | Nie | ? | Nie | Nie | Tak | nie, ale można dodawać pluginy |
ircII | Tak | Tak | Nie | Nie | Tak | ? | Tak | Tak | Nie | własny język skryptowy, który stał się standardem |
Irssi | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Nie | skrypty w jęz. Perl |
Konversation | Tak | Tak | Nie | Tak | Tak | ? | Tak | Nie | Tak | Shell script |
Kopete | Tak | Tak | ? | Tak | Tak | ? | Tak | Nie | Tak | Nie |
KVIrc | Tak | Tak | Częściowo | Tak | Tak | Tak | Tak | Nie | Tak | Własny język "KVS" inspirowany przez C++,sh,perl,php i mIrc |
Miranda z wtyczką IRC | Tak | Tak | Tak | Tak | ? | Tak | Tak | Nie | Tak | PHP (wymagany Miranda Scripting Plugin) |
mIRC | Tak | Tak | Tak | Tak | Częściowo | Nie *) | Tak | Nie | Tak | mIRC script (podobny do IRCII) *) istnieje skrypt przekodowujący |
Opera | Tak | Tak | ? | ? | ? | Tak | Tak | Nie | Tak | Nie |
savIRC | Tak | Tak | Tak | Tak | Tak | ? | Tak | Nie | Tak | Tcl/Tk |
ScrollZ | Tak | Tak | Nie | Tak | Tak | ? | Tak | Tak | Nie | Poszerzony IrcII |
Visual IRC | Tak | Tak | Częściowo | Nie | Nie | ? | Nie | Nie | Tak | Versus |
wwii | Tak | Nie | Nie | Nie | Nie | ? | Tak | Nie | Nie | Nie |
WeeChat | Tak | Tak | Częściowo | Tak | Tak | ? | Tak | Tak | Nie | Perl, Python, Ruby, Lua |
X-Chat | Tak | Tak | Częściowo | Tak | Tak | Tak | Tak | Tak | Tak | Perl,Python, Tcl, Ruby |
Obsługa wielu serwerów | DCC | Pasywne DCC/ Serwer DCC | SSL | IPv6 | ISO-8859-2 | UTF-8 | UI | GUI | Skrypty |
UWAGA: Konverter iconvircproxy może być użyty do konwersji między UTF-8 a kodowaniem lokalnym, dodając w ten sposób obsługę UTF-8 do dowolnego klienta IRC.