XMPP

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 26 februari 2022; kontroller kräver 6 redigeringar .
XMPP
Port/ID 5222 och 5269
 Mediafiler på Wikimedia Commons

XMPP ( X tensible  M essaging and Presence Protocol "  Extensible Messaging and Presence Protocol " ) , tidigare känt som Jabber ett öppet , XML - baserat , gratis att använda protokoll för snabbmeddelanden och närvaroinformation ( se kontaktlista ) i nära realtid. Designat från början för att vara lätt att utöka, stöder protokollet överföring av röst , video och filer över ett nätverk förutom textmeddelanden . 

Protokollets utökbarhet är utformad för att lägga till snabbmeddelanden, sociala nätverk, webbplatser som använder olika, inkompatibla standarder till ett enda kommunikationsnätverk. Stora företag var tänkta att öppna server-till-server-kommunikation med andra snabbmeddelanden och beskriva deras metoder för kryptering, överföring av media och annan data genom publicering av XMPP-tillägg. Tilläggen kommer att accepteras eller avvisas av det globala samfundet på det sätt de är mest distribuerade, men den grundläggande meddelandefunktionen för användare av olika budbärare kommer alltid att vara tillgänglig. I verkligheten har denna idé inte fått ordentlig spridning, och de flesta stora företag öppnade inte möjligheten att kommunicera för sina användare med andra tjänster.

Till skillnad från kommersiella snabbmeddelandesystem som AIM , ICQ , WLM och Yahoo är XMPP federerat , utbyggbart och öppet. Vem som helst kan starta sin egen snabbmeddelandeserver, registrera användare på den och interagera med andra XMPP-servrar. Många privata och företags XMPP-servrar är redan öppna baserat på XMPP-protokollet. Bland dem finns eller fanns det stora projekt som Google Talk , Odnoklassniki.ru , LiveJournal , Juick , Facebook [2] , VKontakte , Yandex [3] [4] .

Historik

Jabber-projektet grundades av Jeremy Miller i början av 1999 med utvecklingen av jabberd-servern [5] . Projektet rapporterades första gången den 4 januari 1999Slashdot- webbplatsen [6] . Detta datum anses vara teknikens födelsedag [7] . Kort därefter anslöt sig flera kärnutvecklare till projektet och började arbeta på jabberd-servern, Windows- och GNU/Linux-klienter och gateways till de viktigaste IM-systemen (AIM, ICQ, MSN och Yahoo). Senare, 1999, började Webb Interactive Services sponsra kärnutvecklare, vilket påskyndade processen att skapa projekt. Vid den tiden dök grunden för Jabber-protokollet upp, liksom jabberd-servern och tidiga klienter som WinJab (utfasad och utvecklad i Exodus ) och Gabber. Denna tidiga period av konstant förändring slutade i maj 2000 med lanseringen av jabberd 1.0.

Det tidiga Jabber-protokollet låg till grund för XMPP-standarden publicerad som RFC 3920 . Detta ses ofta som början på en rivalitet med SIMPLE , baserat på SIP-protokollet , som standardprotokoll för snabbmeddelanden och närvaroinformation.

Sedan augusti 2001 har Jabber-protokollet varit under kontroll av Jabber Software Foundation (Jabber Software Foundation döptes om till XMPP Standards Foundation [8] den 16 januari 2007 ), för att mer exakt beskriva dess arbete med att utveckla tillägg till själva protokollet, i motsats till utvecklingslinjen för programmet med samma namn.

Jabber Inc. utvecklar två projekt - Jabber Extensible Communications Platform (Jabber XCP) och JabberNow. Den första är ett ramverk och den andra är en mjukvaru- och hårdvarulösning (en speciellt sammansatt och konfigurerad dator). Jabber.org är fortfarande aktivt. Jabber-projektinvesterare är Jona, Inc. , France Telecom , Intel Capital och Webb Interactive Services, Inc. [ett]

I augusti 2005 introducerade Google Google Talk  , en kombination av VoIP och en meddelandeklient som använder XMPP för meddelandefunktioner och som bas för röst- och filöverföringar. Den första lanseringen av Google-tjänsten stödde inte server-till- server - kommunikation, men den 17 januari 2006 lades denna funktion till [9] . Men i maj 2013 meddelade Google att de skulle fasa ut stödet för server-till-server-kommunikation på grund av marknadsföringen av deras Google Hangouts -tjänst [10] . Men trots officiella uttalanden stöder Google Talk fortfarande XMPP [11] [12] .

