] > Karol „Zal” Zalewski - Blog - http://blog.4zal.net/kategoria/informatyka/xmpp-jabber/

Miniblog: Psi 0.14

2009-12-03, Czwartek 02:29:20 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Kilka godzin temu wydano kolejną wersję, tym razem 0.14, mojego ulubionego komunikatora XMPP, czyli Psi. Niestety, o ile poprzednia wersja wprowadziła naprawdę wiele zmian (m.in. rozmowy głosowe dzięki Jingle), tak większość prac dot. obecnego wydania dotyczy w głównej mierze detali. Kolorki w oknach, polecenia z poziomu CLI, eksterminacja bugów itp.

Cóż, bywa i tak.

Miniblog: Teabot

2009-11-22, Niedziela 16:00:11 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Sporo osób zna zapewne Infobota dostępnego użytkownikom sieci GG. Proste i całkiem użyteczne narzędzie udostępniające z poziomu komunikatora użyteczne informacje (np. aktualny kurs walut, słownik ang-pol itp.). Ma ono jednak jedną, zasadniczą wadę - nie jest dostępne dla użytkowników XMPP. I tutaj pojawia się z pomocą Teabot.

Teabot to prosty, łatwy i przyjemny polski bot XMPP, którego kod udostępniony został na wolnej licencji GNU AGPL 3.0. Nie jest może jeszcze tak dojrzały, jak Infobot, ale posiada już całkiem bogatą funkcjonalność: słownika, pogodynki, narzędzia skracającego linki, czy też pokazującego status naszego konta XMPP (Status XMPP) itp.

Ze swojej strony polecam się z nim przynajmniej zapoznać.

Miniblog: Jabber/XMPP i Facebook

2009-11-16, Poniedziałek 10:29:47 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Wszystkie znaki na niebie i ziemi wskazują, że Facebook przymierza się do tego, aby udostępnić swój wewnętrzny chat na zewnątrz w formie XMPP. Można z tego wywnioskować, że z pewnością pojawi się wsparcie dla client-to-server - pytanie, czy i na s2s można liczyć?

Miło widzieć, że XMPP się upowszechnia. Teraz wystarczy poczekać na ruch ze strony lokalnych serwisów społecznościowych.

XMPP we własnej domenie i hosted.IM

2009-11-15, Niedziela 13:51:28 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Do tej pory, do obsługi Jabbera/XMPP we własnej domenie korzystałem z Google Apps. Problem z Google Apps polega na tym, że niestety nie jest to usługa najwyższej jakości. Owszem, jest darmowa, stabilna i ładnie zintegrowana z resztą usług dostępnych w GAFYD, ale implementacja XMPP w wykonaniu Google pozostawia wiele do życzenia. Okazuje się jednak, że nie jestem skazany do korzystania z usług Google.

Serwis hosted.IM będący własnością firmy ProcessOne udostępnia możliwość darmowego wykorzystania ich serwerów do obsługi XMPP we własnej domenie. Całość oparta jest o ejabberd, więc nie trzeba martwić się o kwestię zgodności ze standardami XMPP. Haczyk? Usługa umożliwia podpięcie jedynie 10 użytkowników pod każdą z dodanych domen, większa ich liczba wymaga wykupienia płatnej opcji u ProcessOne.

Prowadzę obecnie testy na jednej z moich subdomen i planuję migrację z Google Apps do hosted.IM.

Bonjour, Avahi i XMPP

2009-11-11, Środa 22:48:55 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Zaczęło się niewinnie, od bliższego przyjrzenia się Empathy oraz Pidginowi i dostrzeżenia możliwości utworzenia kont „Bonjour” oraz „People nearby”. Szybki test i spojrzenie do Wikipedii. Okazuje się, że to leciwe już rozwiązanie (okolice 2005 roku), jest całkiem przydatne. Ten sposób komunikacji oparty o implementacje Zeroconf (np. wieloplatformową Bonjour, czy też linuksową Avahi), znany pierwotnie z iChata (MacOS), pozwala na rozmowę z innymi uczestnikami sieci lokalnej bez konieczności udziału serwera pośredniczącego np. XMPP. To bardzo miłe udogodnienie, szczególnie, kiedy mowa o uczelnianych laboratoriach komputerowych oraz sieciach bezprzewodowych tworzonych „ad hoc”.

