XMPP

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. února 2022; kontroly vyžadují 6 úprav .
XMPP
Port/ID 5222 a 5269
 Mediální soubory na Wikimedia Commons

XMPP ( X tensible  M essaging and Presence P protokol "  Extensible Messaging and Presence Protocol " ) , dříve  známý Jabberjako otevřený , volně použitelný protokol založený na XML pro rychlé zasílání zpráv a informace o přítomnosti ( viz seznam kontaktů  ) v téměř reálném čase. Protokol byl od počátku navržen tak, aby byl snadno rozšiřitelný, podporuje kromě textových zpráv také přenos hlasu , videa a souborů po síti .

Rozšiřitelnost protokolu je navržena tak, aby do jedné komunikační sítě přidala instant messenger, sociální sítě, stránky používající různé, nekompatibilní standardy. Velké společnosti měly otevřít komunikaci server-to-server s ostatními IM a popsat své metody šifrování, přenosu médií a dalších dat prostřednictvím publikování rozšíření XMPP. Rozšíření budou přijata nebo odmítnuta globální komunitou podle způsobu, jakým jsou nejvíce distribuovány, ale základní funkce pro zasílání zpráv pro uživatele různých messengerů budou vždy k dispozici. Ve skutečnosti se tento nápad nedočkal řádné distribuce a většina velkých společností neotevřela svým uživatelům možnost komunikace s jinými službami.

Na rozdíl od komerčních systémů pro rychlé zasílání zpráv, jako jsou AIM , ICQ , WLM a Yahoo , je XMPP federovaný , rozšiřitelný a otevřený. Kdokoli může spustit svůj vlastní server pro rychlé zasílání zpráv, registrovat na něm uživatele a komunikovat s jinými servery XMPP. Mnoho soukromých a podnikových serverů XMPP je již otevřeno na základě protokolu XMPP. Mezi nimi jsou nebo byly velké projekty jako Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Historie

Projekt Jabber založil Jeremy Miller na začátku roku 1999 s vývojem serveru jabberd [5] . Projekt byl poprvé ohlášen 4. ledna 1999 na webu Slashdot [6] . Toto datum je považováno za narozeniny technologie [7] . Krátce poté se k projektu připojilo několik klíčových vývojářů a začali pracovat na serveru jabberd, klientech Windows a GNU/Linux a branách do hlavních systémů rychlého zasílání zpráv (AIM, ICQ, MSN a Yahoo). Později, v roce 1999, začala Webb Interactive Services sponzorovat základní vývojáře, což urychlilo proces vytváření projektu. V té době se objevil základ protokolu Jabber, stejně jako server jabberd a raní klienti jako WinJab (zastaralý a vyvinutý v Exodu ) a Gabber. Toto rané období neustálých změn skončilo v květnu 2000 vydáním jabberd 1.0.

Raný protokol Jabber tvořil základ pro standard XMPP publikovaný jako RFC 3920 . Toto je často považováno za začátek soupeření s SIMPLE , založeným na protokolu SIP , jako standardním protokolem pro rychlé zasílání zpráv a informace o přítomnosti.

Od srpna 2001 je protokol Jabber pod kontrolou nadace Jabber Software Foundation (Jabber Software Foundation byla 16. ledna 2007 přejmenována na XMPP Standards Foundation [8] ), aby byla přesněji popsána její práce na vývoji rozšíření samotného protokolu, na rozdíl od vývojové řady programu se stejnojmenným názvem.

Společnost Jabber Inc. vyvíjí dva projekty – Jabber Extensible Communications Platform (Jabber XCP) a JabberNow. Prvním je framework a druhým softwarové a hardwarové řešení (speciálně sestavený a nakonfigurovaný počítač). Jabber.org je stále aktivní. Investoři projektu Jabber jsou Jona, Inc. , France Telecom , Intel Capital a Webb Interactive Services, Inc. [jeden]

V srpnu 2005 Google představil Google Talk  , kombinaci VoIP a komunikačního klienta, který používá XMPP pro funkci zpráv a jako základ pro přenos hlasu a souborů. Počáteční spuštění služby Google nepodporovalo komunikaci server-to- server , ale 17. ledna 2006 byla tato schopnost přidána [9] . V květnu 2013 však Google oznámil, že postupně ukončí podporu komunikace server-to-server kvůli propagaci jejich služby Google Hangouts [10] . Navzdory oficiálním prohlášením však Google Talk stále podporuje XMPP [11] [12] .