Protokoll

XMPP-familjen av protokoll har antagits som en RFC -standard [13] . Standardporten för XMPP är 5222 [14] . Det är också möjligt att använda port 80 och/eller 443 [15] om det finns brandväggsproblem . Protokollet beskriver klient-server (c2s) och interserver (s2s) kommunikation. En XMPP-aktiverad messenger behöver inte följa c2s-standarden för att kunna federeras över s2s med andra XMPP-budbärare.[ vad? ] Ett antal XMPP-meddelanden med registrering via telefonnummer tillåter dig inte att använda andra XMPP-klienter eller ansluta till andra servrar, men deras servrar stöder federerad kommunikation (interagerar med andra XMPP-servrar).

Fördelar

Svagheter

XMPP-tillägg

XMPP-protokollet inkluderar endast det grundläggande ramverket för meddelandeöverföring. För att implementera ytterligare funktioner används XEP-tillägg (XMPP Extension Protocols). Det modulära systemet låter dig sätta ihop XMPP-baserade system, både för meddelanden och för dataöverföring av IoT-enheter och andra uppgifter. Jabber-klienter kräver support för att lämpliga tillägg ska fungera korrekt. Några av de viktigaste XMPP-klienterna att arbeta med är tillägg:

Bots

Konferensrobotar är mycket populära i Jabber . De används ofta för att skydda konferenser från skräppost , som censor , för att upprätthålla olika statistik, för att analysera webbplatser (skämt, nyheter, etc.), för att skapa "bryggor" mellan chattar , för att föra loggar, för att hantera konferenser, och så vidare . Funktionaliteten hos xmpp-bots och deras omfattning begränsas endast av deras utvecklares fantasi.

Anmärkningsvärda bots

Adressering

Varje användare i Jabber-nätverket har en unik identifierare - Jabber-ID (förkortat JID ). En JID-adress, som en e-postadress, innehåller användarnamnet och domännamnet för servern där användaren är registrerad, åtskilda av ett @ -tecken . Till exempel kommer användaren som är registrerad på example.com-servern att ha adressen: [email protected].

En användare kan ha flera anslutningar samtidigt, som kännetecknas av ett ytterligare JID-attribut som kallas en resurs och läggs till genom ett snedstreck i slutet av adressen. Låt till exempel användarens fullständiga adress vara [email protected]/work, då kommer meddelanden som skickas till [email protected] att nå den angivna adressen oavsett resursnamn, men meddelanden till [email protected]/work kommer att nå specificerad adress endast om motsvarande resurs är ansluten.

JID kan också användas utan ett uttryckligt användarnamn (med eller utan ett resursnamn) för systemmeddelanden och för att kontrollera tillgängligheten på servern.

Ansluter till andra protokoll

En användbar funktion i XMPP-system är transporter , eller gateways , som tillåter användare att komma åt nätverk med andra protokoll. Dessa kan vara andra protokoll för snabbmeddelanden, IRC eller protokoll som SMS och e- post .

Till skillnad från multiprotokollklienter ger XMPP åtkomst på servernivå, genom kommunikation genom speciella gatewaytjänster som körs på en fjärrdator.

Alla användare kan "registrera sig" med en av dessa gateways genom att tillhandahålla den information som krävs för att logga in på nätverket och kan kommunicera med nätverksanvändare som om de vore användare av Jabber-nätverket. Detta innebär att vilken klient som helst som fullt ut stöder XMPP kan användas för att komma åt vilket nätverk som helst för vilka gateways finns, utan någon ytterligare kod i klienten, och utan att klienten behöver ha direkt tillgång till Internet.

Implementeringen av gateways är specifik för den specifika XMPP-servern och är föremål för instabilitet på grund av kommersiella IM-tjänsters stängda karaktär.

Exempel på globala XMPP-integrationer

Den höga feltoleransen och låga overhead för XMPP-servrar [36] uppmuntrar ett antal stora företag att använda XMPP som en basplattform för att skapa privata meddelanden och chattar, samt för att leverera push-meddelanden [37]

Programvara

XMPP- servrar

XMPP- klienter

Enligt statistiken för den offentliga XMPP-servern 404.city [48] (för sommaren 2017) är de mest populära klienterna för stationära och bärbara datorer Pidgin och Psi+ . På Android leder Xabber och Conversations.

