XMPP: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
10 782 byte aggiunti ,  2 giu 2018
m
minor fixes
m (chatsecure)
m (minor fixes)
 
(18 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
'''XMPP''' è un protocollo di chat federato: questo significa che se hai un'utenza registrata su un determinato server potrai comunque parlare con gli utenti dell'intera rete XMPP, perché i server si parlano fra loro.
'''''XMPP''''' (''aka'' '''''Jabber''''') è un protocollo di chat ''federato'': questo significa che se hai un account registrato su un determinato server potrai comunque parlare con gli utenti dell'intera rete XMPP/Jabber, perché i server si parlano fra loro. Puoi entrare in contatto con chiunque semplicemente aggiungendo alla tua rubrica il suo ''Jabber ID'', analogamente a come faresti con un numero di telefono o un indirizzo email.


XMPP fornisce una chat singola o di gruppo (detto anche ''"stanza"'', ''"chatroom"'', ''"conference"'' o ''"MUC"'') ed ha una rubrica per i contatti; inoltre è molto estensibile, e ciò permette di scambiare file e immagini attraverso la chat, di stabilire comunicazioni criptate sia singole che di gruppo, e molto altro ancora.
XMPP fornisce sia chat singole, che di gruppo<ref>Le chat di gruppo sono dette anche ''"stanze"'', ''"chatroom"'', ''"conference"'' o ''"MUC"'' (Multi-User Chat)</ref>; queste ultime possono essere [[XMPP/Elenco delle MUC pubbliche|'''pubbliche''']] (mostrate nell'elenco delle MUC disponibili sul server) o '''private''' (accessibili solo agli utenti invitati), protette o meno da password, cifrate o in chiaro, e così via...  


Esistono molti programmi per usare XMPP (client) per diverse piattaforme: [http://xmpp.org/software/clients.html qui] trovi una lista di client per Linux, Windows, OSX, iOS (iPhone), Android, Nokia Symbian e perfino da browser e da console. In questa pagina troverete le istruzioni per [[XMPP#Gajim|Gajim]] (PC) e [[XMPP#Conversations|Conversations]] (Android).
Molti programmi per chattare con XMPP ("client") offrono una rubrica per i contatti.
 
Inoltre il protocollo XMPP è molto estensibile, e ciò permette di scambiare file e immagini attraverso la chat, di stabilire comunicazioni criptate (sia singole che di gruppo), e molto altro ancora.
 
Esistono client per XMPP su diverse piattaforme: [http://xmpp.org/software/clients.html qui] trovi una lista di client per Linux, Windows, OSX, iOS (iPhone), Android, Nokia Symbian e perfino da browser e da console. In questa pagina troverete le istruzioni e guide per alcuni client che abbiamo provato, tra cui [[XMPP#Gajim|Gajim]] (per PC) e [[XMPP#Conversations|Conversations]] (per Android).
 
== do-it-yourJabber ==
Speriamo che il nostro servizio ti piaccia, ma ci farebbe ancora più felici sapere che ti ha messo voglia di raccattare un po' di gente e tirare su un servizio autogestito analogo. Una delle cose che ci ha fatto scegliere XMPP è la sua [https://git.eigenlab.org/eigenlab/do-it-yourJabber/wikis/Introduzione#federate-em-all-perch%C3%A9-xmpp struttura federata], e per aiutare chiunque voglia aggiungere la sua isola nella rete abbiamo creato '''do-it-yourJabber''': vuole essere una raccolta di materiale utile, replicabile, modificabile e riciclabile sulla costruzione di un servizio di chat autogestito.
 
[https://git.eigenlab.org/eigenlab/do-it-yourJabber do-it-yourJabber] consta di due parti:
* La [https://git.eigenlab.org/eigenlab/do-it-yourJabber/wikis/home documentazione] dove abbiamo scritto le considerazioni politiche a proposito della messaggistica, e un'ampia guida per configurare un servizio simile in maniera piuttosto semplice.
* I [https://git.eigenlab.org/eigenlab/do-it-yourJabber/tree/master files] che abbiamo raccolto potrebbero esserti tecnicamente nel tirare su un serverino di chat: copiali, modifica e condividi! Ci sono due directory:
** '''serviceconf''' contiene i file di configurazione del server e di altri servizi come il rinnovo dei certificati, il reverse proxy etc. Tutte le scelte più importanti - tra cui quelle riguardanti la sicurezza - sono [https://git.eigenlab.org/eigenlab/do-it-yourJabber/wikis/Configurazione documentate].
** '''homepage''' contiene il codice della nostra [[#Registrazione|pagina di registrazione]], semmai volessi usare una soluzione simile. Puoi mettere a disposizione diversi metodi con cui le persone possano iscriversi al tuo server di chat; noi abbiamo optato per la pagina di registrazione perché ci sembrava un modo immediato per comunicare con le persone che si iscrivono al servizio, in modo che siano consapevoli di cosa stanno facendo: iscrivendosi a un servizio di chat partecipano ad un progetto politico collettivo. Anche la pagina di registrazione è [https://git.eigenlab.org/eigenlab/do-it-yourJabber/wikis/Pagina%20d'iscrizione documentata].


== Il nostro servizio XMPP ==
== Il nostro servizio XMPP ==
Abbiamo installato [https://en.wikipedia.org/wiki/Prosody_(software) Prosody] sopra [[Zenzero]].
Abbiamo installato [https://en.wikipedia.org/wiki/Prosody_(software) Prosody] sopra [[Zenzero]].
Il server che abbiamo installato ha però 2 restrizioni importanti:  
Il server che abbiamo installato ha però due restrizioni importanti:  
* I client possono connettersi solo se supportano la cifratura SSL della connessione fra client e server;
* I client possono connettersi solo se supportano la cifratura SSL della connessione fra client e server;
* I server (per la federazione) possono connettersi solo se supportano la cifratura della connessione fra server e server.
* I server (per la federazione) possono connettersi solo se supportano la cifratura della connessione fra server e server.
Abbiamo scelto di inserire queste limitazioni perché siamo fermamente convintu che le comunicazioni debbano avvenire in modalità protetta: crediamo che ognunu debba poter scegliere - insieme ai propri interlocutori - il livello di sicurezza che desiderano avere, e cifrare la connessione via SSL è un passaggio minimo anche per chi non vuole usare strumenti più robusti per la sicurezza (vedi [[XMPP#Sicurezza|sotto]]).
Abbiamo scelto di inserire queste limitazioni perché siamo fermamente convintu che le comunicazioni debbano avvenire in modalità protetta: crediamo che ognunu debba poter scegliere - insieme ai propri interlocutori - il livello di sicurezza che desiderano avere, e cifrare la connessione via SSL è un passaggio minimo anche per chi non vuole usare strumenti più robusti per la sicurezza (vedi [[#Sicurezza|sotto]]).


Siccome il servizio è ancora in fase di sperimentazione non permettiamo ancora la registrazione 'in-band' (cioè direttamente dal client): se vuoi un'account scrivi a <code>info[at]eigenlab[dot]org</code>.
=== Registrazione ===
Siccome il servizio è ancora in fase di sperimentazione non permettiamo ancora la registrazione 'in-band' (cioè direttamente dal client): se vuoi un'account visita [https://jabber.eigenlab.org/ jabber.eigenlab.org]. Ti si aprirà la pagina di registrazione al servizio, presentandoti le magnifiche ''features'', e se scorri ancora un po' il modulo di registrazione: inserisci lo '''username'''<ref>Tutti gli username hanno il dominio <code>@eigenlab.org</code>: ad esempio se inserisco <code>bietola</code> nella pagina di registrazione, il mio JabberID completo sarà <code>bietola@eigenlab.org</code>.</ref> che desideri (due volte per conferma) e poi il '''captcha''' (per confermare che sei uman*, e [http://www.zerocalcare.it/2012/10/01/captcha/ darti fastidio]). La tua richiesta ora è in attesa di approvazione e ti viene presentato un ''token'' ("gettone") che è semplicemente un link unicamente dedicato alla '''tua''' richiesta: conservalo (e non divulgarlo) fino che la tua richiesta non sarà approvata.
Visita periodicamente (o compulsivamente, a seconda della tua predisposizione) il link del tuo token; non appena la tua richiesta verrà approvata comparirà la tua '''password temporanea''' che puoi usare per loggarti (insieme all'username che hai scelto). È importante che tu scelga quanto prima una tua password e la cambi dal client che utilizzi.
 
Puoi entrare nella chatroom <code>info@conference.eigenlab.org</code> per chiedere assistenza per l'installazione e la configurazione di un client XMPP, o per qualsiasi altro servizio di eigenLab, o anche semplicemente per scambiare quattro chiacchiere..


=== Estensioni ===
=== Estensioni ===
Riga 24: Riga 41:


== Sicurezza ==
== Sicurezza ==
===OTR===
Si può usare XMPP in maniera sicura utilizzando diversi protocolli di cifratura, ma non tutti sono disponibili, affidabili o funzionano bene su tutti i client.
Con [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR] é quasi impossibile avere le conversazioni cifrate fra ''dispositivi diversi usati dallo stesso account'', mentre con [[XMPP#Gajim]] (desktop) e [[XMPP#Conversations]] (Android) è possibile usare [https://conversations.im/omemo/ OMEMO], un nuovo protocollo di cifratura sviluppato per Signal che permette una cifratura indolore anche fra device diversi. L'unica pecca è che ancora poco supportato da altri client.  


Il supporto OTR in Gajim è disponibile con un plugin, che però è scritto male e non garantisce sicurezza. Gli stessi creatori sconsigliano di utilizzarlo.
Con [https://en.wikipedia.org/wiki/Off-the-Record_Messaging OTR] é quasi impossibile avere le conversazioni cifrate fra ''dispositivi diversi usati dallo stesso account'', mentre [https://conversations.im/omemo/ OMEMO], un nuovo protocollo di cifratura sviluppato per Signal, permette una cifratura indolore anche fra device diversi. L'unica pecca è che non è ancora supportato da tutti i client, ma lo abbiamo testato con successo su [[XMPP#Gajim|Gajim]] (PC), [[XMPP#Conversations|Conversations]] (Android) e [[XMPP#Chatsecure|Chatsecure]] (iOS).


===OMEMO===
[[File:Omemo-fish.png|miniatura|destra|icona di OMEMO]]
[[File:Omemo-fish.png|miniatura|destra|l'icona a fesciolino di OMEMO]]
Per poter usare OMEMO in Gajim va installato un plugin dal gestore di pacchetti di sistema, perchè per motivi oscuri il plugin manager non riesce ad installarlo. Alla prima connessione con un contatto che supporta OMEMO verrà richiesto se fidarsi della chiave con cui si è presentato: è buona norma verificare la chiave attraverso un mezzo diverso.  
Per poter usare OMEMO in Gajim va installato un plugin dal gestore di pacchetti di sistema, perchè per motivi oscuri il plugin manager non riesce ad installarlo. Alla prima connessione con un contatto che supporta OMEMO verrà richiesto se fidarsi della chiave con cui si è presentato: è buona norma verificare la chiave attraverso un mezzo diverso.  
Conversations lo supporta di default, anche qui bisogna verificare la chiave del contatto.
Conversations lo supporta di default, anche qui bisogna verificare la chiave del contatto.
Riga 38: Riga 53:
== Gajim ==
== Gajim ==
[[File:Gajim screenshot.jpg|miniatura|La grafica di Gajim è decisamente respingente, al momento. Ma il programma funziona benissimo e sui dettagli estetici ci stiamo lavorando.]]
[[File:Gajim screenshot.jpg|miniatura|La grafica di Gajim è decisamente respingente, al momento. Ma il programma funziona benissimo e sui dettagli estetici ci stiamo lavorando.]]
 
[https://gajim.org/ Gajim] è il più completo client desktop per numero di plugin e di XEP recenti supportate; è disponibile per i maggiori sistemi PC, per Windows, BSD e [[Linux]], pel quale si trova nei repository ufficiali dei pacchetti di tutte le maggiori distribuzioni.
[https://gajim.org/ Gajim] è il più completo client desktop per numero di plugin e di XEP recenti supportate.
Molte persone continuano a contribuire allo sviluppo di Gajim; se vuoi contribuire puoi iniziare a leggere la [https://dev.gajim.org/gajim/gajim/wikis/home wiki] o la [https://dev.gajim.org/gajim/gajim/wikis/development/home pagina per lo sviluppo]


=== Installazione ===
=== Installazione ===
====Arch====
====Arch====
Bisogna avere l'AUR abilitato e installare i pacchetti con
Bisogna avere l'AUR abilitato e installare i pacchetti con <code>yaourt -S gajim gajim-plugin-omemo gajim-plugin-httpupload python2-qrcode python2-future</code>.
 
<code>yaourt -S gajim gajim-plugin-omemo gajim-plugin-httpupload python2-qrcode python2-future</code>


Su alcuni laptop Gajim si inchioda all'uscita dal programma e questo problema sembra risolversi installando il pacchetto <code>python2-dbus</code>.
Su alcuni laptop Gajim si inchioda all'uscita dal programma e questo problema sembra risolversi installando il pacchetto <code>python2-dbus</code>.
Riga 54: Riga 67:


Poi salvarlo e chiuderlo. Dare i comandi
Poi salvarlo e chiuderlo. Dare i comandi
<pre>
<pre>sudo aptitude update
sudo aptitude update
sudo aptitude -t jessie-backports install gajim-omemo gajim</pre>
sudo aptitude -t jessie-backports install gajim-omemo gajim
</pre>


=== Configurazione ===
=== Configurazione ===
====Account====
====Account====
Aprendolo per la prima volta devi configurare il tuo account dal menu <code>Modifica → account</code>.
Aprendo Gajim per la prima volta devi configurare il tuo account dal menu <code>Modifica → account</code>.
C'è sempre un account 'Local' ma non so a cosa serva. Tu aggiungi un nuovo account e metti l'ID Jabber seguito da <code>@eigenlab.org</code> e la password dell'utenza che ti sei fatta creare.
C'è sempre un account 'Local' ma non so a cosa serva. Tu aggiungi un nuovo account e metti l'ID Jabber seguito da <code>@eigenlab.org</code> e la password dell'utenza che ti sei fatta creare.


Riga 71: Riga 82:


====Contatti====
====Contatti====
Ora ti resta solo da aggiungere in rubrica le persone con cui chattare: dal menu <code>Azioni → aggiungi un contatto</code> inserisci l'ID Jabber del tuo amico <code>pippo@eigenlab.org</code> per "chiedergli l'amicizia" e quando anche lui te l'avrà accordata potrete chattare.
Ora ti resta solo da aggiungere in rubrica le persone con cui chattare: dal menu <code>Azioni → aggiungi un contatto</code> inserisci l'ID Jabber del tuo amico (ad es. <code>pippo@eigenlab.org</code>) per "chiedergli l'amicizia" e quando anche lui te l'avrà accordata potrete chattare.
 
Se trascini un contatto sopra un'altro compare l'utilissima opzione "invia contatto di Beppe a Anna" (e anche un'altra opzione più criptica "rendi metacontatti" che non so a cosa serva.)


Se capita di risultare offline ad un contatto, oppure di vedere offline chi è online, bisogna cliccare con il tasto destro sul contatto nell'elenco dei contatti, e in <code>Gestisci il contatto → Abbonamento</code> clicca su <code>Permetti al contatto di vedere il mio stato</code> e <code>Chiedi al contatto di poter vedere il suo stato</code>.
Se trascini un contatto sopra un altro compare l'utilissima opzione "invia contatto di Beppe a Anna". C'è anche un'altra opzione "rendi Beppe e Anna [https://dev.gajim.org/gajim/gajim/wikis/help/MetaContacts metacontatti]", che serve per annidare diversi account usati dallo stesso utente sotto un'etichetta comune; se fai per sbaglio un metacontatto e vuoi annullare l'operazione, trascina il contatto più annidato sulla linea di un gruppo nella rubrica (ad esempio "Generale").


====MUC (Multi User Chat)====
Se capita di risultare offline ad un contatto, oppure di vedere offline chi in realtà è online, bisogna cliccare con il tasto destro sul contatto nell'elenco dei contatti, e in <code>Gestisci il contatto Abbonamento</code> clicca su <code>Permetti al contatto di vedere il mio stato</code> e <code>Chiedi al contatto di poter vedere il suo stato</code>. Permettersi mutuamente di vedere lo stato è anche un prerequisito per usare OMEMO con Gajim.
Si può entrare in una MUC dal menu <code>Azioni Ricerca dei servizi → eigenLab chatroom → Consulta</code>.


====Gruppi====
Puoi vedere un elenco dei gruppi (pubblicamente accessibili) presenti sul server dal menu <code>Azioni → Ricerca dei servizi → eigenLab chatroom → Consulta</code> e selezionare quelli in cui vuoi entrare.
Nella finestra che apparirà conviene selezionare "Aggiungi questa stanza ai segnalibri", che rende accessibile la stanza dal menu <code>Azioni → Entra in una conversazione di gruppo</code>.
Nella finestra che apparirà conviene selezionare "Aggiungi questa stanza ai segnalibri", che rende accessibile la stanza dal menu <code>Azioni → Entra in una conversazione di gruppo</code>.
Selezionando "Entra automaticamente in questa stanza alla connessione", Gajim entrerà nella stanza al momento del login.
Selezionando "Entra automaticamente in questa stanza alla connessione", Gajim entrerà nella stanza al momento del login.
Riga 86: Riga 96:


====Chiamate e videochiamate====
====Chiamate e videochiamate====
Per abilitare il supporto alle audio e videochiamate audio (supportato da Gajim, Pidgin e Telepathy) bisogna installare dei pacchetti aggiuntivi.  
Per abilitare il supporto alle audio e videochiamate audio (supportato da Gajim, Pidgin e Telepathy) bisogna installare dei pacchetti aggiuntivi. In Arch installare il pacchetto <code>farstream</code>, mentre in Debian e derivate <code>python-farstream</code> e <code>gstreamer-plugins-bad</code>.
 
In Arch installare <code>farstream</code>.
 
In Debian e derivate <code>python-farstream</code> e <code>gstreamer-plugins-bad</code>.


=== Plugin ===
=== Plugin ===
[[File:Xmpp-file-image-http-upload-gatti.png|miniatura|Per sparare gattini in una chat (anche di gruppo) puoi usare ''send image via http upload'' (tasto celeste). Puoi inviare file di qualsiasi tipo con ''send file via http upload'' (tasto con la freccia verde).]]
[[File:Xmpp-file-image-http-upload-gatti.png|miniatura|Per sparare gattini in una chat (anche di gruppo) puoi usare ''send image via http upload'' (tasto celeste). Puoi inviare file di qualsiasi tipo con ''send file via http upload'' (tasto con la freccia verde).]]
I nuovi plugin si installano dal menu <code>Modifica → Plugin → Available</code>.
I nuovi plugin si installano dal menu <code>Modifica → Plugin → Available</code>.
Dopo aver selezionato i plugin che vuoi installare clicca su install/upgrade, e poi abilitali nella scheda "installed".
Dopo aver selezionato i plugin che vuoi installare clicca su install/upgrade, e poi abilitali nella scheda "installed".


Di seguito alcuni plugin particolarmente utili:
Di seguito alcuni plugin particolarmente utili:
 
* '''Httpupload''': Aggiunge il supporto ad HTTP File Upload. Nella finestra di chat compariranno due nuovi pulsanti, "send file via http" e "send image via http". Il vecchio trasferimento da client a client è ancora disponibile con il pulsante "invia dei file".
* '''Client icons''': Mostra una icona che rapresenta il client usato, nell'elenco dei contatti.
* '''Url image preview''': Visualizza le immagini direttamente nella finestra di chat anzichè chiedere dove salvarle o mostrare un link. Di default mostra immagini piccole solo per file piccoli. Valori ragionevoli nella configurazioni in <code>Modifica → Plugin → Url image preview → Configura</code> sono preview size:500 , accept files smaller than: 10mb. Cliccando con il tasto destro sull'immagine si può aprirla, salvarla o copiare il link originale.
* '''Client icons''': Mostra una icona che rapresenta il client usato nell'elenco dei contatti.
* '''Emoticons pack''': Aggiunge un enorme set di emoticon che sostituiscono quelle di default di gajim. Sono compatibili con le emoticon android anche se appariranno leggermente diverse su android. Per abilitarlo, nella finestra <code>Modifica → plugin → emoticon</code>, installa Twemoji resized. Sembrerà che non sia successo nulla, ma non ti preouccare, vai in <code>Preferenze → emoticon</code> e seleziona Twemoji resized.
* '''Emoticons pack''': Aggiunge un enorme set di emoticon che sostituiscono quelle di default di gajim. Sono compatibili con le emoticon android anche se appariranno leggermente diverse su android. Per abilitarlo, nella finestra <code>Modifica → plugin → emoticon</code>, installa Twemoji resized. Sembrerà che non sia successo nulla, ma non ti preouccare, vai in <code>Preferenze → emoticon</code> e seleziona Twemoji resized.
* '''Httpupload''': Aggiunge il supporto ad HTTP File Upload. Nella finestra di chat compariranno due nuovi pulsanti, "send file via http" e "send image via http". Il vecchio trasferimento da client a client è ancora disponibile con il pulsante "invia dei file".
* '''Url image preview''': Visualizza le immagini direttamente nella finestra di chat anzichè chiedere dove salvarle o mostrare un link. Di default mostra immagini piccole solo per file piccoli. Valori ragionevoli nella configurazioni in <code>Modifica → Olugin → Url image preview → Configura</code> sono preview size:500 , accept files smaller than: 10mb. Cliccando con il tasto destro sull'immagine si può aprirla, salvarla o copiare il link originale.


'''Riavviare Gajim dopo aver abilitato i plugin.'''
Riavviare '''sempre''' Gajim dopo aver abilitato o aggiornato i plugin.


==== OMEMO ====
==== OMEMO ====
Se avete seguito questa guida avrete installato anche OMEMO, che però andrà attivato come un qualsiasi altro plugin, seguite il punto precedente.
Dopo aver abilitato il plugin OMEMO, Gajim si impallerà qualche secondo per generare le chiavi: non impanicatevi, è normale. Quando avrà finito sarete a un passo dal chattare in sicurezza.
 
Dopo aver abilitato il plugin, Gajim si impallerà qualche secondo per generare le chiavi: non impanicatevi, è normale. Quando avrà finito sarete a un passo dal chattare in sicurezza.


Nella finestra di chat, se il client del contatto lo supporta, appare l'icona con il pesce [[File:OmemoGajimFish LowRes.png|inline|baseline]] da cui si può abilitare OMEMO nella chat.  
Nella finestra di chat, se il client del contatto lo supporta, appare l'icona con il pesce [[File:OmemoGajimFish LowRes.png|inline|baseline]] da cui si può abilitare OMEMO nella chat.  
Cliccando "fingerprints" si possono verificare le fingerprint del contatto.


Cliccando "fingerprints" si possono verificare le fingerprint del contatto.  
Nella finestra "own devices" ci sono invece le fingerprint dei propri dispositivi, ad es. una per Conversations sullo smartphone e una per Gajim sul pc. È necessario verificare anche quelle per essere sicuri della riservatezza della conversazione.


Nella finestra "own devices" ci sono invece le fingerprint dei propri dispositivi, ad es. uno smartphone con Conversations, più un pc con Gajim. È necessario verificare anche quelle per essere sicuri della riservatezza della conversazione.
È possibile visualizzare la propria fingerprint da <code>Modifica → Plugin → Url image preview → Configura → Account: eigenlab.org</code> dove è presente anche il QR-code che puoi usare per farti verificare velocemente da chi ha uno smartphone.


È possibile visualizzare la propria fingerprint da <code>Modifica → Plugin → Url image preview → Configura → Account: eigenlab.org</code> dove è presente anche il QR-code utilizzato nella verifica da Conversations.
Per visualizzare il QR-code, se si è installato il plugin OMEMO da Gajim, è necessario installare dei pacchetti. Il programma indica solo "python-qrcode". Su Arch, per avere garanzia di funzionamento, non bisogna installare questo pacchetto ma tutte le dependencies python2-* dalla pagina di [https://aur.archlinux.org/packages/gajim-plugin-omemo/ gajim-plugin-omemo]. Questi pacchetti sono disponibili solo dalla AUR.


=== Problemi ===
===Problemi===
Gajim sembra non supportare completamente Message Archiving per le MUC [https://trac.gajim.org/ticket/8036]: mostra solo gli ultimi 20 messaggi invece di mostrare tutti i messaggi scambiati nella MUC e non ricevuti perchè si era offline. Conversations invece riceve tutti i messaggi in modo corretto.
Gajim sembra non supportare completamente Message Archiving per le MUC [https://trac.gajim.org/ticket/8036 bug tracker]: mostra solo gli ultimi 20 messaggi invece di mostrare tutti i messaggi scambiati nella MUC e non ricevuti perchè si era offline. Conversations invece riceve tutti i messaggi in modo corretto.


Il supporto OTR in Gajim è disponibile con un plugin, che però è scritto male e non garantisce sicurezza. Gli stessi creatori sconsigliano di utilizzarlo.


== Conversations==  
==Conversations==  
Il migliore client per Android per numero di XEP integrate.  
Il migliore client per Android per numero di XEP integrate, ed è anche piacevole alla vista.
Puoi installarlo con [[Installare_F-droid#Conversations|F-droid]]; c'è anche nel PlayStore, ma a pagamento.
Puoi installarlo con [[Installare_F-droid#Conversations|F-droid]]; c'è anche nel PlayStore, ma a pagamento.


Riga 138: Riga 141:
* Impostare un avatar:  <code>Menu → Gestisci utenti → <tuo utente></code> e poi clicca sull'avatar.
* Impostare un avatar:  <code>Menu → Gestisci utenti → <tuo utente></code> e poi clicca sull'avatar.


===Contatti, chat e MUC (Multi User Chat)===
===Contatti, chat e gruppi===
[[File:Conversations screenshot.jpg|miniatura|Una conversazione chat sul client Conversations per Android permette anche di scambiarsi immagini e altre delizie.]]
[[File:Conversations screenshot.jpg|miniatura|Una conversazione chat sul client Conversations per Android permette anche di scambiarsi immagini e altre delizie.]]


La prima schermata mostra l'elenco delle chat aperte, cliccaci sopra per aprirle, swipe a destra o sinistra per chiuderle.
La prima schermata mostra l'elenco delle chat aperte, cliccaci sopra per aprirle, una volta dentro striscia a destra o sinistra per chiuderle.


Se dovessi farlo per errore non preoccuparti: '''non''' hai eliminato il contatto e puoi riaprire la chat nell'elenco dei contatti.
Se dovessi farlo per errore non preoccuparti: '''non''' hai eliminato il contatto e puoi riaprire la chat nell'elenco dei contatti.


====Aggiungere contatti e MUC====
====Aggiungere contatti ed entrare nei gruppi====
In alto a destra c'è una icona con un grosso "più": [[File:ConversationContacts.jpg|22px|inline|baseline]]
In alto a destra c'è una icona con un grosso "più": [[File:ConversationContacts.jpg|22px|inline|baseline]]
Cliccandoci troverai l'elenco dei contatti e delle MUC; in alto a destra ci sono, nelle rispettive schede, i tasti per aggiungere contatti [[File:AddAccount Conversation.jpg|22px|inline|baseline]] e MUC [[File:ConversationJoinMUC.jpg|22px|inline|baseline]].
Cliccandoci troverai l'elenco dei contatti e delle MUC; in alto a destra ci sono, nelle rispettive schede, i tasti per aggiungere contatti [[File:AddAccount Conversation.jpg|22px|inline|baseline]] e MUC [[File:ConversationJoinMUC.jpg|22px|inline|baseline]].
Riga 189: Riga 192:


===Telepathy===
===Telepathy===
Integrato in KDE, manca di opzioni per la configurazione, supporta OTR ma non le carbon copy ed il message archiving.
Integrato in KDE, mancano alcune opzioni per la configurazione, supporta OTR ma non le carbon copy ed il message archiving.
 
===Pidgin===
[https://pidgin.im/ Pidgin] è un client la cui comunità di sviluppo è molto partecipata, e che oltre a XMPP supporta i protocolli AIM, Bonjour, Gadu-Gadu, Google Talk, ICQ, IRC, SILC, SIMPLE, Zephyr, e molti altri ancora insieme a una vasta gamma di plugin.
 
Supporta OMEMO attraverso il plugin SPERIMENTALE [https://github.com/gkdr/lurch Lurch]
 
===Profanity===
[http://www.profanity.im/ Profanity] è un client testuale, gira da console con un'interfaccia [http://www.gnu.org/software/ncurses/ ncurses] ed assomiglia molto al client [http://irssi.org/ irssi] per IRC. Su Arch Linux è presente in due pacchetti alternativi <code>profanity</code> e <code>profanity-gtk</code>: il secondo offre solo le notifiche desktop tramite le librerie gtk, e non un'interfaccia grafica (ovviamente).
 
===Dino===
[[File:Dino.png|miniatura|destra|Alcuni esempi dell'interfaccia di Dino]]
[https://github.com/dino/dino Dino] è un client XMPP OpenSource moderno scritto in GTK3 e Vala, è in fase alpha e quindi non considerabile affidabile ma supporta già OMEMO nelle chat 1:1 e le chatroom insieme ad diverse XEPP consultabili [https://github.com/dino/dino/tree/master/xmpp-vala/src/module/xep qui]. Lo sviluppo avanza velocemente.
Nonostante il suo stadio è già abbastanza usabile.
 
==Generare un QR Code con le fingerprint per ogni device==
Alcuni software, per esempio Conversations, non permettono di verificare completamente un contatto se non scansionando la fingerprint attraverso un QR Code o cliccando su un link xmpp.
 
Non tutti i client però supportano la generazione di un QR da poter scansionare.
 
Per ovviare a questo limite di seguito una procedura per generare un QR Code che contenga tutte le fingerprint collegate ad una chiave OMEMO.
 
I passaggi sono molto Linux specifici
 
Requisiti:
* Un terminale
* sqlite (CLI) o sqlitebrowser (GUI) Per Dino
* qrencode (CLI) o qualsiasi programma per generare un qrcode
 
Il QR Code al momento della scrittura contiene la seguente stringa:
<pre>
xmpp:<USER>@<HOST>?otr-fingerprint=<OTR_FINGERPRINT>;omemo-sid-<DEVICE_ID>=<OMEMO_FINGERPRINT>;omemo-sid-<OTHER_DEVICE_ID>=<OTHER_OMEMO_FINGERPRINT>;omemo-sid-<OTHER_DEVICE_ID>=<OTHER_OMEMO_FINGERPRINT>
</pre>
dove:
* '''<OTR_FINGERPRINT>''' è la fingerprint della chiave OTR ottenibile dalle informazioni account dei vari client che lo supportano
* '''<DEVICE_ID>''' è il device ID, unico per ogni dispositivo o software
* '''<OMEMO_FINGERPRINT>''' è la fingerprint della chiave OMEMO
 
A seconda del client il metodo per recuperare le informazioni cambia:
 
===Dino===
Con il comando
sqlite3 ~/.local/share/dino/omemo.db  'select device_id from identity'
Dato da un terminale verranno mostrati tutti gli ID dei devices usati attraverso Dino sul PC
Altrimenti con sqlitebrowser basta aprire il file '''~/.local/share/dino/omemo.db''' e navigare nella tabella identity cercando la colonna '''device_id'''
 
Dalla finestra account a partire dal commit `9840774a87b9d15523ecc04ee4c157270e9abfe5` è possibile vedere e copiare la propria fingerprint così come quella degli altri dispositivi noti.
 
===Pidgin===
===Pidgin===
Pidgin.
Pidgin supporta OMEMO '''sperimentalmente''' attraverso il plugin [https://github.com/gkdr/lurch Lurch], per ottenere il device id basterà digitare in una finestra di chat il comando <code>/lurch show id own</code>, mentre per la fingerprint <code>/lurch show fp own</code>.
===XabberDev===
 
XabberDev.
===Gajim===
Dal menu di impostazioni del plugin OMEMO è possibile vedere gli ID dei propri dispositivi e le proprie fingerprint.
 
A questo punto è possibile generare il QR Code con le fingerprint con il comando
<code>qrencode  "xmpp:<USER>@<HOST>?otr-fingerprint=<OTR_FINGERPRINT>;omemo-sid-<DEVICE_ID>=<OMEMO_FINGERPRINT>;omemo-sid-<OTHER_DEVICE_ID>=<OTHER_OMEMO_FINGERPRINT>;omemo-sid-<OTHER_DEVICE_ID>=<OTHER_OMEMO_FINGERPRINT>" -o ~/fingerprints.png</code>. Il file sarà salvato nella home dell'utente col nome "fingerprints.png".
 
È adesso possibile scansionare il QR con Conversations in modo da avere tutte le proprie fingerprint verificate ed autenticate. Da ora in poi basterà mostrare il QR di conversations che conterrà tutte le fingerprint
 
== Altre risorse ==
* [https://we.riseup.net/riseup/xmpp pagina su riseup] che raccoglie qualche considerazione tecnica e discussioni varie.
* [https://www.youtube.com/watch?v=xwu3xjwyy9M video completo] con la presentazione, spiegazione e discussione del servizio (31 Marzo 2017 a [[Exploit]], [https://eigenlab.org/2017/03/jabber-eigenlab-presentazione-del-servizio/ post] sul sito).
* [https://dev.gajim.org/gajim/gajim/wikis//KeyboardShortcuts scorciatoie da tastiera] per Gajim.
* [https://www.youtube.com/watch?v=40TdEGH3cLA&list=PL7kLyYd4LOdMYiDcV9QTpbyasqJTTWqnG&index=4 video] della presentazione del servizio svolta durante il [https://golem.linux.it/wiki/Linux_Day_2017 Linux Day 2017] organizzato a Empoli dal [https://golem.linux.it Golem].
 
Sottopagine di questa pagina:
{{Special:PrefixIndex/XMPP/}} <!-- elenco delle sottopagine di questa pagina -->


==Note==
<references />


[[Categoria:EigenNet]]
[[Categoria:EigenNet]]
[[Categoria:Autoformazione]]
[[Categoria:Autoformazione]]
[[Categoria:Comunicazione sicura]]
[[Categoria:Comunicazione sicura]]
[[Categoria:Device Mobili]]
509

contributi

Menu di navigazione