IRC - Internet Relay Chat.


Spis treści.
  1. Wstęp
  2. Budowa
  3. Podstawy
    1. Zasady zachowania
    2. Język
    3. Jak się przyłączyć ?
  4. Hierarchia, czyli kto jest kim?
  5. Polecenia IRC i IRCX
    1. Podstawy
    2. Rozmowy
    3. Klient i serwer
    4. Informacje o użytkownikach
    5. Kontrola kanału
    6. Funkcje DCC
    7. Atrybuty kanału
  6. Oprogramowanie dla IRC i IRCX
    1. Serwery
    2. Klienci
    3. Boty
  7. Skrypty i wyjaśnienia dot. skryptów
  8. Obrona przed atakiem
  9. Materiały dodatkowe
    1. Pomocne linki
    2. Adresy polskich serwerów IRC


1. Wstęp

IRC - czyli "Internet Relay Chat" w tłumaczeniu oznacza "Internetowe Przekazywanie Pogawędek" czyli po prostu internetowe pogawędki na żywo.
Początek IRC datuje się na 1988 r. kiedy to fińscy specjaliści od CB radia i administratorzy serwerów zaczęli się zastanawiać nad przyśpieszeniem sposobu komunikowania się i możliwością użycia do tego celu komputerów oraz sieci komputerowych.
Na początku opierano się o dostępne w owym czasie programy umożliwiające rozmowę dwóch osób i na ich podstawie Jarkko Oikarinen zaczął pisać oprogramowanie typu klient - serwer, które nazwał IRC.
Pierwszy działający serwer IRC został uruchomiony na serwerze tolsun.oulu.fi, ale jak każdy raczkujący projekt miał wiele wad i nie działał zbyt sprawnie.
Z biegiem czasu liczba błędów zmalała oraz uruchomione zostały dwa następne serwery IRC, a liczba użytkowników zaczęła powoli rosnąć.
W dalszym stadium rozwoju IRC rozwija się bardzo dynamicznie, zostaje utworzona najstarsza sieć o nazwie EFnet oraz później w 1995 DALnet, która zawiera dodatkowe usprawnienia - takie, jak: NickServ, ChanServ czy HelpServ.
Dzisiaj istnieje wiele różnych sieci takich jak: UNDERnet, GalaxyNet, ICEnet czy najpopularniejsza w Polsce IRCnet.
W ostatnich czasach wydzieliła się również sieć serwerów z rozszerzeniami IRCX oparta o serwery firmy Microsoft w przeciwieństwie do tradycyjnych serwerów IRC, które działają na różnych odmianach UNIXA.

Początek
2. Budowa

Sieć IRC to ogromna ilość połączonych i zsynchronizowanych ze sobą serwerów, dzięki temu można się połączyć z najbliższym i najszybszym serwerem i nie trzeba się martwić o to, że osoba, z która właśnie rozmawiamy, łączy się z zupełnie innym serwerem niż my.
Czasami awaria sieci, serwera lub zapchane łącza doprowadzają do zjawiska zwanego splitem (ang. split - rozłączenie), które powoduje, że jedna część sieci przestaje widzieć drugą i vice versa, a co za tym stoi my przestajemy mieć kontakt z osobami, które się właśnie znajdują w tej drugiej sieci.

Początek
4. Postawy

a. Zasady zachowania

Podobnie jak w Internecie tak i sieciach IRC panują pewne określone zasady zachowania zwane potocznie (N)etykietą.
Oto kilka najważniejszych zasad:

- nie używaj polskich znaków (niektóre programy nie akceptują kodowania iso-8859-2 i windows)
- nie używaj dużych liter (uwaga na Caps Lock)
- nie wysyłaj zbyt długich zdań ani też zbyt długich rysunków tzw. AsciiArt
- nie "flooduj" tzn. nie przesyłaj innym niechcianych plików ani zbyt dużo tekstu linijka za linijką
- nie używaj brzydkich i obraźliwych określeń
- nie znęcaj się nad innymi użytkownikami sieci
- nie nadużywaj tego, że jesteś operatorem kanału, (czyli "opem")
- nie wysyłaj wiadomości w stylu "dajcie opa" lub "ten kanał jest beznadziejny"
- nie zapraszaj użytkowników na inne kanały (np. chodźcie na #super-zabawa)
- nie zachęcaj również nadmiernie do odwiedzania stron WWW
- nie stawiaj botów na kanale, gdzie już takowe są o ile nie jest to dla ogólnej korzyści i z akceptacja większości.

Początek
b. Język

Na kanałach IRC obowiązuje pewien specyficzny język, który dla początkujących może się wydać trudny i niezrozumiały, ale później okaże się, że ma wiele zalet.

Język ten można podzielić na dwie grupy:

- uśmieszki

:-) uśmiechnięta twarz
:-D uśmiech "pełną gębą"
;-) przymrużone oko - sygnalizuje żartobliwe wypowiedzi
:-( smutek, niezadowolenie
:-| hmm... "Nie wiem co o tym myśleć"
:-/ sceptycyzm
:-P pokazany język
:~-( płacz

- skróty

tx,tnx - skrót od "thanks", czyli dziękuję
n/p - skrót od "no problem", czyli nie ma problemu, nie ma za co...
cu - fonetyczny zapis "see you", czyli do zobaczenia
lol - "laugh out loud" odpowiednik śmiech na sali - ale nie złośliwe
rotfl - "rolling on the floor laughing" - tarzam się po podłodze ze śmiechu
btw - "by the way" - swoją drogą, przy okazji
brb - "be right back" - zaraz wracam
afaik - "as far as I know" - z tego co mi wiadomo

Początek
c. Jak się przyłączyć ?

Przyłączenie się do pogawędek na IRCu jest bardzo proste i zakładając, że mamy komputer i dostęp do Internetu to jedyne, co musimy zrobić to zaopatrzyć się w klienta IRC dla naszego systemu operacyjnego.
Jeśli już mamy odpowiednie oprogramowanie to wystarczy je tylko skonfigurować do własnych potrzeb oraz wybrać nazwę, pod jaką będziemy występować w sieci, czyli potocznie wybrać sobie nicka.
Następnie wybieramy adres serwera, z którym chcemy się połączyć np.: krakow.irc.pl:6667 oraz łączymy się z wybranym kanałem np.: /join #test
Na IRCu mamy podział na tzw. kanały, czyli osobne pokoje, w których toczą się rozmowy na wybrany temat.
Każdy kanał ma swoją nazwę, nazwy kanałów rozpoczynają się od znaczka # (czyt. hash),a na każdym kanale zazwyczaj istnieje topic - czyli temat, który jest ustawiany adekwatnie do tego co się akurat dzieje na kanale.

Początek
4. Hierarchia, czyli kto jest kim?

Na kanałach różnych sieci IRC można spotkać osoby, które mają przed nickami znaczek @ np.: @coyote_x i oznacza to, że taka osoba jest operatorem kanału, czyli potocznie Opem.
Operatorów kanału może być wielu i nie każdy operator to człowiek, bo niektóre funkcje mogą pełnić specjalne programy, czyli tzw. Boty.
Władza, jaką posiada dobry operator kanału jest tak duża, że mogą oni wyrzucać użytkowników z kanału ( kick ), zabraniać im dostępu na kanał ( ban ) lub dowolnie modyfikować parametry kanału takie jak temat ( topic ) lub ilość użytkowników czy też powodować, że wejście na kanał możliwe jest jedynie za specjanym zaproszeniem ( invite ).
Władzy operatorów kanałów oraz innych zaawansowanych użytkowników nie należy ignorować i czuć się bezkarnie w przeciwnym przypadku można się spotkać z nieprzyjemnymi skutkami takimi jak wykopanie i zabanowanie, więc możemy się łatwo przekonać, jakie możliwości posiada operator i to nie tylko w zakresie IRC.

Początek
5. Polecenia IRC i IRCX

Aby sprawnie uczestniczyć w "życiu na IRC" musimy poznać parę podstawowych poleceń, które umożliwią nam bezproblemowe działania niezależnie od naszego klienta IRC.

Początek
a. Podstawy

/join #nazwa_kanalu - połączenie się z wybranym kanałem
/quit - rozłącza od serwera
/exit - rozłącza i zamyka program
/leave <#kanał> - opuszcza bieżący kanał
/part <#kanał> - opuszcza bieżący kanał

b. Rozmowy

/msg nick wiadomość - wysyła wiadomość do wybranego użytkownika
/query nick - nawiązuje prywatną rozmowę z użytkownikiem (chat)
/away - informuje innych, że jesteś właśnie nieobecny
/notify - pokazuje listę nicków dodanych do listy notify

c. Klient i serwer

/clear - czyści okno programu
/help - wyświetla pomoc
/list - wyświetla listę dostępnych na serwerze kanałów
/server nowy_serwer <:port> - zmienia aktualny serwer <łączy z podanym portem>
/play ścieżka - wyświetla/odtwarza dany plik na kanale
/run polecenie - uruchomi podany program

d. Informacje o użytkownikach

/who nick - podaje host i domenę użytkownika
/whois nick - podaje bardziej dokładne dane
/whowas nick - podaje dane użytkownika, który zakończył sesję
/dns nick - podaje informacje odczytane z serwera DNS
/ctcp ping nick - pinguje użytkownika
/ctcp time <nick> - podaje obowiązujący czas u danego użytkownika
/ctcp version nick - podaje nazwę i wersję klienta użytkownika
/ctcp finger nick - podaje informacje o użytkowniku

e. Kontrola kanału

/mode #kanał +o nick - daje status operatora użytkownikowi
/mode #kanal -o nick - obiera status operatora użytkownikowi
/kick nick - "wykopie" z kanału użytkownika
/ban nick - zablokuje (zabanuje) możliwość wejścia na kanał dla podanego użytkownika
/topic - wyświetla temat na kanale
/ignore nick - ignoruje wiadomości od danego użytkownika
/unignore nick - przestaje ignorować wiadomości od danego użytkownika
/nick nowy_nick - zmienia twojego nicka na nowy

f. Funkcje DCC

/dcc send nick ścieżka - przesyła danemu użytkownikowi plik o podanej ścieżce
/dcc chat nick - połączy się z innym użytkownikiem w celu nawiązania rozmowy

g. Atrybuty kanału

+i - ( Invite Only) Oznacza to, ze tylko osoby zaproszone mogą wejść na kanał.
+k - Kanał jest zabezpieczony kluczem-hasłem. Żeby wejść na kanał musisz znać ten klucz. Jeśli go znasz przy wchodzeniu na kanał napisz: /join #kanał -k KLUCZ
+l - ( Limited ) Ogranicza liczbę ludzi na kanale.
+m - ( Moderated ) Możesz wejść na ten kanał, ale twoje wypowiedzi nie będą widoczne dla innych póki operator kanału nie da ci atrybutu +v ( voice ) .
+n - Atrybut blokuje wyświetlanie zewnętrznych wiadomości na kanale.
+s - ( Secret ) Kanał z tym atrybutem nie jest widoczny na liście kanałów.
+t - Jeśli kanał posiada ten atrybut, to tylko operator może zmienić temat na kanale.

6. Oprogramowanie dla IRC i IRCX

a. Serwery

Najpopularniejszym i jedynym znanym mi serwerem jest ircd ( to się wkrótce zmieni )

b) Klienci

MS Windows 3.x
mIRC
Pirch
Winsock IRC

MS Windows 9x/Me/NT/2000
mIRC
Pirch
VisualIRC
Xircon
BitchX

UNIX/Linux

ircII
BitchX
Sirc
Zircon
Kvirc
X-Chat
Circus

Macinosh

MacIRC
IRCLe

OS/2

OpenChat/2

BeOS

Berdak
Felix
Baxtex X
Felix

Amiga

AmiIRC
BlackIRC

Atari

FracIRC
AtariIRC

c. Boty

Bot jest programem imitującym użytkownika, posiada nicka itp. często ma status Opa.
Boty działają według ściśle określonych reguł określonych na etapie ich konfiguracji.
Dobrze zaprogramowany bot może być bardzo pożyteczny przy pilnowaniu porządku, zapewnianiu rozrywki :-) itp.
Źle zaprogramowany bot jest zazwyczaj utrudnieniem dla użytkowników danego kanału, ale jak to zwykle bywa - wszystko zależy od osoby, która "postawiła" bota na kanale.
Typowe reakcje dla botów to min. automatyczne opowanie, wyrzucanie z kanału za złe zachowanie bądź tez po prostu zwykle odpowiedzi na charakterystyczne pytania.