Co więcej, od samego początku bazował on na Jabberze, a obecnie opisany został w XEP-0174. Dzięki temu znany z MacOS-a iChat, linuksowy Empathy, czy też wieloplatformowy Pidgin są w stanie komunikować się między sobą bez uczestnictwa centralnego serwera. Miło byłoby, gdyby i w Psi kiedyś się to pojawiło.

Miniblog: Google Apps, XMPP i ochrona przed floodem

2009-10-19, Poniedziałek 20:18:00 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Dzięki doświadczeniu przeprowadzonemu przez Psychola (nie, nie kupię ci Lemmingów) wiemy już, że GTalk posiada pewne zabezpieczenie przed floodem. Po intensywnym wysyłaniu przez użytkownika wiadomości zawierających hiperłącza jest on ograniczany poprzez nałożenie blokady. Blokada ta jest krótkotrwała (przypuszczalnie około minuty) i objawia się tym, iż każda próba wysłania wiadomości zawierającej link kończy się niepowodzeniem (kod 503 - „service-unavailable”).

Co ciekawe, sam „feature” nigdzie nie jest opisany. Ciekaw jestem przed czym się jeszcze bronią i w jaki sposób.

Miniblog: Otwarty Tlen?

2009-09-30, Środa 12:12:57 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Czyżby kolejny transport mógł spokojnie zniknąć z rostera? Co prawda, aby skorzystać z tlenowego konta nadal należy używać klienta zgodnego z Tlenem, ale S2S jest już aktywne i działa z serwerami XMPP.

Nie jest to może idealne rozwiązanie, ale podoba mi się - XMPP, jako język uniwersalny. To teraz jeszcze tylko GaduGadu?

VoIP (SIP) we własnej domenie

2009-09-15, Wtorek 19:23:17 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Telefonia internetowa zyskała popularność już jakiś czas temu. Protokołów z nią związanych jest kilka, a do tych najpowszechniej stosowanych można zaliczyć otwarty SIP oraz własnościowy Skype. Na horyzoncie pojawił się również Jingle, protokół bezpośrednio związany z XMPP (m.in. XEP-166 oraz XEP-167), a rozwijany i wykorzystywany głównie przez Google w GTalku. Z racji swej otwartości (zarówno specyfikacji, jak i googlowej implementacji) powoli pojawia się również w takich komunikatorach, jak Psi, czy też Pidgin. Można więc przypuszczać, iż niedługo zyska na popularności.

I tutaj pojawia się pewien problem. Jak poradzić sobie taką różnorodnością protokołów? Rozwiązaniem problemu mogą być usługi konstruowane na wzór transportów znanych z XMPP, a zajmujące się tłumaczeniem jednego protokołu na drugi. Jednym z popularniejszych usługodawców w tym zakresie jest GTalk2VoIP, który pozwala na darmowe połączenia między użytkownikami Jingle oraz SIP-a. Co więcej, udostępnia również możliwość podpięcia całej usługi pod własną domenę. Dzięki temu ten sam adres może służyć do wymiany poczty oraz komunikacji poprzez XMPP, Jingle, czy też SIP. Jednak rozwiązanie takie ma oczywiście swoje wady. Przy czym najpoważniejszą najpoważniejszą według mnie jest naruszenie bezpieczeństwa komunikacji poprzez dodanie pośrednika.

Abstrahując od samej usługi dostarczanej przez serwis GTalk2VoIP, marzy mi się realizacja idei komunikacji zintegrowanej w przypadku typowych użytkowników komputera. Jeden adres kontaktowy, który nie tylko łączy w sobie wiele usług (poczta, IM, głos, wideo itp.) które przenikają się nawzajem, ale również wiele urządzeń (np. telefon, czy też komputer) tak, aby wyeliminować fizyczne bariery w komunikacji. Nim to jednak nastąpi mam nadzieję, że większa część klientów XMPP będzie sobie lepiej radziła z Jingle.

Miniblog: Psi 0.13

2009-07-28, Wtorek 18:19:19 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Psi 0.13 zostało wydane! Tak, jak wspomniałem, pojawiło się sporo nowości. Włącznie z rozmowami głosowymi.

Miniblog: Psi 0.13 RC 3

