XMPP: differenze tra le versioni

Da EigenWiki.
Vai alla navigazione Vai alla ricerca
m (Spostato un'immagine qualche riga piu` su per una migliore visualizzazzione sul telefono)
m (minor changes di impaginazione e ortografia)
Riga 30: Riga 30:


===OMEMO===
===OMEMO===
[[File:Omemo-fish.png|miniatura|destra|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.


Per poter ricevere i messaggi sia su Gajim che su Conversations usando OMEMO bisogna fidarsi delle proprie chiavi su entrambi i device.
Per poter ricevere i messaggi sia su Gajim che su Conversations usando OMEMO bisogna fidarsi delle proprie chiavi su entrambi i device.


== Gajim ==
== Gajim ==
Riga 46: Riga 45:
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 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>.


====Debian====
====Debian====
Bisogna abilitare ''jessie-backports''
Bisogna abilitare ''jessie-backports'': apri <code>sudo nano /etc/apt/sources.list</code> e aggiungi al file la riga:
 
<pre>deb http://ftp.debian.org/debian jessie-backports main</pre>
<code>sudo nano /etc/apt/sources.list</code>
 
e aggiungere nel file la seguente riga
 
<code>deb http://ftp.debian.org/debian jessie-backports main</code>
 
poi salvarlo e chiuderlo e dare i comandi


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


=== Configurazione ===
=== Configurazione ===
====Account====
====Account====
Aprendolo per la prima volta devi configurare il tuo account dal menu  
Aprendolo per la prima volta devi configurare il tuo account dal menu <code>Modifica → account</code>.
 
<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.


Per cambiare la propria password, dal menu <code>Account -> Operazioni amministrative → cambia la password</code>.


Per cambiare la propria password, dal menu
Per ricevere i messaggi su tutti i dispositivi connessi allo stesso account bisogna selezionare <code>Account → Generale → Receive conversations from other resources</code>.
 
<code>Account -> Operazioni amministrative → cambia la password</code>.
 
 
Per ricevere i messaggi su tutti i dispositivi connessi allo stesso account bisogna selezionare  
 
<code>Account → Generale → Receive conversations from other resources</code>.


Se sei non in linea o desincronizzatu, oppure hai sbagliato ad inserire la password, puoi riconnetterti selezionando "diponibile" tra gli stati in basso. Capita però che gajim dica di essere desincronizzato anche se in realtà non lo è: se vedi almeno un contatto in linea non preoccuparti, puoi ignorarlo.
Se sei non in linea o desincronizzatu, oppure hai sbagliato ad inserire la password, puoi riconnetterti selezionando "diponibile" tra gli stati in basso. Capita però che gajim dica di essere desincronizzato anche se in realtà non lo è: se vedi almeno un contatto in linea non preoccuparti, puoi ignorarlo.


====Contatti====
====Contatti====
Ora ti resta solo da aggiungere in rubrica le persone con cui chattare: dal menu  
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.
 
<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.
 


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 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 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>.


====MUC (Multi User Chat)====
====MUC (Multi User Chat)====
Si può entrare in una MUC dal menu  
Si può entrare in una MUC dal menu <code>Azioni → Ricerca dei servizi → eigenLab chatroom → Consulta</code>.
 
<code>Azioni → Ricerca dei servizi → eigenLab chatroom → Consulta</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 login.
 
 
Per non vedere i cambiamenti di stato di tutti i contatti nella MUC


<code>Azioni → Entra in una conversazione di gruppo → Gestisci i segnalibri → Stampa lo stato: "nessuno"</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.


Per non vedere i cambiamenti di stato di tutti i contatti nella stanza: <code>Azioni → Entra in una conversazione di gruppo → Gestisci i segnalibri → Stampa lo stato: "nessuno"</code>.


====Chiamate e videochiamate====
====Chiamate e videochiamate====
Riga 127: Riga 93:
In Debian e derivate <code>python-farstream</code> e <code>gstreamer-plugins-bad</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  
I nuovi plugin si installano dal menu <code>Modifica → Plugin → Available</code>.
 
<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:
Riga 149: Riga 112:
Se avete seguito questa guida avrete installato anche OMEMO, che però andrà attivato come un qualsiasi altro plugin, seguite il punto precedente.
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, 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|nessuno|sinistra]]
 
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.  
Riga 163: Riga 120:
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.
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  
È 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.
 
<code>Modifica → Plugin → Url image preview → Configura → Account: eigenlab.org</code>
 
dove è presente anche il QR-code utilizzato nella verifica da Conversations.


==== 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]: 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.




