<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">Il 03/12/2013 16:36, Clauz ha scritto:<br>
    </div>
    <blockquote cite="mid:529DFA65.8080609@ninux.org" type="cite">
      <pre wrap="">On 12/03/2013 12:14 AM, Gabriel wrote:>
</pre>
      <blockquote type="cite" style="color: #000000;">
        <pre wrap=""><span class="moz-txt-citetags">> </span>con il comando che diceva Clauz evitiamo di doverci scrivere il
<span class="moz-txt-citetags">> </span>programma che parla su socket.
<span class="moz-txt-citetags">> </span>Con crond e awk si fa eseguire e parsare ogni tot, e ninuxoo va a
<span class="moz-txt-citetags">> </span>leggere il file con gli ip degli altri nodi-ninuxoo.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Servirebbe un altro comando per annunciare il servizio con avahi.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>@Clauz conosci il comando?
</pre>
      </blockquote>
      <pre wrap="">Ho visto che esiste avahi-publish, che dovrebbe fare al caso nostro, ma
non l'ho mai usato.
</pre>
    </blockquote>
    Allora,<br>
    ho fatto approfondimenti e mi pare funzionare:<br>
    <ol>
      <li>Ogni NAS deve avere avahi installato con questa config:</li>
      <ul>
        <li>Path: <big><tt>/etc/avahi/services/sap.service</tt></big></li>
        <li>Contenuto:<br>
          <big><tt><?xml version="1.0"
              standalone='no'?><!--*-nxml-*--></tt></big><br>
          <big><tt><!DOCTYPE service-group SYSTEM
              "avahi-service.dtd"></tt><tt><br>
            </tt><tt><service-group></tt><tt><br>
            </tt><tt>  <name replace-wildcards="yes">{NOME
              PROPRIETARIO}</name></tt><tt><br>
            </tt><tt>  <service></tt><tt><br>
            </tt><tt>    <type>_sap._udp</type></tt><tt><br>
            </tt><tt>    <port>64689</port></tt><tt><br>
            </tt><tt>    <txt-record>Hello guys I'm a Ninuxoo
              device</txt-record></tt><tt><br>
            </tt><tt>  </service></tt><tt><br>
            </tt><tt></service-group></tt></big><br>
        </li>
      </ul>
      <li>Per trovare quindi gli altri NAS basterà lanciare questo
        comando: <big><tt>avahi-browse _sap._udp -rpt</tt></big></li>
    </ol>
    <p><br>
      <b>SPIEGAZIONE</b><br>
      In pratica ogni NAS annuncerà "<big><small>Hello guys I'm a
          Ninuxoo device" in protocollo SAP via udp, sulla porta 64689.<br>
          Il campo NOME PROPRIETARIO è arbitrario e serve per far capire
          agli altri ninuxiani di chi è quel nas.<br>
          Ciclicamente (secondo le impostazioni del proprietario del
          NAS), il device farà un check (punto 2) e invierà una mail al
          suo proprietario con un report.<br>
          Se quindi si indica di collegare un altro NAS si avvia lo
          scambio chiavi RSA e l'operazione sarà conclusa quando il
          proprietario dell'altro NAS avrà accettato [1].<br>
          Una volta agganciati i NAS comunicheranno con costanza e in
          maniera cifrata.<br>
          Ad esempio: quando faccio una ricerca, il mio NAS cercherà via
          mdns tutti gli altri, ne risolverà l'ip e invierà una
          richiesta di ricerca locale. Se i token corrispondono si
          otterranno risultati che saranno quindi aggiunti alla gui come
          stessero in locale, diversamente una risposta del tipo "ma che
          vòi" :D<br>
        </small></big></p>
    <p><big><small>In tutti i processi solo le macchine sapranno gli
          indirizzi IP (che saranno comunque cifrati).<br>
          Se un device cambia hostname o indirizzo non ce ne frega nulla
          perché il tutto si associa alla sua chiave rsa pubblica.<br>
          Cambiando chiave RSA bisognera far ricollegare tutti i NAS
          conosciuti (che marcheranno quella vecchia come revocata).<br>
        </small></big></p>
    <p><big><small><b>Note</b><br>
          1.
<a class="moz-txt-link-freetext" href="https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device#facciamo-amicizia">https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device#facciamo-amicizia</a></small></big></p>
    <p><big><small>Ce piace?</small></big><br>
      <big><small><big><small>@Clauz e @Gabriel +1<br>
            </small></big>Gubi<br>
        </small></big></p>
  </body>
</html>