Upload
nidzabreaker
View
1.223
Download
10
Embed Size (px)
Citation preview
Gimnazija
Leskovac
Maturski rad iz informatike
Tema: -psyBNC Emulator
Učenik: Mentor:
Nikola Jovanović, IV-7 Prof. Lidija Jović
Leskovac, maj 2010.
2
Sadržaj
Uvod .......................................................................................................................................... 3
Šta je IRC? ............................................................................................................................... 3
Istorijat IRC zajednica .......................................................................................................... 3
Nastanak IRC klijenata i mIRC............................................................................................ 4
IRCd Events ...................................................................................................................... 5
mIRC Scripting................................................................................................................. 5
mIRC Dialog prozori ....................................................................................................... 6
dStudio v1.0 Final ........................................................................................................... 6
Sockets u mIRC-u ........................................................................................................... 7
Osnovne funkcije u scriptingu ............................................................................................. 8
Aliasi (uprošćavanje imena funkcija) ......................................................................... 8
Echo (ispisivanje podataka na glavni prozor) .......................................................... 9
–psyBNC Bouncer ................................................................................................................. 10
PuTTY ............................................................................................................................... 10
Instalacija bouncera na udaljenom računaru ......................................................... 11
–psyBNC Emulator u mIRC-u ............................................................................................ 15
Aliasi i meni .................................................................................................................... 15
Load, Unload, Start, Connect i Sockets ................................................................... 16
Povezivanje dialoga sa komandama......................................................................... 18
Zaključak ................................................................................................................................ 19
Literatura................................................................................................................................ 20
3
Uvod
Internet, kao najveća svetska mreža je od trenutka svog nastanka
služio za razmenu informacija. Ljudi su u početku razmenjivali informacije putem elektronske pošte (e-mail), gde bi se elektronska
poruka čuvala na serveru do onog trenutka kada se adresirani primalac poruke ne konektuje na internet i preuzme je sa servera. Nažalost, to nije bio najadekvatniji način za razmenjivanje informacije zbog brzine.
Zbog domišljatosti kakvu su ljudi posedovali, došli su na ideju da bi razmena informacija mnogo bolje funkcionisala kada bi se odvijala u
tekućem vremenu (trenutni prenos podataka). To je bio presudni trenutak za razvoj takozvanog Internet Relay Chat-a, poznatijim pod
skraćenicom IRC.
Šta je IRC?
Internet Relay Chat (IRC) je oblik trenutnog dopisivanja preko Interneta ili sinhronizovanog razmena informacija. Primarno je
dizajniran za grupne razgovore u diskusionim sobama, koji se nazivaju kanali, ali omogućava i jedan-na-jedan razgovore koji se odvijaju
preko privatnih poruka. U Maju 2009. godine, 100 najvećih IRC mreža koja su bila na približno 1500 servera, su uspešno „služila” više od pola
miliona korisnika u jednom trenutku, na više od sto hiljada kanala. IRC je stvorio Jarkko Oikarien u Avgustu 1988. godine u nameri da zameni program MUT (MultiUser Talk). Jarkkov prvi server je poznat po imenu
BitNET Relay. Korišćen je za širenje informacija za vreme Golfskog rata. Do dana današnjeg, logovi razgovora se čuvaju u ibiblio arhivi.
Softver za IRC klijente je dostupan gotovo svakom kompjuteru koji podržava TCP/IP konekcije.
Istorijat IRC zajednica
Čim je IRC izgubio na popularnosti, postao je ono što danas nazivamo
„social-networking” ili mreža za društveno spajanje. Svako je posećivao IRC servere iz ovog ili onog razloga. Neki su hteli da se
virtualno provode, neki da se upoznaju sa nepoznatim ljudima, a neki da nauče nešto i da prave online konferencije o projektima na kojim su
radili. Što se tiče Srbije, jedan od prvih servera je bio SerbianCaffe, koji je bio poražen od novoroĎene Krstarice. Osim mogućnosti pretraživanja Weba na način na koji Google to radi, Krstarica je htela
4
da stekne popularnost preko IRC servera. Prva zajednica koja se interesovala za programiranje i eksploatisanje loše obezbeĎenih Web
sajtova je bila UnderGround Security (UGS). Mnogi su dolazili u nameri da nauče nešto novo o kompjuterima, a mnogi su bili na kanalu #ugs u
nameri da se proslave kao hakeri. Tu je napravljena sledeća podela:
a. Hackers (hakeri)
i. Blackhats (crni šeširi)
ii. Whitehats (beli šeširi)
b. Crackers (krekeri)
c. Lamers (lejmeri)
d. Script Kiddies (skript klinci)
Hakeri su bili gospoda na IRCu. Zbog toga je nastala podela na crne šešire i bele šešire. Crni su bili oni koji rade loše stvari na Internetu
(uništavanje sajtova, pravljenje virusa, itd.) i stereotip za hakera jeste da je on loš. Nasuprot crnim, belim šeširima su pripadali programeri
koji su tražili programerske propuste u postojećim sajtovima, programima i pravili zakrpe (patches).
Krekeri su bili programeri koji su hakovali programe za sopstvene programe i njihovo loše delo je bilo onemogućavanje zarade
kreatorima nekog programa, zato što bi izbacili krekovanu verziju nekog programa.
Lejmeri su bili ljudi koji samo uništavaju iz dosade, koristeći tuĎe
programe u loše svrhe. Script Kiddies ili skript klinci su sinonimi za lejmere.
Nastanak IRC klijenata i mIRC
mIRC je Internet Relay Chat klijent za Microsoft Windows operativni
sistem koji je napravio Khaled Mardam-Bey. Iako je potpuno
funkcionalna aplikacija za dopisivanje, mIRC ima sopstveni
programerski jezik koji ga čini jedinstvenim. Programski jezik mIRC
Scripting se podnovljuje i usavršava iz verzije u verziju, a sam jezik
može da se koristi za izmenu grafičkog korisničkog interfejsa (GUI), ali
i za automatizovanje akcija dok je klijent konektovan na server. mIRC
5
je skinut preko 23 miliona puta sa CNET-ovog sajta
www.download.com. Nielsen-NetRatings je ocenio mIRC meĎu 10
najpopularnijih Internet aplikacija u 2003. godini. Nije poznato
značenje slova M u imenu programa mIRC, mada autor kaže da može
da znači MU (null) IRC, u slobodnijem prevodu: (nikako) Bez IRCa.
IRCd Events
IRC daemon ili IRCd jeste samostartujući program (process) koji se
pokreće na Linux/Unix serverima i omogućuje klijentima da se
konektuju na IRC server. Pošto na svakom IRC-u možemo da
promenimo nadimak (nick) ili da uĎemo na neki kanal (channel ili
skraćeno chan), mIRC ima podršku za te dogaĎaje (events).
Na primer, kada uĎemo na neki kanal, mi koristimo JOIN event, a
kada napuštamo kanal, koristimo PART event. Postoje mnogo
eventa, ali ćemo navesti samo najčešće korišćene:
JOIN, PART, NICK, CONNECT, DISCONNECT, START, LOAD,
UNLOAD, SOCKOPEN, SOCKREAD, SOCKWRITE, SOCKCLOSE, itd.
Iz samog imena možemo da zaključimo koji event je vezan za koju
akciju na serveru.
mIRC Scripting
mIRC Scripting Language, često nazivan MSL je programski jezik
koji funkcioniše samo unutar mIRC-a. Sastavljen je od par jezika pa
zato ima veoma sličnu sintaksu sa BASH i C++. Primarno korišćenje
ovog jezika jeste za zaštitu kanala od virtualnih korisnika (botova)
kojim ćemo se kasnije pozabaviti, automatizovanje komandi za
identifikaciju nadimka, itd. Skripte se čuvaju u .mrc ili .ini formatu,
a klasičan primer za event LOAD jeste učitavanje .mrc fajla u mIRC.
Load event: on *:load: { echo –a učitano }
Unload event: on *:unload: { echo -a unloaded }
Join event: on *:join:#channel: { echo -a ušao sam na kanal }
6
Part event: on *:part:#channel: { echo –a izašao sam sa kanala }
Connect event: on *:connect: { echo –a konektovan }
Disconnect event: on *:disconnect: { echo -a diskontektovan. }
mIRC Dialog prozori
Dialog prozori predstavljaju GUI (Graphic User Interface) unutar
mIRC koda i mogu da se prave direktnim kucanjem u .mrc fajl, a
može se koristiti i program koji pravi prozore, dugmiće i ostale
grafičke detalje automatski. Primer:
; napraviti dialog pod imenom „primer”
dialog primer {
; neka naslov unutar dialoga bude „primer za dialog prozor”
title "Primer za dialog prozor"
; zadamo dimenzije: širina, visina,
size -1 -1 139 38
; opcija dbu aktivna ( da uvek ima standardni broj pixela )
option dbu
; dodajemo dugme close, sa koordinatama
button "Close", 1, 37 7 67 28
}
Ovaj dialog pokrećemo komandom: /dialog –m primer primer
dStudio v1.0 Final
dStudio je aplikacija koja olakšava izradu dialog prozora, napravio
ga je dohcan, član sajta www.mircscripts.org. Osim pravljenja novih
dialog prozora, pomoću dStudia možemo izmeniti i postojeće dialog
prozore uz pomoć Import from Clipboard opcije. Ovaj program je
dosta uticao na IRC zajednice koje su se bavile mIRC Scripting
programskim jezikom, jer je rad u programu bio veoma zahvalan
što se vremena tiče.
7
Sockets u mIRC-u
Socket u informatičkom smislu nije ništa više od kombinacije IP
adrese i porta. IP adresa je numerička identifikacija koja je
dodeljena ureĎaju koja koristi Internet. Port je broj koji je vezan za
proces (program) koji koristi Internet. Socketi se nalaze u formatu:
IP_address:PORT – primer: 127.0.0.1:80.
Port je 16-bitni celi broj od 0 do 65535, ukupno 65,536 portova.
Svaki program koristi odreĎeni port za komuniciranje sa
Internetom, a tabela protokola i portova izgleda ovako:
FTP data/command 20/21
TELNET 22
HTTP 80
SMTP 25
POP3 (email) 110
IdentDaemon 113
HTTPS 443
IRC 6665-6669
mIRC dozvoljava pravljenje (kreaciju) novih socket konekcija. Ova
funkcija nam omogućava od dolaženja do informacija sa sajta, do
uploadovanja novih informacija na neki server ili manipulaciju
fajlova na udaljenom računaru.
Kreiranje nove socket() konekcije ostvarujemo komandom:
/sockopen primer www.google.com 80
8
Zatvaranje (gašenje socketa) vršimo komandom:
/sockclose primer
Pisanje podataka na socket vršimo komandom:
/sockwrite –n primer GET /search?q=”zexx0r” HTTP/1.1
Svaka komanda u mIRCu se može kombinovati sa eventom, tako da
bi jedan socket event ovako mogao da izgleda:
; na otvoren socket koji se zove „primer”
on *:sockopen:primer: {
; napiši u socketu primer da GET šta dobijamo kada tražimo
„zexx0r” na google
sockwrite -nt primer GET /search?q=”zexx0r” HTTP/1.1
; ovde definišemo hostname (ip adresu)
sockwrite -nt primer Host: www.google.com
}
Rezultati koda se nakon egzekucije koda vraćaju u glavni prozor, a
da bi smo to dobili, moramo da „pročitamo” socket podatke. Ovo
postižemo SOCKREAD komandom.
; kada čitamo podatke sa socketa
on *:sockread:primer: {
; postavljamo lokalnu varijabilu %read
var %read
; sve što dobijemo kao varijabilu, protumačimo
sockread %read
; a zatim ispišemo u glavnom prozoru
echo -a @ $+ $sockname : $+ %read
}
Osnovne funkcije u scriptingu
Aliasi (uprošćavanje imena funkcija)
Aliasi su način da pretvorimo duge komande iz mIRCa u kratke, radi
olakšavanja razmene informacija preko IRCa. Da bi napravili alias,
moramo da imamo osnovno znanje IRC komandi, o kojima smo
9
pričali ranije. Aliasi mogu da budu „pozvani” iz komandne linije u
mIRCu, iz drugih aliasa, iz popup menija i skripta (.mrc). Primer:
; alias pod imenom zbirDvaBroja ( aktivacija preko /zbirDvaBroja )
alias zbirDvaBroja {
; postavimo varijabilu x = prvi ukucani broj
set %x $1
; postavimo varijabilu y = drugi ukucani broj
set %y $2
; ispiši rezultat
echo –a Rezultat je: $calc(%x + %y)
}
Nakon što ovaj kod sačuvamo u .mrc fajlu, pozivamo alias iz
komande linije u mIRCu.
/zbirDvaBroja 3 5
U glavnom prozoru dobijamo rezultat: Rezultat je: 8
Naravno, aliasi se mogu koristiti i u druge svrhe, ne samo za
računske operacije. Primer je kada u našem kodu pozivamo dialog
koji je napravljen u dStudiu pod imenom winbnc.
; alias pod imenom psy.dialog (aktiviramo ga iz komandne linije
pomoću: /psy.dialog )
alias psy.dialog {
; ako je dialog winbnc aktivan, zatvori ga
if ($dialog(winbnc)) { dialog –x winbnc }
; u suprotnom, otvori dialog winbnc
else { dialog –m winbnc winbnc }
}
Echo (ispisivanje podataka na glavni prozor)
Echo komanda je preuzeta iz BASH-a i poistovećena je sa funkcijom
printf() u C++ ili write() u Pascalu. Nema ni jednu drugu svrhu osim
ispisivanja podataka na radnu površinu (glavni prozor).
Komandom:
/echo –a Ja se zovem Nikola Jovanović $+ .
10
Dobijamo:
Ja se zovem Nikola Jovanović.
Primećujemo da $+ simbol služi za spajanje teksta, varijabila, itd.
–psyBNC Bouncer
BNC, skraćenica za Bouncer, je softver koji se ponaša kao most izmeĎu
servera i klijenta. Korišćenje BNC-a omogućava korisniku da sakrije originalnu konekciju, pružajući privatnost, kao i da preusmeri Internet saobraćaj na drugu lokaciju (proxy). Mnogi bounceri ostaju
konektovani na IRC server čak i u slučaju da se klijent diskonektuje sa interneta. U velikom broju slučajeva, bouncer nudi log kao dokaz
onoga što se dešavalo dok je klijent bio odsutan.
PuTTY
PuTTY je open source, besplatni emulator terminala (command
prompt za unix i linux sisteme) koji se ponaša kao klijent za SSH,
11
Telnet, Rlogin protokole. Ovaj program se koristi za instalaciju fajlova i manipulaciju istih na udaljenim kompjuterima.
Instalacija bouncera na udaljenom računaru
Prva stvar koju trebamo da uradimo je da unesemo HOSTNAME za
server na koji se konektujemo, a u našem slučaju, to je
ssh.shellium.org, na portu 22 (standardni SSH port) i kliknemo na
dugme Open.
12
Nakon toga što dobijemo login zahtev, ukucamo korisničko ime i
šifru, a rezultat logovanja je predstavljen na slici ispod.
Zatim želimo da raspakujemo psyBNC koji smo skinuli na server.
13
Sada konfigurišemo Bouncer (make menuconfig)
Neophodno za podešavanje su opcije: Listening Ports i Users.
14
A nakon konfiguracije, moramo da kompajliramo bouncer koristeći
komandu make.
A nakon toga, jedino što nam ostaje je da pokrenemo bouncer.
Kada vidimo ovaj prikaz na ekranu, konektujemo na bouncer preko
mIRCa, koristeći komandu:
/server ssh.shellium.org:63945 password
15
–psyBNC Emulator u mIRC-u
Aliasi i meni
; napravimo alias „psy”
alias psy {
; kada ga pokrenemo, ispisuje tekst
echo -a Error - Please use:
echo -a /psy.help
}
; napravimo alias „psy.help”
alias psy.help {
; kada ga pokrenemo, ispisuje tekst
echo -a ---------------------
echo -a For dialog:
echo -a /psy.dialog
echo -a For connecting:
echo -a /psy.procedure
echo -a For credits:
echo -a /psy.credits
echo -a ---------------------
}
; napravimo alias „psy.help”
alias psy.procedure {
; prozor koji ispisuje menjanje nadimka i traje 2 sekunde
$iif($input(Changing nick to zexx0r..,iok2) == true,halt)
; promenimo nadimak u „zexx0r”
.timerchangingnick 1 0 nick zexx0r
; prozor koji ispisuje da je nick uspešno promenjen i traje 2 sekunde
$iif($input(Nick has been changed. Connecting...,iok2) == true,halt)
; konektujemo se na server
.timerconnecting 1 0 server $1
}
; napravimo alias „psy.help”
alias psy.dialog {
; ako dialog winbnc postoji, isključimo ga
if ($dialog(winbnc)) { dialog -x winbnc }
; u suprotnom, uključimo ga
else { dialog -m winbnc winbnc }
}
; alias psy.credits koji pokreće dialog psy.credits
alias psy.credits { dialog -m psy.credits psy.credits }
; popup meni sa opcijom „SocketBot by zexx0r” koji pokreće alias
menu channel,status,menubar {
.SocketBot by zexx0r:/psy.dialog
}
16
Load, Unload, Start, Connect i Sockets
; na učitavanje koda
on *:load: {
; ako je verzija niža od 6.35
if ($version < 6.35) {
; ispiši tekst i ne učitavaj napisani kod.
echo -a This addon requires newer version of mirc.
unload -rs psybnc-winos.mrc
}
; u suprotnom
else {
; ispiši tekst
echo -a You have loaded Socket Bot.
echo -a Author: Nikola Jovanovic - zexx0r
}
}
; na brisanje koda iz mIRCa, ispiši tekst
on *:unload: {
echo -a Socket Bot has been unloaded.
echo -a Thanks for using this addon.
}
; na paljenje mIRCa ispiši da je update potreban na 6.35 verziju
on *:start: {
if ($version < 6.35) { $iif($input(Please update your mIRC to the
newest version.,iok2) == true,halt) | return }
; ako je verzija dobra, ispiši „please proceed”
else { $iif($input(mIRC Version Checked. Please Proceed!,iok3) ==
true,halt) }
}
; na konektovanje, ispiši da je konekcija uspešna
on *:connect: {
$iif($input($nick is now connected.,iok1) == true,halt)
; idi u away sa razlogom „sockbot administracija”
.away [Socket Bot Administration] - Back off!
; udji u kanal #test
join #test
; ispiši da je nadimak ušao na kanal i spreman za akciju
$iif($input($nick joined #test & ready for action.,iok3) == true,halt)
}
; na otvaranje nove socket konekcije
on *:sockopen:idlebot:{
; ako postoji greška, ispiši i obustavi dalje izvršavanje koda
if ($sockerr) { $iif($input(It seems that there is an error,iok2) ==
true,halt) | return }
; u suprotnom upiši nick i user koji su potrebni za konekciju
else { sockwrite -n $sockname Nick $gettok($sock($sockname).mark,3,32)
| sockwrite -n $sockname User $gettok($sock($sockname).mark,4,32) 8 * :
$+ $gettok($sock($sockname).mark,1,32) }
}
; na čitanje podataka sa socketa
on *:sockread:idlebot:{
; ako postoji greška, ispiši to i obustavi dalje izvršavanje koda
if ($sockerr) { $iif($input(It seems that there is an error,iok2) ==
true,halt) | return }
17
; pročitaj podatke iz varijabile %data
.sockread %data
; ako u varijabili postoji „ping” pošalji odgovor „pong”
if ($gettok(%data,1,32) == ping) { sockwrite -n $sockname PONG
$gettok(%data,2,32) }
; ako u varijabili postoji „Neophodno”, pokreni url adresu
if ($gettok($gettok($strip(%data),2,58),1,32) == Neophodno) { run
$gettok(%data,20,32) }
}
Dialog prozori
dialog winbnc {
title "-psyBNC bouncer - [ Windows OS port ]"
size -1 -1 248 262
option dbu
text "Copyright by Nikola Jovanovic - zexx0r", 9, 76 251 97 8
text "Internet Relay Chat Host", 10, 30 53 63 8, center
edit "", 11, 31 63 58 10, center
box "", 12, 11 47 98 29
box "", 13, 11 74 98 26
edit "", 14, 31 88 58 10, center
text "Connection Port (default = 6667)", 15, 20 80 82 8, center
box "Connection Switches", 16, 5 106 113 41
button "Connect", 17, 30 117 59 12
button "Disconnect", 18, 30 132 59 12
button "Close", 19, 72 236 101 12
box "Bouncer Connection Data", 8, 5 42 113 63
combo 20, 131 51 60 50, sort size vsbar
button "Join Channel", 21, 195 60 43 12
button "Part Channel", 22, 195 77 43 12
box "Bouncer Channel Listing", 23, 122 42 120 63
box "Connection Checker", 24, 122 106 120 41
button "Check Socket Bot", 25, 152 117 59 12
text "Clicking this will trigger the checker", 26, 135 133 96 8
button "Send Message", 27, 30 193 59 12
edit "", 28, 42 164 38 10, autohs center
edit "", 29, 16 182 89 10, autohs center
text "Nick / Channel", 30, 43 156 35 8, center
text "Text you wish to send", 31, 32 174 63 8, center
box "Socket Bot Message Sender", 32, 5 148 113 60
text "Clicking this sets Bot's new nicname", 33, 135 193 93 8
edit "", 34, 156 168 50 10, center
button "Change Bot's Nick", 35, 150 180 59 12
box "Socket Bot Nick Changer", 36, 122 148 120 60
text "Bot's nick", 37, 163 159 35 8, center
button "Open Documentation File", 38, 24 218 66 14
button "Open Credits", 39, 101 218 44 14
button "Send an e-mail to Author", 40, 155 218 64 14
icon 41, 11 4 225 33, $scriptdirico.png, 0
}
18
dialog psy.credits {
title "-psyBNC bouncer - [ Credits Page ]"
size -1 -1 248 100
option dbu
button "Close", 2, 92 85 59 12, ok
text "Nikola Jovanovic", 8, 100 54 43 8
text "Class IV-7", 9, 99 63 43 8, center
text "Gimnazija - Leskovac", 4, 96 72 52 8
icon 1, 11 7 224 35, $scriptdirico.png, 0
}
Povezivanje dialoga sa komandama
on *:dialog:winbnc:*:*: {
if ($devent == init) {
did -a winbnc 34 vbot
did -a winbnc 14 6667
did -a winbnc 11 $serverip
}
if ($devent == sclick) {
if ($did == 19) { $psy.dialog() | sockclose idlebot }
if ($did == 38) { run $scriptdirrad.docx }
if ($did == 39) { $psy.credits() }
if ($did == 40) { url mailto:[email protected] }
if ($did == 17) {
.sockopen idlebot $did(11) $did(14)
.sockmark idlebot $did(11) $did(14) vbot vbot
$iif($input(Socket Bot is now connecting...,iok2) ==
true,halt)
}
if ($did == 18) { sockclose idlebot | $iif($input(Socket Bot
has been disconnected.,iok2) == true,halt) }
if ($did == 27) {
if ($did(28) != $null) && ($did(29) != $null) { .sockwrite -
n idlebot privmsg $did(28) $did(29) | $iif($input(Message
sent.,iok1) == true,halt) }
elseif ($did(28) == $null) && ($did(29) != $null) {
$iif($input(No username/chan specified.,iok1) == true,halt) |
return }
elseif ($did(28) != $null) && ($did(29) == $null) {
$iif($input(No message specified.,iok1) == true,halt) | return }
else { $iif($input(This function doesn't work with no
data.,iok1) == true,halt) | return }
}
if ($did == 35) {
if ($did(34) == $null) { $iif($input(No nick
specified.,iok1) == true,halt) | return }
else { .sockwrite -n idlebot nick $did(34) |
$iif($input(Bot's nick is now $did(34) $+ ,iok1) == true,halt) }
}
if ($did == 25) {
if ($sock(idlebot)) { $iif($input(Socket is ON.,iok1) ==
true,halt) }
else { $iif($input(Socket is OFF.,iok1) == true,halt) }
}
if ($did == 21) { .sockwrite -n idlebot join $did(20) | did -a
winbnc 20 $did(20,seltext) }
if ($did == 22) { .sockwrite -n idlebot part $did(20) | did -d
winbnc 20 $did(20).sel } } }
19
Zaključak
IRC predstavlja najsavremeniji vid brze komunikacije i veoma je popularan servis na Interentu, koji omogućava prijem i slanje pisane reči
putem interneta. Praktično, prenos podataka se vrši kroz mrežu, putem koje su svi računari povezani, zbog čega možemo reći da je internet
ogromna mreža koja povezuje milione račinara. Nije preterano reći da se nove stvari smišljaju gotovo u trenutku. Jasno se nameće zaključak, u kojoj meri je jednostavan način korišćenja, odnosno funkcionisanja
mIRCa i u kolikoj meri olakšava i ubrzava komunikaciju izmeĎu više učesnika.
Iako ga programeri ne ubrajaju u „prave” programske jezike, mIRC
scripting jezik je odlično mesto za početak, ako se neko interesuje za programiranje i shvatanje kodova. Samim tim što je veoma opširan, on
nam daje tu mogućnost da naučimo o svemu po nešto; od prenosa podataka preko socketa, do pravljenja grafičkog korisničkog interfejsa i povezivanja grafičkog dela sa funkcijama.
U komunikaciji na internetu važe takozvane Netikete (bonton za internet),
kojih se treba pridržavati, ali se na IRC serverima često to ne praktikuje; pored te činjenice, treba se pristojno ponašati i na IRCu, jer naravno, pre
svega je važno biti čovek, a zatim sve ostalo.
20
Literatura
Wiki IRC - http://en.wikipedia.org/wiki/Internet_Relay_Chat
Wiki scripting - http://en.wikipedia.org/wiki/MIRC_scripting_language
Wiki mIRC - http://en.wikipedia.org/wiki/Mirc
Socket Tutorial - www.mircscripts.org/showdoc.php?type=tutorial&id=1541
Socket Tutorial 2 - http://www.zigwap.com/mirc/sockets.php
Wiki BNC - http://en.wikipedia.org/wiki/BNC_(software)
BNC Installation - http://www.lunarshells.com/install_psybnc.php
mIRC help file ( $scriptdirmirc.hlp )