
Alternatíva pre ICQ - JABBER!!
Týmto spôsobom by som chcel pripomenúť, že ICQ nie je jedinou IM službou. Nebudem opisovať chyby a nedostatky ICQ, ale odporúčal by som preštudovať stránku icq.xmpp.cz - "Proč je veřejná síť lepší než ICQ".
Na začiatok by som mal ozrejmiť pojmy. Jabber a ani ICQ nie je protokol, ale názov služby. Protokol pre jabber sa nazýva XMPP (Extensible Messaging and Presence Protocol) a protokol ICQ služby sa nazýva OSCAR.
Tento komunikačný protokol je sada príkazov (jazyk), ktoré si jednotliví klienti medzi sebou posielajú.
Ale ja som chcel opísať trošku Jabber. Ani nie tak presviedčať ľudí na jeho prechod, ale skôr upozorniť na jeho technológiu, vymoženosti a jeho výhody. Asi tu budem písať aj veci, ktoré bežný užívateľ nepochopí, ale budem sa snažiť opisovať zrozumiteľne
.
Zopár poznatkov:
- XMPP pôvodne vznikol ako protokol pre instant messaging sieť Jabber. Ukázalo sa ale, že okrem IM môže byť použitý aj pre vzájomnú komunikáciu programov alebo pre ovládanie rôznych automatických služieb (botov).
- Je adaptovaný ako štandard Internetu do RFC dokumentov a jeho základ je štandardizovaný rovnako ako e-mail alebo HTTP.
- XMPP je otvorený protokol založený na XML prúdoch (XML streams) (vďaka čomu si každý môže vytvoriť vlastné funkcie, vlastný server,...).
- Jabber je založený na distribuovaných serveroch po internete, ku ktorým sú pripojení klienti, a ktoré medzi sebou komunikujú. Výhodou je, že výpadok serveru ovplyvní iba užívateľov, ktorí majú účet
na tomto serveri.
- Decentralizácia Jabber siete znamená, že nie je závislá na jednej firme alebo jednom konkrétnom serveri. Môžete si teda samovoľne vybrať server podľa rôznych kritérií.
- Služba Jabberu, server i väčšina klientov je publikovaná pod licenciu GNU GPL.
- Na komunikáciu
klient-server sa používa štandardný port [5222]
alebo starší [5223].
- Dátový tok sa spravidla šifruje pomocou TLS. V prípade, že chcete zaistiť komunikáciu viac, môžete šifrovať správy pomocou PGP, SASL.
XMPP Extension Protocol (XEPs)
Tu by som opísal niektoré zaujímavé XEPs (okrem tých základných ako sú posielanie správ, podpora avatarov, posielanie súborov bytestream proxy a pod.). Pre vysvetlenie - XEP je vlastne zdokumentované rozšírenie XMPP. Dalo by sa to charakterizovať aj ako vlastnosť. Je iba na serveri, či ten ktorý XEP implementuje medzi svoje jabber služby. Na druhej strane to musí podporovať aj klient.
- XEP-0016 — Privacy Lists - ide o lepšiu kontrolu ochrany súkromia. Je možné vytvoriť si rôzne zoznamy a profily a jednoducho medzi nimi prepínať a čo je dôležitejšie, ide o server-side blokovanie.
- XEP-0030 — Service Discovery - funkcia serveru, ktorá umožňuje pomocou klienta jednoducho prechádzať, používať a registrovať ďalšie služby (napr. transporty, vyhľadávanie kontaktov,...)
- XEP-0045 — Multi-User Chat - MUC je textová konferencia, čiže súčasne je možné komunikovať s viacerými užívateľmi.
- XEP-0048 — Bookmark Storage - záložky pre obľúbené MUC miestnosti s nastavením svojho nicku a s možnosťou automatického pripojenia do miestnosti (auto-join) (server-side).
- XEP-0054 — vcard-temp - vCard je vizitka každého užívateľa. Obsahuje základné informácie ako meno, email, fotka,...
- XEP-0085 — Chat State Notifications - upozorňuje na stav chatu v situáciách kedy užívateľ píše, prerušil písanie, neúčastňuje sa diskusie alebo zavrel komunikačné okno.
- XEP-0107 — User Mood - je to niečo na spôsob xStatus (rozšírený status) v ICQ.
- XEP-0138 — Stream Compression - mechanismus kompresie dátového toku (streamov).
- XEP-0146 — Remote Controlling Clients - slúži na vzdialené ovládanie ďalšieho klienta (napr. zmena statusu, preposlanie neprečítaných správ, posielanie súborov zo vzdialeného klienta,...) pomocou Ad-Hoc Commands
Server JABBIM a jeho služby
1. Transporty - mohli by sme ich charakterizovať ako špeciálne agenty alebo služby, ktoré zabezpečujú prenos správ do proprietárnych systémov (ICQ, AIM, RSS-služba, atd.). Čiže ak chceme z klienta Jabber poslať správu napr. do ICQ, pošle sa najprv na server Jabber, kde je predaná transportu určenému ICQ, ktorý túto správu prevedie do protokolu pre ICQ. A naopak.
- Chatroom – MUC – Multi User Chat - základná služba, ktorá umožňuje vytváranie diskusných miestností podobne ako IRC. Môžme vytvárať a rušiť miestnosti, môžeme pozývať používateľov do
miestnosti, vytvárať moderované miestnosti tzv. whitelisty a banlisty,...
- Protokoly - ICQ - PyICQt pri VIP účte (platenom) podporuje všetko okrem FT, obyčajný JIT transport slúži iba pre prenos správ, AIM, MSN, Yahoo!, Gadu-Gadu.
- IRC, RSS, SMS (do sietí O2 a Vodafone v Česku).
- Weather - aktuálne počasie je znázornené statusom (aj zo Slovenska) .
- SMTP (e-mail) - umožňuje cez SMTP posielať a prijímať e-maily cez jabber.
- Dictionary - je to slovník, ktorý prekladá medzi dvomi svetovými jazykmi (prekladá iba slová, ktoré neskloňuje a nečasuje.
2. Boti -
Robot je služba (program), ktorá se pripojuje k Jabberu a tvári sa ako bežný užívateľ. Väčšinou boti plnia konkrétne obmedzené funkcie (odpovedia na otázku alebo vykonajú príkaz). Bot môže byť buď úplne nezávislý, alebo je súčasťou transportu.
- NetlabBot - je prítomný vo všetkých väčších Jabber MUC miestnostiach conf.netlab.cz. Napr. miestnosť miranda.cz má bota Mirinda. Je možné si ho pridať ako samostatný kontakt a po zadaní príkazu si viete napr. vyhľadať autobusové a vlakové spoje, chemické prvky, program kín, zobrazí náhodné citáty z lameru, a tiež obsahuje google vyhľadávač.
- WebStatus - slúži na zobrazovanie statusu JID na webovej stránke pričom si môžme vybrať z rôznych sád ikoniek.
- Jabber Disk -
je služba, ktorá slúži ako úschovňa súborov s 101MB priestorom (u VIP až 1,5GB). Funguje ako bežný FT. Súbory sa ukladajú buď ako Private alebo Public. Novou službou je aj Album, ktorý slúži ako public webový album (fotky sa pridávajú podobne ako pri JDisk z klienta).
- Jabbim Live! (blog) -
Po zaregistrovaní sa na stránke jabbim live! a po pridaní si príslušného bota do rosteru je možné priamo z klienta posielať nové príspevky do blogu vytvoreného na live.jabbim.cz.
Klienti
Jabber je multiplatformový, to znamená že na každú platformu existuje alebo je možné napísať klienta. Preto existujú klienti pre OS Windows, Linux, MacOS, J2ME,... (kompletný zoznam nájdete napr. na jabber.org alebo na jabber.cz).
Nechcem písať, ktorý je lepší a ktorý by ste mali používať.
Spomenul by som menovite iba najpoužívanejšie a najrozšírenejšie, v ktorých sú vyššie spomenuté XEP rozšírenia implementované.
Desktopové (grafické) |
Multiprotokolové |
Konzolové |
Webové |
Mobilné |
Jabber Servery |
| Adium (MacOS) |
Miranda (Windows) |
GNU freetalk |
JWChat |
Bombus |
jabberd |
| Gajim (multi) |
QIP Infium (Windows) |
centerIM |
Muckl |
Bombus_mod |
ejabberd |
| Psi (multi) |
Pidgin (multi) |
|
Meebo |
|
Openfire |
| Tkabber (multi) |
|
|
|
|
|
Registrácia účtu : (Spomeňte si, keď ste sa registrovali na ICQ
, pričom registrácia prebieha priamo cez klienta)
- rozhodnite sa pre server (doporučujem český jabbim s doménami napr. jabbim.sk, jabber.cz, jabber.com,... alebo Gmail)
- zadáte svoje meno a heslo
- Hotovo, učet (tzv. JID) v tvare [meno@server/resource] je vytvorený.
resource (zdroj) - rozlišuje jednotlivé pripojenia k serveru. Koncept zdroja
umožňuje, aby bol ten istý užívateľ prihlásený na viacerých miestach naraz -
doma, v práci, prípadne pomocou svojho mobilného zariadenia (napr.
meno@server/doma a zároveň meno@server/mobil). Ak sme pripojení na viacerých klientoch, tak sa
príjem správ riadi podľa priority.
Prečo Jabber? (výhody)
- ide o nekomerčnú aktivitu, preto je používanie zadarmo a nezobrazujú sa žiadne reklamy,
- dokážete sa pripojiť z viacerých miest naraz a pomocou príkazov z klienta viete ovládať každé jedno pripojenie (remote controlling),
- spojí vás s používateľmi všetkých konkurenčných IM sietí pomocou transportov,
- podporuje množstvo služieb,
- môžete si vybrať klientsky program, ktorý použijete, i server, na ktorý sa prihlasujete (decentralizmus)
- je bezpečný. So serverom sa môžete spojiť pomocou SSL a používať šifrovanie a digitálny podpis PGP,
- môžete prevádzkovať vlastný server.
Čo Jabberu ešte chýba? (nevýhody)
- nemožnosť prevodu JID medzi servermi
- malý počet užívateľov (v našich končinách)
- pomalý vývoj VoIP (čaká sa na implementáciu rozšírenia Jingle do klientov)
A ešte jeden citát od kolegu MiCHi-ho: "... Používej mozek, používej Jabber :o) ..."