2009-07-12, Niedziela 11:15:24 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Dnia 2009-07-10, czyli w miniony piątek, pojawiła się trzeci kandydat do wydania 0.13 komunikatora Psi. Jeżeli wszystko pójdzie dobrze to już za tydzień, czyli 19 lipca, pojawi się właściwe wydanie wersji 0.13.

Tak, jak już wspominałem, największą nowością w nowym Psi będzie możliwość prowadzenia rozmów głosowych m.in. z innymi użytkownikami Psi oraz GTalka (mowa o klientach, a nie o usłudze).

Psi 0.13 RC2

2009-07-03, Piątek 23:33:46 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Opublikowano kolejną, czyli drugą wersję kandydującą do wydania 0.13 jednego z najbardziej popularnych komunikatorów bazujących na protokole Jabber/XMPP - Psi. Poprawiono błędy znalezione w Psi 0.13 RC1. Największe zmiany, które pojawią się w finalnej wersji, która miała zostać wydana 6 czerwca, to:

  • możliwość prowadzenia rozmów głosowych przez użytkowników Windowsa, Mac OS X i Linuksa (Jingle RTP),
  • podstawowa obsługa uchwytu XMPP URI,
  • możliwość trwałego zaufania certyfikatom w trakcie łączenia się z serwerem,
  • miniaturowy system poleceń (Ctrl+7 w oknie rozmowy) implementujący XEP-0146,
  • poprawa wielu błędów.

Wydaje się, że rozmowy głosowe to największa i najważniejsza zmiana w stosunku do poprzednich wersji. Warto jednak zwrócić uwagę na wspomniany system poleceń, który w wersji pełnowymiarowej istnieje w Psi już od jakiegoś czasu (początki w wersji 0.11). Dlaczego może być przydatny? Pozwala on kontrolować innego klienta Psi podłączonego pod to samo konto (np. zostawiliśmy włączony komunikator w pracy, a obecnie jesteśmy w domu) i np.:

  • zmienić status drugiego klienta (w tym priorytetu),
  • pobrać nieprzeczytane wiadomości znajdujące się po stronie drugiego klienta,
  • zmienić opcje klienta pod drugiej stronie (np. odtwarzanie dźwięków),
  • zaakceptować przesył oczekujących po drugiej stronie plików,
  • opuścić pokój rozmów,
  • itp.

Psi obsługuje obecnie pierwsze trzy możliwości. Jest to zdecydowanie przydatna funkcjonalność.

Miniblog: Psi 0.13 RC 1

2009-05-25, Poniedziałek 12:32:26 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Finalna wersja Psi 0.13 pojawi się najprawdopodobniej 6 czerwca br., ale już teraz można samodzielnie skompilować wersję RC1 (binaria też są dostępne). Jest to szczególnie zalecane, chociaż niekoniecznie tyczy się to wersji RC, w przypadku posiadania Ubuntu 9.04 - wielu osobom (w tym @lanowi i mi samemu) wersja z repozytorium sprawia sporo problemów.

Z większych nowości w Psi 0.13 należy wymienić możliwość prowadzenia rozmowy głosowej (MacOS i Linux) dzięki zastosowaniu Jingle RTP (XEP-166 i XEP-0167). Szkoda tylko, iż z moją obsługą wejścia mikrofonowego pod Linuksem trudno będzie tą funkcjonalność przetestować... Całość umożliwia ponoć prowadzenie rozmów co najmniej z innymi użytkownikami Psi, GTalk i Kopete.

Jabber/XMPP: Wolność wbudowana w komunikator

2009-05-12, Wtorek 18:18:38 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

XMPP to wolny standard będący następcą Jabbera stworzony przez IETF. Jest on w dużej mierze zgodny z Jabberem i w połączeniu z XEP-ami (XMPP Extension Proposal) stanowi realną alternatywę dla zamkniętych protokołów pokroju rodzimego Gadu Gadu. Oto cechy, które stanowią o jego sile:

XMPP - Logo

  • Historia - XMPP/Jabber posiada co najmniej 10-letnią historię, a co za tym idzie, istnieje wiele klientów, serwerów i usług, które go wykorzystują (patrz Google i GTalk),
  • Bezpieczeństwo - XMPP w swojej specyfikacji zawiera informacje dot. szyfrowania danych na odcinku klient-serwer (SASL, TLS), nic też nie stoi na przeszkodzie, aby wykorzystać np. GPG do szyfrowania wiadomości na odcinku klient-klient. Każdy serwer może pełnić rolę serwera prywatnego - można całkowicie zablokować możliwość kontaktu z innymi serwerami (np. sieć korporacyjna) lub też stworzyć sieć złożoną z kilku serwerów,
  • Wolny standard - XMPP to nie tylko otwarty, ale też wolny standard stworzony przez IETF, możesz go wykorzystywać we własnych aplikacjach nie bojąc się o opłaty patentowe, czy też problemy prawne,
  • Decentralizacja - wybierasz i tworzysz serwery na zasadzie podobnej do tej znanej z poczty elektronicznej (użytkownik@xmpp.example.com), nic nie stoi na przeszkodzie, aby uruchomić własny serwer XMPP,
  • Elastyczność - XMPP może być dowolnie rozszerzany. Co istotne - najważniejsze rozszerzenia (tj. XEP-y) są rozwijane przez IETF.

Stworzone na bazie artykułu Extensible Messaging and Presence Protocol znajdującego się w anglojęzycznej Wikipedii.

XMPP to tylko opis protokołu. A co z klientami oraz serwerami o niego opartymi? Wybór jest przeogromny - od rozwiązań wolnych, przez darmowe, aż po czysto komercyjne. Wystarczy zaopatrzyć się w klienta np.:

  • zaawansowany Psi,
  • popularny i rozszerzalny Pidgin,
  • przeznaczony dla użytkowników Google GTalk,
  • komórkowy Bombus,
  • i wiele, wiele innych.

Co dalej? Drugim i ostatnim krokiem jest utworzenie własnego konta na jednym z popularnych serwerów:

A może masz ochotę na własny serwer? Bezproblemowo dostosujesz go do potrzeb własnych, lub własnej firmy i nie wysilając się skorzystasz z możliwości nowoczesnego protokołu IM. Oto i oprogramowanie, które to umożliwia:

  • popularny, elastyczny i napisany w Erlangu ejabberd,
  • napisany w C jabberd2,
  • rodzimego pochodzenia, oparty o Javę Tigase,
  • i inne.

Nie pozostaje mi nic innego, jak zachęcić osoby, które nie miały styczności z Jabberem/XMPP do zapoznania się z tym rozwiązaniem i wykorzystania na co dzień. XMPP to przyszłość.

Miniblog: Jabber daleki od normalności?

2009-05-10, Niedziela 21:44:27 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Brat: Jak mogę założyć sobie Jabbera?

Ja: Przecież ty już masz konto Jabbera. Stworzyłem ci je wraz ze skrzynką pocztową w mojej domenie.

Brat: A jaki mam numer?

Ja: Numer? W Jabberze nie ma numerów. Twój identyfikator jest taki sam, jak adres e-mail.

Brat: A nie mogę mieć czegoś normalnego? Krótkiego numeru?

Na pytanie, aby podał mi "normalny" numer GG któregoś ze swoich znajomych, uzyskałem jedynie milczące spojrzenie. Prośba o podanie jakiegoś adresu e-mail poskutkowała szerokim uśmiechem na jego twarzy. Szybko się uczy.

Jabber na Twojej stronie: Hab.la

2009-05-08, Piątek 00:03:18 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Czy kiedykolwiek mieliście potrzebę nawiązania szybkiego kontaktu z osobami odwiedzającymi Waszą stronę? Korzystacie z Jabbera, a Wasi użytkownicy nawet o nim nie słyszeli? Jest na to rozwiązanie.

Hab.la to serwis umożliwiający dodanie do swojej strony skryptu napisanego z wykorzystaniem języka JavaScript pozwalającego na nawiązanie kontaktu na linii "użytkownicy Waszej strony - Wasz komunikator Jabbera". Usługa w wersji podstawowej jest dostępna za darmo i umożliwia jednoczesną rozmowę z 5 użytkownikami. Jak to wygląda? Wystarczy, że zajrzycie na stronę "o mnie" umieszczoną na moim blogu.

Zabawka? Może i tak, ale bywa przydatna i z pewnością jest bardziej funkcjonalna, niż rozwiązania typu Meebo, czy też Plugoo (także widoczne na mojej stronie).

Starsze wpisy |