7. Skrypty i wyjaśnienia dot. skryptów

Skrypt jest pojęciem ogólnym służącym do opisania programu, który jest interpretowany przez interpreter poleceń.
Jeśli chodzi o przypadek IRC, pojęcie skryptu zostało rozszerzone o dodatkowe elementy.
W ogólnym pojęciu skrypty dla klientów pracujących w trybie testowym służą do zautomatyzowania niektórych czynności, do obrony przed atakami lub też można znaleźć skrypty wojenne, służące jak sama nazwa wskazuje do prowadzenia wojen na IRCu.
Klienty IRC pracujące w trybie graficznym posiadają skrypty pełniące takie same funkcje jak te dla trybu testowego, a ponadto wprowadzają wiele udogodnień związanych z trybem graficznym oraz czasami zmieniają wygląd interfejsu graficznego klienta.
Punktem wyjściowym do napisania własnego skryptu okazuje się zazwyczaj odpowiednia konfiguracja klienta uzupełniona o dodatkowe funkcje lub, jeśli klient dopuszcza - moduły napisane w jakimś języku programowania, oraz jeśli mamy do czynienia z interfejsem graficznym to można uzupełnić naszego klienta o elementy zmieniające wygląd aplikacji.
Często spotykane w sieci skrypty są to po prostu pliki konfiguracyjne lub moduły dla naszego klienta, ale można również spotkać już gotowe przerobione programy.