Protokol

Rodina protokolů XMPP byla přijata jako standard RFC [13] . Standardní port pro XMPP je 5222 [14] . V případě problémů s firewallem je také možné použít port 80 a/nebo 443 [15] . Protokol popisuje komunikaci klient-server (c2s) a interserver (s2s). Messenger s povoleným XMPP nemusí dodržovat standard c2s, aby mohl být federován přes s2s s jinými messengery XMPP.[ co? ] Řada XMPP messengerů s registrací podle telefonního čísla vám neumožňuje používat jiné XMPP klienty nebo se připojovat k jiným serverům, ale jejich servery podporují federovanou komunikaci (interagují s jinými XMPP servery).

Výhody

Slabé stránky

Rozšíření XMPP

Protokol XMPP obsahuje pouze základní rámec pro předávání zpráv. K implementaci dalších funkcí se používají rozšíření XEP (XMPP Extension Protocols). Modulární systém vám umožňuje sestavit systémy založené na XMPP, a to jak pro zasílání zpráv, tak pro přenos dat zařízení IoT a další úkoly. Klienti Jabber vyžadují podporu příslušných rozšíření, aby správně fungovaly. Některé z nejdůležitějších klientů XMPP, se kterými lze pracovat, jsou rozšíření:

Boti

Konferenční roboti jsou v Jabberu velmi populární . Jsou široce používány k ochraně konferencí před spamem , jako cenzor , k vedení různých statistik, k analýze webových stránek (vtipy, zprávy atd.), k vytváření „mostů“ mezi chaty , k vedení protokolů, ke správě konferencí atd. . Funkčnost xmpp botů a jejich rozsah jsou omezeny pouze představivostí jejich vývojářů.

Pozoruhodní roboti

Adresování

Každý uživatel v síti Jabber má jedinečný identifikátor – Jabber ID (zkráceně JID ). Adresa JID, stejně jako e-mailová adresa, obsahuje uživatelské jméno a název domény serveru, kde je uživatel registrován, oddělené znakem @ . Například uživatel registrovaný na serveru example.com bude mít adresu: už[email protected].

Uživatel může mít několik připojení současně, která se odlišují dalším atributem JID zvaným prostředek a přidaným lomítkem na konec adresy. Nechte například úplnou adresu uživatele už[email protected]/práce, pak zprávy odeslané na adresu už[email protected] dorazí na zadanou adresu bez ohledu na název zdroje, ale zprávy na adresu už[email protected]/práce se dostanou na zadanou adresu pouze v případě, že je připojen odpovídající zdroj.

JID lze také použít bez explicitního uživatelského jména (s názvem zdroje nebo bez něj) pro systémové zprávy a pro řízení dostupnosti na serveru.

Připojení k jiným protokolům

Užitečnou funkcí systémů XMPP jsou transporty neboli brány , které uživatelům umožňují přístup k sítím pomocí jiných protokolů. Mohou to být jiné protokoly pro rychlé zasílání zpráv, IRC nebo protokoly jako SMS a e- mail .

Na rozdíl od víceprotokolových klientů poskytuje XMPP přístup na úrovni serveru prostřednictvím komunikace prostřednictvím speciálních služeb brány běžících na vzdáleném počítači.

Každý uživatel se může "zaregistrovat" u jedné z těchto bran poskytnutím informací potřebných pro přihlášení do sítě a může komunikovat s uživateli sítě, jako by byli uživateli sítě Jabber. To znamená, že jakýkoli klient, který plně podporuje XMPP, může být použit pro přístup k jakékoli síti, pro kterou existují brány, bez jakéhokoli dalšího kódu v klientovi a bez toho, aby klient musel mít přímý přístup k internetu.

Implementace bran je specifická pro konkrétní XMPP server a podléhá nestabilitě kvůli uzavřené povaze komerčních IM služeb.

Příklady globálních integrací XMPP

Vysoká odolnost proti chybám a nízká režie serverů XMPP [36] povzbuzuje řadu velkých společností k používání XMPP jako základní platformy pro vytváření soukromých zpráv a chatů a také pro doručování push notifikací [37]

Software

XMPP servery

Klienti XMPP

Podle statistik veřejného XMPP serveru 404.city [48] (za léto 2017) jsou nejoblíbenějšími klienty pro desktopy a notebooky Pidgin a Psi+ . Na Androidu vedou Xabber a Conversations.

