Prendendo spunto da questa discussione e poi da quest'altra, mi sono divertito a scrivere uno script che permette di avviare una comunicazione audio tra due pc in una stessa LAN.
Il mio scopo principale era di fare una cosa semplice, ma efficace, quindi ho evitato demoni in ascolto su porte e protocolli di comunicazione complessi. Fa tutto lo script, lanciando se stesso sulla macchina remota con cui si vuole parlare.
Non ha bisogno di creare account o cose del genere, lo script lavora esclusivamente sul fatto che un pc sia collegato o no alla mia LAN, se è collegato è raggiungibile per parlare.
Si tratta di uno script in bash, non ha bisogno di installazione, basta metterlo in una delle cartelle comprese in $PATH (da me l'ho messo in /usr/local/bin).
Dipendenze:
- nmap per fare lo scan dei pc collegati alla LAN. (se qualcuno conosce un modo per fare la stessa cosa senza nmap... benvenga)
- ssh (client e server)
- autenticazione di acesso alla macchina remota con coppia di chiavi pubblica/privata (non ho provato senza le chiavi RSA, ma immagino che chieda la pasword di accesso ad ogni comando ssh)
Siccome lo script lancia se stesso sulla macchina che si vuole chiamare, deve essere presente su tutte le macchine che si vogliono raggiungere.
Per la connessione ssh lo script legge il file /etc/ssh/sshd_config sul pc in cui risiede ed usa la porta definita nel file di configurazione di ssh per collegarsi agli altri pc. Immagino che, nel caso in cui si usi una porta diversa dalla 22, tutti i pc in una stesa LAN usino la stessa porta.
Per usarlo è sufficiente, una volta messo nella sua cartella definitiva, lanciare il comando citofono.sh da un lanciatore, oppure dal menu.
In osservanza alle regole di questa board, ho aggiunto la dicitura per la licenza GPL, spero che sia sufficiente.
TODO:
- Devo ancora trovare un modo efficiente di permettere l'interruzione della conversazione dal pc chiamato, per ora si può interrompere solo dal chiamante.
- Rilevare se il pc trovato in rete non usa linux, per eliminarlo dalla lista
- Compatibilità con Win e Mac
Beh, se a qualcuno interessa 'sta cosa, e vuole usarla e/o migliorarla... benvenga.
Non sono un espertissimo in bash, quindi magari ho scritto qualcosa in modo un po' contorto.
Aggiornamenti
22/07/11 aggiornato alla versione 01-a, aggiunta possibilità di interrompere la chiamata dal chiamato.
23/07/11 aggiornato alla versione 01-b, solo un po' di pulizia del codice.
25/07/11 aggiornato alla versione 01-c, controllo del SO sul pc trovato in rete, accetta solo pc con Linux
Attenzione: Nella versione 01-b ho commesso l' errore di mettere il nome della versione nel nome del file .sh, scusate. Nel nuovo pacchetto c`è lo script con nome citofono.sh, senza versione.