// Kawałek sktyptu napisanego w perlu dla X-Chata //
 

#!/usr/bin/perl -w
$scname = "Valhala Script by Krom - RANDOM NICK KICK";
IRC::register ("$scname", "$ver", "", "");
IRC::print("\00312¤\00301 Valhala_\00312random-kick\00301 : \00312Ok\n");
IRC::add_command_handler("random", "random_handler");

#-----------------------------------------------------------------
# RANDOM KICK MESAGE FUNCTION BETA
$vers = IRC::get_info(0);

sub random_handler {
$nick = IRC::get_info(1);
$chan = IRC::get_info(2);
$serv = IRC::get_info(3);
@users = IRC::user_list($chan, $serv);
$pop = int( ( scalar @users ) / 5) ;
#IRC::print( "Channel $chan has $pop users." ) ;
$whom = @users[int( rand( $pop ) ) * 5];
$pc = int(1000/$pop)/10;
#IRC::print( "Chose to kick $whom among $pop users in $chan." );
#IRC::print( "That's $pc % probability!" );
IRC::command( "/kick $whom YARK: Yet Another Random Kick ($whom , the chosen one: $pc % probability)" );
return 1;
}

// Koniec //

8. Obrona przed atakiem

Ja zwykle nie ma 100% obrony przed atakiem, jedyne, co można zrobić to dobrze skonfigurować oprogramowanie klienckie oraz postawić bota obronnego lub tzw. klona - czyli nasz cień.
Postawienie bota wystarczy do obrony przed słabszymi atakami na naszą osobę lub nasz kanał, ale w tym przypadku jeden bot nie wystarczy.
Jednakże dla osoby zdeterminowanej, która posiada odpowiednie umiejętności zdobycie kanału to tylko kwestia czasu, a wtedy pozostaje tylko interwencja u administratora serwera.

9. Materiały dodatkowe

a. Pomocne linki

http://www.irc.intertele.pl
http://www.irc.magazyn.pl
http://www.irc.scrypty.com
http://www.mirc.com

b. Adresy polskich serwerów IRC

IRC.PL
warszawa.irc.pl:6667
szczecin.irc.pl:6667
wroclaw.irc.pl:6667
krakow.irc.pl:6667
poznan.irc.pl:6667
lublin.irc.pl:6667

IRCX.PL
poznan.ircx.pl:6667
bielawa.ircx.pl:6667
wroclaw.ircx.pl:6667
plenti.ircx.pl:6667

IRCZONE.PL
poznan.irczone.pl:6667
irc.irczone.pl:6667
alfa.irczone.pl:6667
zgora.irczone.pl:6667
krakow.irczone.pl:6667
koszalin.irczone.pl:6667
gdansk.irczone.pl:6667
bialystok.irczone.pl:6667

PolNet
warszawa.ircnet.pl:6666 do 6669 oraz 7000
krakow.ircnet.pl:6667-6668
poznan.ircnet.pl:6667:6668
torun.ircnet.pl:6667
rzeszow.ircnet.pl:6667
bialystok.ircnet.pl:6667

HOMEIPnet
krakow.homeip.net:6667
bydgoszcz.homeip.net:6667
hub.homeip.net:6667
stargard.homeip.net:6667
nowysacz.homeip.net:6667
braniewo.homeip.net:6667
gdansk.homeip.net:6667

EFNET.PL
irc.efnet.pl:6667

FORGENET
southpark:6667
pl-opers.net:6667
mafia.irchacks.com:6667
cordec.cjb.net:6667
serwer.infinity.net.pl:6667

NetFriend
leszno.ircd.pl:6667
warszawa.ircd.pl:6667
poznan.ircd.pl:6667
wroclaw.ircd.pl:6667
wroclaw.ircd.pl:6667
lublin.ircd.pl:6667
proxima.ircd.pl:6667
platon.ircd.pl:6667
virtuo.ircd.pl:6667

Napisano dnia: r.