För PC och bärbara datorer
  • Miranda NG  är en multi-protokoll messenger för MS-Windows med stöd för OTR , PGP , OMEMO och sitt eget SecureIm-plugin baserat på det öppna Crypto++-biblioteket
  • Pidgin  är en plattformsoberoende klient med OTR , PGP -stöd . OMEMO stöds via en plug-in i testläge.
  • Psi  är en plattformsoberoende klient som stöder OTR , PGP , OMEMO .
  • Psi+  är en förbättrad version av Psi XMPP-klienten (alla nya funktioner dyker först upp i Psi+ och överförs sedan gradvis till Psi ).
  • Gajim  är en plattformsoberoende klient som stöder OTR , PGP , OMEMO .
  • Dino är en klient för Linux- och BSD-familjerna med OMEMO- stöd . Skrivet på Vala-språket med hjälp av GTK-verktygslådan
För Android
  • Pix-Art Messenger  är en gaffel av den berömda Conversations-klienten med ytterligare funktioner. Stort utbud av servrar. Stöder OMEMO, OTR, OpenPGP.
  • Xabber  är en XMPP-klient med OTR , PGP- stöd .
  • Conversations  - XMPP-klient med OTR- stöd (sedan version 2.0.0 stöds inte denna funktion), PGP , OMEMO . Det är möjligt att skicka bilder, filer av olika slag, geo-koordinater, spela in och skicka röstmeddelanden.
  • IM+  är en multi-protokoll messenger med OTR .
  • yaxim.

För iOS

  • ChatSecure  är en XMPP-klient med OTR -stöd , OMEMO av The Guardian Project team .
  • Zom  är en XMPP-klient med stöd för OTR , OMEMO . Det är en utlöpare av ChatSecure- projektet . Stöd för att skicka filer och röstmeddelanden.

Se även