== Conversations==  
== Conversations==  
Il migliore client per Android per numero di XEP integrate.  
Il migliore client per Android per numero di XEP integrate.  
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.


===Account===
===Account===
[[File:ConversationUserPass.jpg|miniatura|sinistra|Inserisci l'ID Jabber e la password e inizia a chattare!]]


[[File:ConversationUserPass.jpg|miniatura|destra|Inserisci solita mail e pass e via!]]
Per aggiungere un account devi andare in <code>Menu → Gestisci utenti</code>: qui troverai un tastino con un omino stilizzato e un più [[File:AddAccount Conversation.jpg|22px|inline|baseline]]. Cliccaci e otterrai una schermata che ti chiede jabberID e password, inseriscili e sei prontu a chattare!
 
Per aggiungere un account devi andare in
 
<code>Menu → Gestisci utenti</code>
 
Qui troverai un tastino con Un omino stilizzato e un più
 
[[File:AddAccount Conversation.jpg|25px|nessuno]]
 
clickaci, ti troverai in una schermata che ti chiede id jabber e password, inseriscili e sei pronto a chattare!
 


Dal menu "Gestisci utenti" puoi fare una serie di altre opreazioni utili che riguardano il tuo account, come  
Dal menu "Gestisci utenti" puoi fare una serie di altre opreazioni utili che riguardano il tuo account, come  
* Cambiare la propria password: <code>Menu → Gestisci utenti → <tuo utente> → Menu → Cambia password</code>
* Cambiare la propria password: <code>Menu → Gestisci utenti → <tuo utente> → Menu → Cambia password</code>
* 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 MUC (Multi User Chat)===
[[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, clickaci sopra per aprirle, swipe a destra o sinistra per chiuderle.
La prima schermata mostra l'elenco delle chat aperte, cliccaci sopra per aprirle, swipe 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 e MUC====
In alto a destra c'è un grosso <code>+</code>
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]].
[[File:ConversationContacts.jpg|25px|nessuno]]
 
clickandoci troverai l'elenco dei contatti e delle MUC; in alto a destra ci sono, nelle rispettive schede, i tasti per aggiungere contatti e MUC.
 
[[File:AddAccount Conversation.jpg|25px|nessuno]][[File:ConversationJoinMUC.jpg|25px|nessuno]]


====Random settings====
====Random settings====
Conversations di default non mostra se i contatti sono online o meno, ma si può in parte porre rimedio nelle impostazioni:  
Conversations di default non mostra se i contatti sono online o meno, ma si può in parte porre rimedio nelle impostazioni:  
* il pulsante "invio indica lo stato" colora il pulsante nella chat a seconda dello stato del contatto<ref>verde=disponibile rosso=occupato arancione=assente grigio=offline</ref>,  
* il pulsante "invio indica lo stato" colora il pulsante nella chat a seconda dello stato del contatto<ref>verde=disponibile, rosso=occupato, arancione=assente, grigio=offline.</ref>,  
* "mostra tag dinamici" mostra queste informazioni nell'elenco dei contatti, e selezionando <code>Menu → Nascondi i contatti offline</code> saranno visibili solo i contatti online.
* "mostra tag dinamici" mostra queste informazioni nell'elenco dei contatti, e selezionando <code>Menu → Nascondi i contatti offline</code> saranno visibili solo i contatti online.


In una chat di gruppo, cliccando su "Dettagli conferenza" è possibile visualizzare l'elenco degli iscritti.
In una chat di gruppo, cliccando su "Dettagli conferenza" è possibile visualizzare l'elenco degli iscritti.
Riga 232: Riga 163:


====Verifica delle chiavi====
====Verifica delle chiavi====
Per verificare la chiave si può cliccare sull'avatar nella chat oppure andare in <code>Menu → Dettagli del contatto</code>, tenere premuto sulla fingerprint omemo e selezionare <code>Scan 2D Barcode</code>. A questo punto si aprirà l'app per fotografare il QR.<ref>I dispositivi con una fotocamera vecchia e scarsa potrebbero non riuscire a mettere a fuoco un QR su un piccolo schermo, in quel caso si può inquadrare il QR zoommato sullo schermo di un computer oppure stamparlo su un foglio. Per aiutare la messa a fuoco può essere anche utile mettersi un po' a giocare con la luminosità dello schermo.</ref>


Per verificare la chiave si può cliccare sull'avatar nella chat oppure andare in
Per visualizzare il QR della propria fingerprint clicca sul tuo avatar oppure vai in <code>Menu → Gestisci utenti → <tuo utente></code> e poi <code>Menu → Show 2D Barcode</code>  
 
<code>Menu → Dettagli del contatto</code>
 
tenere premuto sulla fingerprint omemo e selezionare <code>Scan 2D Barcode</code>
 
A questo punto si aprirà l'app per fotografare il QR.
 
I dispositivi con una fotocamera vecchia e scarsa potrebbero non riuscire a mettere a fuoco un QR su un piccolo schermo, in quel caso si può inquadrare il QR zoommato sullo schermo di un computer oppure stamparlo su un foglio. Per aiutare la messa a fuoco può essere anche utile mettersi un po' a giocare con la luminosità dello schermo.
 
 
Per visualizzare il QR della propria fingerprint clicka sul tuo avatar oppure vai in  
 
<code>Menu → Gestisci utenti → <tuo utente></code>
 
e poi  
 
<code>Menu → Show 2D Barcode</code>  


Nella stessa pagina è possibile visualizzare la propria fingerprint OMEMO in forma esadecimale, e più in basso, sotto "Altri dispositivi", sono presenti le fingerprint dei propri dispositivi, es. pc con Gajim.  
Nella stessa pagina è possibile visualizzare la propria fingerprint OMEMO in forma esadecimale, e più in basso, sotto "Altri dispositivi", sono presenti le fingerprint dei propri dispositivi, es. pc con Gajim.  
Riga 259: Riga 174:
Sailfish ha una whitelist di applicazioni che possono mostrare notifiche di sistema. Alla versione attuale (2.0.5 Haapajoki) Conversations non è in questa lista, quindi non mostrerà notifiche, nè vibrazione o led.  
Sailfish ha una whitelist di applicazioni che possono mostrare notifiche di sistema. Alla versione attuale (2.0.5 Haapajoki) Conversations non è in questa lista, quindi non mostrerà notifiche, nè vibrazione o led.  


Per risolvere si può installare ''Android apps notifications'' da Warehouse (openrepos.net) e poi abilitare Conversations nel nuovo menù in Settings, oppure modificare da root il file  
Per risolvere si può installare ''Android apps notifications'' da [http://openrepos.net Warehouse] e poi abilitare Conversations nel nuovo menù in Settings, oppure modificare da root il file <code>/usr/share/lipstick/androidnotificationpriorities</code> e aggiungere le righe:
 
<pre>
<code>/usr/share/lipstick/androidnotificationpriorities</code>  
Conversations;chat,chat_exists
 
package:eu.siacs.conversations;chat,chat_exists
e aggiungere le righe:
</pre>
 
<code>Conversations;chat,chat_exists
 
package:eu.siacs.conversations;chat,chat_exists</code>
 
È necessario riavviare Home Screen affinchè le modifiche abbiano effetto.
È necessario riavviare Home Screen affinchè le modifiche abbiano effetto.


La tastiera di sistema non ha il supporto alle emoji, e Dolphin keyboard non sembra funzionare bene con Conversation. Per avere le emoticon si può installare una tastiera android da [[Installare_F-droid|F-droid]] (ad esempio ''AnySoftKeyboard'') e poi abilitare la nuova tastiera in Settings dopo aver installato ''Aliendalvik Control'' da Warehouse.
La tastiera di sistema non ha il supporto alle emoji, e Dolphin keyboard non sembra funzionare bene con Conversation. Per avere le emoticon si può installare una tastiera android da [[Installare_F-droid|F-droid]] (ad esempio ''AnySoftKeyboard'') e poi abilitare la nuova tastiera in Settings dopo aver installato ''Aliendalvik Control'' da Warehouse.


Per rimanere sempre online e ricevere notifiche anche dopo aver chiuso la finestra di Conversation (in modo simile a quanto succede in android), bisogna consentire all'applicazione di eseguire servizi in backgroud all'avvio, in  
Per rimanere sempre online e ricevere notifiche anche dopo aver chiuso la finestra di Conversation (in modo simile a quanto succede in android), bisogna consentire all'applicazione di eseguire servizi in backgroud all'avvio, in <code>Impostazioni → Applicazioni → Conversations</code> e poi selezionare "Mantieni il servizio in primo piano" nelle impostazioni avanzate di Conversations.
 
<code>Impostazioni → Applicazioni → Conversations</code>
 
e poi selezionare "Mantieni il servizio in primo piano" nelle impostazioni avanzate di Conversations.


==Altri Client==
==Altri Client==

Versione delle 17:45, 1 mar 2017

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 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.

Esistono molti programmi per usare XMPP (client) per diverse piattaforme: 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 Gajim (PC) e Conversations (Android).

Il nostro servizio XMPP

Abbiamo installato Prosody sopra Zenzero. Il server che abbiamo installato ha però 2 restrizioni importanti:

  • 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.

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 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 info[at]eigenlab[dot]org.

Estensioni

Abbiamo installato alcuni moduli per implementare alcune XEP, qui una lista parziale ed in aggiornamento:

  • MUC XEP-0045 conference.eigenlab.org per le chat di gruppo (chiamate anche chatroom, conferenze o stanze).
  • SMACKS XEP-0198 per riesumare una sessione interrotta per la caduta della connessione.
  • MAM XEP-0313 per l'archiviazione dei messaggi sul server fino ad una settimana così da poterli recuperare se sì è offline per un po'. Ogni utente può scegliere la sua configurazione per questo modulo.
  • Carbons XEP-0280 Per poter ricevere le conversazioni su tutti i dispositivi che supportano questa estensione. In questo modo è possibile chattare al pc e continuare poi sul telefono o sul portatile, come permettono di fare anche altri client di chat moderni.
  • CSI, throttle presence e filter_chatstates. Una serie di moduli specifici per i dispositivi mobile, permettono di decidere se ricevere o meno le notifiche di presenza di un contatto o quelle tipo "il contatto sta scrivendo" quando il dispositivo è in tasca/in uno stato di basso consumo/ecc...
  • HTTP File Upload XEP-0363 consente l'upload di foto e file sul server, in modo che i client si scambino solo un link e non traferiscano il contenuto del file. I file rimangono a disposizione sul server, e se la chat è cifrata con OMEMO, il loro contenuto non è leggibile se non dal destinatario (il nome del file invece è in chiaro, in modo simile a quanto accade con PGP e l'oggetto della mail). Consente l'invio di foto e file nelle MUC.

Sicurezza

OTR

Con 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 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.

OMEMO

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. Conversations lo supporta di default, anche qui bisogna verificare la chiave del contatto.

Per poter ricevere i messaggi sia su Gajim che su Conversations usando OMEMO bisogna fidarsi delle proprie chiavi su entrambi i device.

Gajim

La grafica di Gajim è decisamente respingente, al momento. Ma il programma funziona benissimo e sui dettagli estetici ci stiamo lavorando.

Gajim è il più completo client desktop per numero di plugin e di XEP recenti supportate.

Installazione

Arch

Bisogna avere l'AUR abilitato e installare i pacchetti con

yaourt -S gajim gajim-plugin-omemo gajim-plugin-httpupload python2-qrcode python2-future

Su alcuni laptop Gajim si inchioda all'uscita dal programma e questo problema sembra risolversi installando il pacchetto python2-dbus.

Debian

Bisogna abilitare jessie-backports: apri sudo nano /etc/apt/sources.list e aggiungi al file la riga:

deb http://ftp.debian.org/debian jessie-backports main

Poi salvarlo e chiuderlo. Dare i comandi

sudo aptitude update
sudo aptitude -t jessie-backports install gajim-omemo gajim
sudo aptitude install python-qrcode

Configurazione

Account

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

Per cambiare la propria password, dal menu Account -> Operazioni amministrative → cambia la password.

Per ricevere i messaggi su tutti i dispositivi connessi allo stesso account bisogna selezionare Account → Generale → Receive conversations from other resources.

Se sei non in linea o desincronizzatu, oppure hai sbagliato ad inserire la password, puoi riconnetterti selezionando "diponibile" tra gli stati in basso. Capita però che gajim dica di essere desincronizzato anche se in realtà non lo è: se vedi almeno un contatto in linea non preoccuparti, puoi ignorarlo.

Contatti

Ora ti resta solo da aggiungere in rubrica le persone con cui chattare: dal menu Azioni → aggiungi un contatto inserisci l'ID Jabber del tuo amico pippo@eigenlab.org 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 Gestisci il contatto → Abbonamento clicca su Permetti al contatto di vedere il mio stato e Chiedi al contatto di poter vedere il suo stato.

MUC (Multi User Chat)

Si può entrare in una MUC dal menu Azioni → Ricerca dei servizi → eigenLab chatroom → Consulta.

Nella finestra che apparirà conviene selezionare "Aggiungi questa stanza ai segnalibri", che rende accessibile la stanza dal menu Azioni → Entra in una conversazione di gruppo. Selezionando "Entra automaticamente in questa stanza alla connessione", Gajim entrerà nella stanza al momento del login.

Per non vedere i cambiamenti di stato di tutti i contatti nella stanza: Azioni → Entra in una conversazione di gruppo → Gestisci i segnalibri → Stampa lo stato: "nessuno".

Chiamate e videochiamate

Per abilitare il supporto alle audio e videochiamate audio (supportato da Gajim, Pidgin e Telepathy) bisogna installare dei pacchetti aggiuntivi.

In Arch installare farstream.

In Debian e derivate python-farstream e gstreamer-plugins-bad.

Plugin

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 Modifica → Plugin → Available.

Dopo aver selezionato i plugin che vuoi installare clicca su install/upgrade, e poi abilitali nella scheda "installed".

Di seguito alcuni plugin particolarmente utili:

  • 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 Modifica → plugin → emoticon, installa Twemoji resized. Sembrerà che non sia successo nulla, ma non ti preouccare, vai in Preferenze → emoticon 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 Modifica → Olugin → Url image preview → Configura 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.

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, 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 inline da cui si può abilitare OMEMO nella chat.

Cliccando "fingerprints" si possono verificare le fingerprint del contatto.

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 Modifica → Plugin → Url image preview → Configura → Account: eigenlab.org dove è presente anche il QR-code utilizzato nella verifica da Conversations.

Problemi

Gajim sembra non supportare completamente Message Archiving per le MUC [1]: 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.


Conversations

Il migliore client per Android per numero di XEP integrate. Puoi installarlo con F-droid; c'è anche nel PlayStore, ma a pagamento.

Account

Inserisci l'ID Jabber e la password e inizia a chattare!

Per aggiungere un account devi andare in Menu → Gestisci utenti: qui troverai un tastino con un omino stilizzato e un più inline. Cliccaci e otterrai una schermata che ti chiede jabberID e password, inseriscili e sei prontu a chattare!

Dal menu "Gestisci utenti" puoi fare una serie di altre opreazioni utili che riguardano il tuo account, come

  • Cambiare la propria password: Menu → Gestisci utenti → <tuo utente> → Menu → Cambia password
  • Impostare un avatar: Menu → Gestisci utenti → <tuo utente> e poi clicca sull'avatar.

Contatti, chat e MUC (Multi User Chat)

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.

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

In alto a destra c'è una icona con un grosso "più": inline Cliccandoci troverai l'elenco dei contatti e delle MUC; in alto a destra ci sono, nelle rispettive schede, i tasti per aggiungere contatti inline e MUC inline.

Random settings

Conversations di default non mostra se i contatti sono online o meno, ma si può in parte porre rimedio nelle impostazioni:

  • il pulsante "invio indica lo stato" colora il pulsante nella chat a seconda dello stato del contatto[1],
  • "mostra tag dinamici" mostra queste informazioni nell'elenco dei contatti, e selezionando Menu → Nascondi i contatti offline saranno visibili solo i contatti online.

In una chat di gruppo, cliccando su "Dettagli conferenza" è possibile visualizzare l'elenco degli iscritti.

OMEMO

Alla prima conversazione con un client che supporta OMEMO chiederà di abilitare la chiave del contatto per poter iniziare a chattare.

È buona norma verificare questa fingerprint tramite altro mezzo, tuttavia Conversations considera una chiave abilitata come "non verificata" (perchè non si fida del fatto che gli utenti verificano davvero quella chiave prima di abilitarla) e mostra un lucchetto rosso nella conversazione. La verifica avviene tramite la scansione di un QR code in cui è contenuta la chiave dell'amico.

Verifica delle chiavi

Per verificare la chiave si può cliccare sull'avatar nella chat oppure andare in Menu → Dettagli del contatto, tenere premuto sulla fingerprint omemo e selezionare Scan 2D Barcode. A questo punto si aprirà l'app per fotografare il QR.[2]

Per visualizzare il QR della propria fingerprint clicca sul tuo avatar oppure vai in Menu → Gestisci utenti → <tuo utente> e poi Menu → Show 2D Barcode

Nella stessa pagina è possibile visualizzare la propria fingerprint OMEMO in forma esadecimale, e più in basso, sotto "Altri dispositivi", sono presenti le fingerprint dei propri dispositivi, es. pc con Gajim.

È necessario verificare anche quelle per essere sicuri della riservatezza della conversazione. Allo stesso modo della verifica della fingerprint di un contatto, tenendo premuto apparirà Scan 2D Barcode.

Integrazione in Sailfish OS

Sailfish ha una whitelist di applicazioni che possono mostrare notifiche di sistema. Alla versione attuale (2.0.5 Haapajoki) Conversations non è in questa lista, quindi non mostrerà notifiche, nè vibrazione o led.

Per risolvere si può installare Android apps notifications da Warehouse e poi abilitare Conversations nel nuovo menù in Settings, oppure modificare da root il file /usr/share/lipstick/androidnotificationpriorities e aggiungere le righe:

Conversations;chat,chat_exists
package:eu.siacs.conversations;chat,chat_exists

È necessario riavviare Home Screen affinchè le modifiche abbiano effetto.

La tastiera di sistema non ha il supporto alle emoji, e Dolphin keyboard non sembra funzionare bene con Conversation. Per avere le emoticon si può installare una tastiera android da F-droid (ad esempio AnySoftKeyboard) e poi abilitare la nuova tastiera in Settings dopo aver installato Aliendalvik Control da Warehouse.

Per rimanere sempre online e ricevere notifiche anche dopo aver chiuso la finestra di Conversation (in modo simile a quanto succede in android), bisogna consentire all'applicazione di eseguire servizi in backgroud all'avvio, in Impostazioni → Applicazioni → Conversations e poi selezionare "Mantieni il servizio in primo piano" nelle impostazioni avanzate di Conversations.

Altri Client

Telepathy

Integrato in KDE, manca di opzioni per la configurazione, supporta OTR ma non le carbon copy ed il message archiving.

Pidgin

Pidgin.

XabberDev

XabberDev.

  1. verde=disponibile, rosso=occupato, arancione=assente, grigio=offline.
  2. I dispositivi con una fotocamera vecchia e scarsa potrebbero non riuscire a mettere a fuoco un QR su un piccolo schermo, in quel caso si può inquadrare il QR zoommato sullo schermo di un computer oppure stamparlo su un foglio. Per aiutare la messa a fuoco può essere anche utile mettersi un po' a giocare con la luminosità dello schermo.