Pro PC a notebooky
  • Miranda NG  je multiprotokolový messenger pro MS-Windows s podporou OTR , PGP , OMEMO a vlastním pluginem SecureIm založeným na otevřené knihovně Crypto++
  • Pidgin  je multiplatformní klient s podporou OTR , PGP . OMEMO je podporováno prostřednictvím zásuvného modulu v testovacím režimu.
  • Psi  je multiplatformní klient, který podporuje OTR , PGP , OMEMO .
  • Psi+  je vylepšená verze klienta Psi XMPP (všechny nové funkce se nejprve objevují v Psi+ a poté se postupně portují na Psi ).
  • Gajim  je multiplatformní klient, který podporuje OTR , PGP , OMEMO .
  • Dino je klient pro rodiny Linux a BSD s podporou OMEMO . Napsáno v jazyce Vala pomocí sady nástrojů GTK
Pro Android
  • Pix-Art Messenger  je fork slavného klienta Conversations s dalšími funkcemi. Velký výběr serverů. Podporuje OMEMO, OTR, OpenPGP.
  • Xabber  je klient XMPP s podporou OTR , PGP .
  • Konverzace  - XMPP klient s podporou OTR (od verze 2.0.0 tato funkce není podporována), PGP , OMEMO . Je možné posílat obrázky, soubory různých typů, zeměpisné souřadnice, nahrávat a odesílat hlasové zprávy.
  • IM+  je multiprotokolový messenger s OTR .
  • yaxim.

Pro iOS

  • ChatSecure  je klient XMPP s podporou OTR , OMEMO od týmu The Guardian Project .
  • Zom  je XMPP klient s podporou OTR , OMEMO . Jedná se o odnož projektu ChatSecure . Podpora pro odesílání souborů a hlasových zpráv.

Viz také