Anteckningar

  1. 1 2 Jabber Inc. — Om oss Arkiverad 3 juli 2007.
  2. Facebook-utvecklare: Chat API (nedlänk) . Hämtad 7 juli 2016. Arkiverad från originalet 25 september 2015. 
  3. Yandex slutar stödja Jabber och ingen vet om det / Geektimes . Hämtad 28 november 2016. Arkiverad från originalet 29 november 2016.
  4. Yandex, efter resten, stänger sin jabberserver / Geektimes . Hämtad 28 november 2016. Arkiverad från originalet 29 november 2016.
  5. Historia av XMPP . Hämtad 8 september 2009. Arkiverad från originalet 12 februari 2011.
  6. Öppna meddelandesystem i realtid
  7. Blogginlägg av Peter St. André  (död länk)
  8. Jabber Software Foundation omdöpt till XMPP Standards Foundation  : [Pressmeddelande] :   (nedlänk)  : [ eng. ]  : [ arch. 21 januari 2007 ] // xmpp.org. - XSF, 2007. - 16 januari.
  9. Gary Burd. XMPP Federation (17 januari 2006). Hämtad 30 november 2007. Arkiverad från originalet 21 augusti 2011.
  10. Sean Gallagher. Google tillåter inte server-till-server-anslutningar (17 maj 2013). Datum för åtkomst: 20 maj 2013. Arkiverad från originalet 20 maj 2013.
  11. Google FAQ: Open Communications . Hämtad 7 juli 2016. Arkiverad från originalet 5 oktober 2016.
  12. XMPP-bloggen: Nej, det är inte slutet på XMPP för Google Talk . Hämtad 7 juli 2016. Arkiverad från originalet 17 juni 2016.
  13. XMPP RFC:er . Hämtad 8 september 2009. Arkiverad från originalet 17 september 2009.
  14. Kan jag använda Jabber när jag är bakom en brandvägg? Arkiverad från originalet den 20 maj 2007. JabberLive!, 9 mars 2007
  15. Jabber tillgängligt bakom en brandvägg eller proxy. Gratis . Hämtad 23 maj 2022. Arkiverad från originalet 25 januari 2021.
  16. Psi . Hämtad 24 januari 2009. Arkiverad från originalet 1 november 2020.
  17. Kopete OTR-plugin . Datum för åtkomst: 24 januari 2009. Arkiverad från originalet den 17 oktober 2008.
  18. Miranda GnuPG Plugin Arkiverad 20 december 2010.
  19. Standards-JIG] Fördelning av stroftyper . Hämtad 14 augusti 2009. Arkiverad från originalet 15 juni 2009.
  20. Standards-JIG] proto-JEP: Smart Presence Distribution . Hämtad 14 augusti 2009. Arkiverad från originalet 10 juni 2009.
  21. XEP-0138: Strömkomprimering . Hämtad 14 augusti 2009. Arkiverad från originalet 15 augusti 2009.
  22. Komprimeringsmetoder för transportlagersäkerhetsprotokoll . Hämtad 14 augusti 2009. Arkiverad från originalet 12 oktober 2009.
  23. Standards-JIG] MUC-trafikproblem . Hämtad 14 augusti 2009. Arkiverad från originalet 10 maj 2009.
  24. Neutron (Jabber bot) . Hämtad 20 juli 2011. Arkiverad från originalet 22 augusti 2011.
  25. Google Trender . Hämtad 5 maj 2013. Arkiverad från originalet 8 oktober 2016.
  26. fatal-dev . Hämtad 26 november 2011. Arkiverad från originalet 27 maj 2013.
  27. Snapi XMPP bot . Datum för åtkomst: 20 juli 2011. Arkiverad från originalet den 24 april 2014.
  28. BlackSmith XMPP bot . Hämtad 4 december 2011. Arkiverad från originalet 18 september 2011.
  29. BlackSmith mark.2 (Ny XMPP bot) . Hämtad 20 juli 2011. Arkiverad från originalet 25 november 2011.
  30. Taho på GoogleCode . Datum för åtkomst: 20 juli 2011. Arkiverad från originalet den 28 februari 2011.
  31. pako - Pako Jabber bot (C#) . Hämtad 14 augusti 2013. Arkiverad från originalet 7 oktober 2013.
  32. Disabler Production LabAratory . Hämtad 11 februari 2020. Arkiverad från originalet 16 februari 2020.
  33. Den största XMPP-servern i Ryssland . Hämtad 16 juli 2004. Arkiverad från originalet 29 juli 2004.
  34. Python Style Guide . Tillträdesdatum: 20 juli 2011. Arkiverad från originalet den 29 oktober 2009.
  35. a7x-im (Erl botutvecklare) . Hämtad 20 juli 2011. Arkiverad från originalet 8 februari 2011.
  36. ejabberd Massiv skalbarhet: 1 nod - 2+ miljoner samtidiga användare | ProcessOne-bloggen . Hämtad 22 juni 2018. Arkiverad från originalet 22 juni 2018.
  37. XMPP | Användningar av XMPP . Hämtad 22 juni 2018. Arkiverad från originalet 22 juni 2018.
  38. ejabberd & Nintendo Switch NPNS | ProcessOne-bloggen . Hämtad 5 juni 2019. Arkiverad från originalet 5 juni 2019.
  39. NSA använder Jabber-protokoll för chattar - "Hacker" . Hämtad 24 juni 2018. Arkiverad från originalet 25 juni 2018.
  40. Defense Collaboration Services (DCS), som tillhandahåller säkra webbkonferens- och snabbmeddelandetjänster på Non-secure Internet Protocol Router Network (NIPRNet) och Secure Internet Protocol Routing Network (SIPRNet), och Extensible Messaging and Presence Protocol (XMPP) chatt . Hämtad 17 september 2019. Arkiverad från originalet 9 september 2019.
  41. Militära former som använder XMPP . Hämtad 10 juni 2019. Arkiverad från originalet 19 april 2019.
  42. EU-parlamentet empfiehlt Jabber statt WhatsApp och prüft Signal | heise online . Hämtad 19 oktober 2019. Arkiverad från originalet 19 oktober 2019.
  43. Die Bundespolizei setzt hingegen auf den offenen XMPP-Standard. En Messenger auf XMPP-Basis befinde sich derzeit im Probebetrieb, heßt es in der Antwort auf eine little Anfrage der FDP . Hämtad 3 december 2019. Arkiverad från originalet 3 december 2019.
  44. XMPP-programvara: Servrar . XMPP Standards Foundation . Hämtad 12 februari 2009. Arkiverad från originalet 21 augusti 2011.
  45. Tigas XMPP Server | Tigase.net . tigase.net. Hämtad 15 september 2019. Arkiverad från originalet 30 april 2019.
  46. Wokkel . wokkel.ik.nu. Hämtad 15 september 2019. Arkiverad från originalet 8 september 2019.
  47. Xabber Server v.0.9 alpha släpps  . Xabber-bloggen (13 september 2019). Hämtad 15 september 2019. Arkiverad från originalet 14 december 2019.
  48. Statistik (nedlänk) (9 augusti 2017). Hämtad 18 april 2018. Arkiverad från originalet 9 augusti 2017. 

Länkar