Poznámky

  1. 1 2 Jabber Inc. — O nás Archivováno 3. července 2007.
  2. Facebook Developers: Chat API (downlink) . Získáno 7. července 2016. Archivováno z originálu dne 25. září 2015. 
  3. Yandex přestává podporovat Jabber a nikdo o tom neví / Geektimes . Získáno 28. listopadu 2016. Archivováno z originálu 29. listopadu 2016.
  4. Yandex po zbytku zavře svůj jabber server / Geektimes . Získáno 28. listopadu 2016. Archivováno z originálu 29. listopadu 2016.
  5. Historie XMPP . Získáno 8. září 2009. Archivováno z originálu 12. února 2011.
  6. Otevřete systém zasílání zpráv v reálném čase
  7. Blogový příspěvek od Petera St. André  (mrtvý odkaz)
  8. Jabber Software Foundation přejmenována na XMPP Standards Foundation  : [Tisková zpráva] :   (odkaz dolů)  : [ eng. ]  : [ arch. 21. ledna 2007 ] // xmpp.org. - XSF, 2007. - 16. ledna.
  9. Gary Burd. Federace XMPP (17. ledna 2006). Získáno 30. listopadu 2007. Archivováno z originálu 21. srpna 2011.
  10. Sean Gallagher. Google nepovolí spojení server-to-server (17. května 2013). Datum přístupu: 20. května 2013. Archivováno z originálu 20. května 2013.
  11. Google FAQ: Open Communications . Získáno 7. července 2016. Archivováno z originálu 5. října 2016.
  12. Blog XMPP: Ne, není to konec XMPP pro Google Talk . Získáno 7. července 2016. Archivováno z originálu 17. června 2016.
  13. XMPP RFC . Získáno 8. září 2009. Archivováno z originálu 17. září 2009.
  14. Mohu používat Jabber, když jsem za firewallem? Archivováno z originálu 20. května 2007. JabberLive!, 9. března 2007
  15. Jabber dostupný za firewallem nebo proxy. zdarma . Získáno 23. května 2022. Archivováno z originálu dne 25. ledna 2021.
  16. Psi . Získáno 24. ledna 2009. Archivováno z originálu 1. listopadu 2020.
  17. Kopete OTR plugin . Datum přístupu: 24. ledna 2009. Archivováno z originálu 17. října 2008.
  18. Miranda GnuPG Plugin Archivováno 20. prosince 2010.
  19. Standards-JIG] Distribuce typů stanz . Získáno 14. srpna 2009. Archivováno z originálu 15. června 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Získáno 14. srpna 2009. Archivováno z originálu 10. června 2009.
  21. XEP-0138: Komprese proudu . Získáno 14. srpna 2009. Archivováno z originálu 15. srpna 2009.
  22. Metody komprese protokolu zabezpečení transportní vrstvy . Získáno 14. srpna 2009. Archivováno z originálu 12. října 2009.
  23. Standards-JIG] Problémy s provozem MUC . Získáno 14. srpna 2009. Archivováno z originálu 10. května 2009.
  24. Neutron (Jabber bot) . Získáno 20. července 2011. Archivováno z originálu 22. srpna 2011.
  25. Google Trends . Získáno 5. 5. 2013. Archivováno z originálu 8. 10. 2016.
  26. fatal-dev . Získáno 26. listopadu 2011. Archivováno z originálu dne 27. května 2013.
  27. Bot Snapi XMPP . Datum přístupu: 20. července 2011. Archivováno z originálu 24. dubna 2014.
  28. Bot BlackSmith XMPP . Získáno 4. prosince 2011. Archivováno z originálu 18. září 2011.
  29. BlackSmith mark.2 (Nový bot XMPP) . Získáno 20. července 2011. Archivováno z originálu dne 25. listopadu 2011.
  30. Taho na GoogleCode . Datum přístupu: 20. července 2011. Archivováno z originálu 28. února 2011.
  31. pako - Pako Jabber bot (C#) . Získáno 14. srpna 2013. Archivováno z originálu dne 7. října 2013.
  32. Disabler Production LabAratory . Staženo 11. února 2020. Archivováno z originálu 16. února 2020.
  33. Největší XMPP server v Rusku . Získáno 16. července 2004. Archivováno z originálu 29. července 2004.
  34. Průvodce stylem Pythonu . Datum přístupu: 20. července 2011. Archivováno z originálu 29. října 2009.
  35. a7x-im (vývojáři botů Erl) . Získáno 20. července 2011. Archivováno z originálu 8. února 2011.
  36. ejabberd Masivní škálovatelnost: 1 uzel – 2+ miliony souběžných uživatelů | Blog ProcessOne . Získáno 22. června 2018. Archivováno z originálu 22. června 2018.
  37. XMPP | Použití XMPP . Získáno 22. června 2018. Archivováno z originálu 22. června 2018.
  38. ejabberd & Nintendo Switch NPNS | Blog ProcessOne . Staženo 5. června 2019. Archivováno z originálu 5. června 2019.
  39. NSA používá pro chaty protokol Jabber - "Hacker" . Získáno 24. června 2018. Archivováno z originálu 25. června 2018.
  40. DCS (Defence Collaboration Services), které poskytují zabezpečené webové konference a služby rychlého zasílání zpráv v sítích NIPRNet (Nezabezpečený internetový protokol Router Network) a SIPRNet (Secure Internet Protocol Routing Network) a chatu s protokolem Extensible Messaging and Presence Protocol (XMPP) . Získáno 17. září 2019. Archivováno z originálu 9. září 2019.
  41. Vojenské formuláře využívající XMPP . Získáno 10. června 2019. Archivováno z originálu 19. dubna 2019.
  42. EU-Parlament empfiehlt Jabber statt WhatsApp a prüft Signal | heise online . Získáno 19. října 2019. Archivováno z originálu 19. října 2019.
  43. Die Bundespolizei setzt hingegen auf den offenen XMPP-Standard. Ein Messenger auf XMPP-Basis befinde sich derzeit in Probebetrieb, heißt der der Antwort auf eine kleine Anfrage der FDP . Staženo 3. prosince 2019. Archivováno z originálu dne 3. prosince 2019.
  44. Software XMPP: Servery . Nadace standardů XMPP . Získáno 12. února 2009. Archivováno z originálu 21. srpna 2011.
  45. Tigas XMPP Server | Tigase.net . tigase.net. Staženo 15. září 2019. Archivováno z originálu 30. dubna 2019.
  46. Wokkel . wokkel.ik.nu. Staženo 15. září 2019. Archivováno z originálu 8. září 2019.
  47. Vydán Xabber Server v.0.9 alpha  . Blog Xabber (13. září 2019). Staženo 15. září 2019. Archivováno z originálu 14. prosince 2019.
  48. Statistika (downlink) (9. srpna 2017). Získáno 18. dubna 2018. Archivováno z originálu 9. srpna 2017. 

Odkazy