Archives For SSH

Uno di quegli articoli “bibbia” per il quale potrei andare avanti a scrivere per ore, ma che mi rendo conto di non poter stendere per evitare di stendere il lettore (sembra una frase scritta da Fedez, ti chiedo scusa, non lo faccio più). Te lo avevo anticipato facendolo trasparire nell’articolo di partenza dedicato a Raspberry Pi (Raspberry Pi: la base di partenza), ora è arrivato il momento di parlarne e di capire come tu puoi creare un server DNS casalingo in grado di proteggerti da siti web pericolosi (prima di tutto) e dalla pubblicità invasiva, con particolare attenzione al filtro che puoi ulteriormente applicare per la protezione della navigazione dei minori.

Pi-hole: installazione e prima configurazione

Pi-hole

Un gran bel progetto che richiede da parte tua il minimo sforzo (dipende molto da quello che cerchi e da quanto in “profondità” vuoi andare per sfruttarne le potenzialità), open source e di libero accesso, sostenuto dalle donazioni volontarie degli utilizzatori (che ti invito a valutare). Pi-hole si definisce come “A black hole for Internet advertisements“, un buco nero per tutta la pubblicità invasiva di Internet, un concetto certamente ben identificativo del progetto, ma che a mio parere risulta un po’ restrittivo rispetto a quello che un prodotto simile può davvero fare per l’utilizzatore finale.

Secondo una definizione certamente più tecnica disponibile sulla Wiki di archlinux, Pi-hole è un:

DNS sinkhole che redige una lista di blocco di domini conosciuti per offrire pubblicità e malware da sorgenti multiple di terze parti. Pi-hole, attraverso l’uso di dnsmasq, elimina semplicemente tutte le richieste di domini nella sua lista di blocco. Questa configurazione implementa efficacemente il blocco della pubblicità a livello di rete senza dover configurare ogni singolo client. Il pacchetto offre una interfaccia web e una a riga di comando.

Se sei abituato a utilizzare Adblock Plus o un qualsivoglia prodotto che svolge lo stesso compito sul tuo browser preferito hai certamente chiaro il concetto alla base: evito alla sorgente che le risorse vengano caricate in un solo colpo e per tutti i dispositivi connessi alla rete, perché Pi-hole mi permette di intercettarle e redirigerle in maniera differente rispetto ai DNS pubblici, ovvero troncando la comunicazione con quei domini che vengono utilizzati per veicolare pubblicità invasiva (e non solo). Il grande vantaggio del prodotto sta certamente nella centralizzazione delle tue operazioni e nella possibilità di scaricare un po’ di lavoro dalle spalle del browser che potrà così rinunciare a un componente aggiuntivo spesso esoso di risorse (dipende da quello che stai utilizzando, nda).

Installazione

Tutto chiaro? D’accordo. A questo punto passiamo al succo vero dell’articolo, installiamo Pi-hole sul tuo RPi (la soluzione certamente più comoda) o su un NAS ammesso che questo ti permetta di far girare Docker, o ancora su una macchina Linux che utilizzi già per fare altro all’interno della tua rete, trovi la lista di compatibilità del prodotto all’indirizzo docs.pi-hole.net/main/prerequesites/#supported-operating-systems.

Io baso il mio articolo su Raspberry Pi (RPi), ho creato una macchina virtuale sul mio Mac con Raspbian a bordo appositamente per catturare qualche screenshot per questo articolo (l’installazione di produzione l’ho fatta ormai circa un mese fa e ho semplicemente dimenticato di crearmi delle prove fotografiche 😅). Cominciamo.

Collegati in SSH al tuo RPi e lancia la stringa di installazione curl -sSL https://install.pi-hole.net | bash esattamente come riportato in home page del sito web di Pi-hole. Dopo un rapido check di sistema (serve capire se hai già tutto a bordo o se sarà necessario installare qualcosa) ti troverai davanti alle schermate di configurazione di Pi-hole:

Ti riporto qui la lista dei passaggi inseriti nella galleria di immagini sopra disponibile, integrando il tutto con ciò che nella galleria non c’è:

  • L’installazione comincia. Premi invio per continuare.
  • Arriverai alla schermata informativa riguardante l’IP da assegnare alla tua installazione Pi-hole: fai in modo che questo sia sempre lo stesso (statico o tramite reservation sul DHCP).
  • Comunica a Pi-Hole che DNS pubblici utilizzare per la risoluzione dei nomi a dominio (nel mio caso ho scelto Google, 8.8.8.8 e 8.8.4.4).
  • Specifica ora che liste di blocco vuoi cominciare a utilizzare. La barra spaziatrice serve per selezionare o deselezionare una voce. Spostati con le freccette nella schermata. Quando terminato, premi invio per confermare. Non preoccuparti di questa scelta, sarà sempre modificabile in un secondo momento.
  • Seleziona entrambi i protocolli di comunicazione (IPv4 e IPv6).
  • Conferma l’indirizzo IP della macchina (RPi) e del tuo router quando richiesto.
  • Quando richiesto, conferma di voler installare l’interfaccia web amministrativa. Servirà un’ulteriore conferma successiva alla richiesta di installazione di lighttpd. Lascia che le richieste (query) vengano loggate (0 – Show everything).
  • A questo punto ti basterà attendere che l’installazione proceda autonomamente fino al termine. Ti verrà mostrata una pagina riepilogativa contenente – tra le altre cose – la password di amministrazione del tuo nuovo Pi-hole.

Puoi ora collegarti alla console di Pi-hole utilizzando l’indirizzo che ti è stato riportato nella schermata riepilogativa, esempio http://192.168.1.10/admin. Salvo errori, ti troverai davanti alla console del software, dovrai quindi fare clic sulla voce Login (nella colonna di sinistra) e inserire la password che ti è stata precedentemente fornita, solo così potrai accedere alla gestione completa del tuo nuovo giocattolo.

Pi-hole: installazione e prima configurazione 11

Utilizzo

Ci siamo, fino a qui sei stato capace di installare Pi-hole sul tuo RPi, non ti resta che utilizzarlo e metterlo in pista per tutti i client della tua rete, prima però credo sia necessario un po’ di tuning e personalizzazione.

Cosa c’è da sapere? Beh, di certo fossi in te darei un’occhiata alle Impostazioni (Settings), all’interno delle quali troverai le informazioni sull’installazione (con possibilità di lanciare alcuni comandi rapidi, come il riavvio o lo spegnimento di sistema, o il blocco dell’attività di logging), le blacklist sottoscritte, i DNS pubblici utilizzati per la risoluzione dei nomi a dominio. Pi-hole può inoltre fare da server DHCP se lo preferisci, sostituendo così una delle funzioni che un router svolge in maniera predefinita. Seppur correttamente funzionante, preferisco che questo compito continui a svolgerlo il mio Fritz!Box e che lui faccia passare le richieste DNS dal mio RPi (così da sottostare al comando di Pi-hole).

Per concludere, troverai una schermata dedicata alla modifica della console e alle API che puoi utilizzare per integrare un differente softwae con Pi-hole, ma anche la sezione Privacy (per il livello / profondità di log da utilizzare) e il Teleporter, ovvero il modulo di Pi-hole che ti permette di esportare la tua configurazione e importarla su una differente installazione (che è grosso modo ciò che fai per portare a termine le operazioni di backup e restore di qualsivoglia tuo dato).

Cosa ho modificato?

Tralasciando le blacklist delle quali ti parlo tra poco, ho certamente ritoccato la parte relativa ai DNS, obbligando Pi-hole a interrogare Google utilizzando DNSSEC (ti ho parlato di questa tecnologia in un articolo relativo a Firefox: Firefox: DNS over HTTPS (di Cloudflare, ma non solo)):

Pi-hole: installazione e prima configurazione 1

In seguito ho ritoccato la parte relativa alla console, chiedendole di non mostrarmi alcuni domini bloccati nella totalità dei casi (indirizzi utilizzati per le pubblicità invasive delle applicazioni Android, quei banner che ti portano spesso ad abbonamenti mai richiesti, nda), ma questo è certamente un comportamento che farà comodo anche a te quando inizierai ad avere dello storico di navigazione tramite Pi-hole.

Le blocklist

È così che le chiama Pi-hole (SettingsBlocklists). Si tratta di blacklist composte da domini dei quali puoi quasi certamente fare a meno, sono quelli che generalmente propongono banner pubblicitari invasivi ma anche pericolosi script che possono danneggiare il tuo browser (Malware Domains). Dopo aver fatto piazza pulita di alcune liste che ho inizialmente utilizzato e studiato, sono arrivato ad avere una situazione della quale sono molto soddisfatto, che “limito” in qualche maniera grazie all’utilizzo della Whitelist di Pi-hole (e di questo ne parliamo presto perché c’è una novità in pentola, promesso).

L’attuale mia situazione vede in uso queste liste:

URL listaScopo
https://raw.githubusercontent.com/lightswitch05/hosts/master/ads-and-tracking.txtUna ricca lista in grado di bloccare domini che tracciano le attività di navigazione quotidiane, valida anche per tutto ciò che riguarda le applicazioni che caricano banner su Android e iOS. Un conto sono le pubblicità (che possiamo anche sopportare), un altro sono quei contenuti che portano ad abbonamenti non graditi e mai richiesti consapevolmente.
https://www.squidblacklist.org/downloads/dg-ads.aclStesso scopo della lista poco sopra, questa viene costantemente aggiornata da squidblacklist.org (non conosci Squid? Dai un'occhiata qui).
https://raw.githubusercontent.com/StevenBlack/hosts/master/hostsSteven Black raggruppa diverse Block List (Awdware, Malware, Fraud, Scam, Spam, Tracking e Cryptomining) cercando di eliminare tutti i falsi positivi e tenendo il suo lavoro costantemente aggiornato. Se dai un'occhiata al suo spazio GitHub troverai liste per filtrare anche altri tipi di siti web.
https://raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/master/hosts.txtSulla falsa riga di quanto faccio già con la NoCoin per Adblock Plus, questa lista è già pronta (e costantemente aggiornata) per essere digerita da Pi-Hole, permette di bloccare tutti i siti web che utilizzano script di mining che mettono in difficoltà le risorse del tuo PC.
https://mirror1.malwaredomains.com/files/justdomainsCome per la NoCoin di cui ti parlavo giusto qui sopra, anche la Harmful WebSites trova una sua versione di tipo host da poter dare in pasto a Pi-Hole. Blocca quindi i domini che sono veicolo di malware. Curata da malwaredomains.com.
https://www.squidblacklist.org/downloads/dg-malicious.aclBlocca i domini che sono veicolo di malware. Curata da squidblacklist.org.
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklistLista di domini potenzialmente dannosi, che possono essere bloccati in tranquillità, nasce da un progetto molto ambizioso che fornisce diversi dati in merito ai tanti abusi presenti sulla rete. Curata da abuse.ch.
http://theantisocialengineer.com/AntiSocial_Blacklist_Community_V1.txtBlocca tutti quei domini che tentano di truffare il visitatore facendogli credere di essere in tutto e per tutto su siti reali, istituzionali, di una certa rilevanza, come per esempio quelli delle banche, di Microsoft, Google, ecc.
https://phishing.army/download/phishing_army_blocklist_extended.txtUna creatura di Andrea 'Drego' Draghetti data alla luce relativamente poco tempo fa. Il sito web ufficiale lo trovi all'indirizzo phishing.army, la lista viene aggiornata spesso e sempre verificata per evitare quanto più possibile errori e falsi positivi. Ti protegge da siti web che tentano di frodarti durante la navigazione. Ti consiglio personalmente la versione estesa, contenente anche i sottodomini.

(Se vuoi copiare e incollare facilmente tutti gli URL, fai riferimento a questa pagina: github.com/gioxx/ph-whitelist/blob/master/domains/blocklists.md).

Pi-hole: installazione e prima configurazione 12

Si va così a creare un recinto di protezione più per i siti web potenzialmente pericolosi che per la pubblicità in sé. Per quel mestiere sai bene che allo stato attuale continuo a utilizzare Adblock Plus e i moduli X Files, in un futuro chissà, potrei virare verso qualcosa “Pi-hole oriented“.

Liste predefinite e altri progetti

Se ti interessa verificare o recuperare in qualche maniera le liste proposte di default in fase di installazione di Pi-hole, trovi qui un riferimento ufficiale su GitHub: github.com/pi-hole/pi-hole/wiki/Customising-sources-for-ad-lists.

Noterai che oltre queste, su Internet esistono una quantità non meglio definita di progetti che vogliono in qualche maniera alimentare il già ricchissimo database di domini dai quali stare bene alla larga. Io cerco sempre di dare un’occhiata a liste e curatori per capire quante e quali di loro si può meglio occupare dell’aggiornamento delle regole del mio Pi-hole, per evitare spiacevoli inconvenienti durante la quotidiana navigazione dei client di casa e dei dispositivi accesi e connessi h24. C’è a tal proposito un progetto molto corposo al quale ho dato un’occhiata ma che allo stato attuale ho abbandonato a causa di liste non ben controllate: blocklist.site/app, una vera e propria vetrina che mette a disposizione liste per ogni necessità. Magari tu ne conosci altri che vuoi condividere (mi farebbe piacere), l’area commenti è a tua disposizione.

Aggiornamenti giornalieri

Alcune liste che ti ho suggerito nella tabella qui sopra vengono aggiornate quotidianamente. Per questo motivo ho personalmente deciso di modificare il comportamento di Pi-Hole chiedendogli di fare un aggiornamento completo delle sottoscrizioni ogni 24h. Il comportamento predefinito del software indica che questa azione viene compiuta una volta ogni settimana (vedi: discourse.pi-hole.net/t/updating-blocklist-every-day/16853).

Lo puoi vedere tu stesso da Terminale: more /etc/cron.d/pihole. Una riga simile a questa dovrebbe indicarti quando viene eseguito l’aggiornamento del modulo Gravity:

7 3 * * 7 root PATH="$PATH:/usr/local/bin/" pihole updateGravity >/var/log/pihole_updateGravity.log || cat /var/log/pihole_updateGravity.log

Se non sai interpretare la prima parte della stringa non preoccuparti, si tratta di una sequenza che riporta minuto-ora-arco del mese-mesi-giorno leggibile da Crontab. Vuoi capire meglio per cosa sta? Eccoti servito: crontab.guru/#7_3_*_*_7. Per eseguire un aggiornamento quotidiano ho modificato il file tramite comando sudo nano /etc/cron.d/pihole, commentando la riga sopra riportata (basta inserire il simbolo del cancelletto # a inizio riga) e riportando subito sotto questo:

7 3 * * 0-6 root PATH="$PATH:/usr/local/bin/" pihole updateGravity >/var/log/pihole_updateGravity.log || cat /var/log/pihole_updateGravity.log

Noti nulla di diverso? Esatto. L’ultima parte indica al Crontab di eseguire il lavoro dal giorno 0 al giorno 6, ovvero dalla domenica al sabato (crontab.guru/#7_3_*_*_0-6).

Salva la modifica con la combinazione CTRL + X da tastiera, seguita da S per indicare sì quando Nano chiederà se scrivere le modifiche sul file.

In conclusione

Difficile concludere quando in realtà c’è altro da dire, ma l’articolo è davvero diventato troppo lungo e pesante. Nella “prossima puntata” ti parlerò di Whitelist e della possibilità di automatizzare l’aggiornamento di quest’ultima anche se nativamente non previsto. La novità esiste già e sono certo che ti piacerà (se l’argomento Pi-hole ti ha interessato, chiaramente), dovrai solo pazientare una manciata di giorni ancora.

In generale c’è ancora molto da approfondire riguardo l’argomento RPi 🙂

Nel frattempo se hai qualsiasi dubbio o domanda in merito a quanto scritto, l’area commenti è a tua totale disposizione (anche senza registrazione a Disqus). Spero di aver stuzzicato la tua curiosità e che tu possa suggerirmi ulteriori fonti da consultare in merito al progetto.


Crediti:
Condividi l'articolo con i tuoi contatti:

Quando si parla di backup lo scopo principale del gioco è sempre e solo uno: cercare di non perdere i propri file. Che tu li voglia salvare in copia singola o doppia poco importa, ciò che spesso serve è la delocalizzazione dei file per evitare che il Single Point of Failure sia dietro l’angolo (ho i file sul disco in casa! Ok, e se ti entrano in casa?). Per fare questo mestiere esistono già diverse soluzioni NAS in grado di replicarsi tra loro anche su differenti reti fisiche e in Cloud, ma se volessimo farlo tramite RPi?

Dato che ci stiamo per addentrare un po’ più nella ciccia, è il momento giusto per il doveroso (e assente da un po’) …

Attenzione: articolo ad alto tasso di tecnicismi lavorativi, nerditudine, viaggi mentali che potrebbero non interessare ai più, comunque vada perdete ogni speranza o voi che leggete.
RPi3 e rclone: sincronizzazione dei file tra locale e Cloud

source: unsplash.com / author: Fredy Jacob

rclone

Si chiama rclone e permette di sincronizzare file (in più modi / vie) tra locale e Cloud, non necessariamente con ambo i protagonisti presi in causa. Cosa vuol dire? Vuol dire che nessuno ti vieta di utilizzare rclone per scambiare dati tra due punti in locale (forse poco utile) o tra due punti in Cloud (e qui torna utile in caso di migrazioni), o locale misto Cloud che riguarda forse la maggior parte dei casi. Si tratta di una soluzione completamente open, trovi tutto il progetto su GitHub.

rclone è in grado di dialogare con una quantità molto elevata di servizi di Cloud Storage, è un po’ un coltellino svizzero da tenere a portata di mano (anche sotto forma di soluzione portable). Esistono alcune interfacce grafiche per Windows o macOS ma alcune di queste non vengono più sviluppate e supportate, quindi ti consiglio caldamente di imparare a utilizzare la sua riga di comando: rclone.org/docs.

Qualche esempio pratico

Con l’arrivo di RPi3 B+ in casa, ho scelto di iniziare a giocare con rclone e migrare (in test) quei backup oggi portati a termine da Windows e SyncBack Free. Ti faccio quindi qualche esempio pratico di come sia possibile ottenere lo stesso risultato passando da tutt’altro Sistema Operativo e relativo software di copia dati.

Partendo dal presupposto che tu abbia già configurato rclone e inserito quindi i vari connettori che ti servono (in questo caso parliamo di puro SFTP e nulla più), ti basterà realizzare un piccolo script bash contenente poche e semplici istruzioni, come questo:

rclone sync "gioxx_org:html/wp-content/backupwordpress" "Dropbox:DBBackup/gioxx.org" -P --transfers 9 --include *.zip

La stringa si traduce in questa maniera:

  • gioxx_org è il nome che ho dato al connettore rclone che si occupa di collegarsi a questo blog, dopo i due punti occorre inserire il percorso della cartella che si intende raggiungere. Per arrivare alla backupwordpress mi servirà attraversare prima html/wp-content. Questo percorso è lo stesso che vedresti utilizzando un qualsiasi client FTP per collegarti al tuo spazio web.
  • Dropbox è il nome (molto banale, ne sono consapevole) che ho dato al connettore rclone che si collega al mio account Dropbox. All’interno della home del mio Dropbox esiste una cartella chiamata DBBackup e al suo interno un’ulteriore cartella chiamata gioxx.org, è qui che finiscono tutti i file zip contenenti i backup del mio database MySQL (nota infatti il --include *.zip finale nella riga di comando, che obbliga rclone a scaricare solo file di tipo ZIP).
  • Il parametro -P equivale al “Progress“, rclone mi mostrerà a video l’avanzamento delle operazioni.
  • Il parametro --transfers 9 serve a forzare rclone a trasferire fino a 9 file alla volta, contemporaneamente, perché la mia macchina e la connettività possono sopportarlo. Più è alto il numero, più consumerai RAM e CPU della tua macchina (e occuperai banda internet in download e upload dato che il trasferimento viene eseguito dallo spazio FTP a Dropbox).

Tutto chiaro? Vuoi un altro esempio?

rclone sync "fuorigioco:html" "Dropbox:WebBackup/fuorigio.co" -P --transfers 9 --filter-from /home/pi/exclude-fCo.txt

Cosa è cambiato?

  • Nulla cambia per il sync in sé. Sto chiedendo a rclone di tenere sincronizzati tutti i file della cartella html di fuorigioco (connettore che si collega al buon vecchio fuorigio.co) con una apposita cartella sull’account Dropbox. Restano i 9 trasferimenti contemporanei e la visualizzazione dei progressi, ma.
  • Ma in questo caso utilizzo il filtering messo a disposizione da rclone per escludere una lista di file e cartelle che non mi interessano (vedi: rclone.org/filtering). Sto chiedendo a rclone di aprire il file di testo exclude-fCo.txt e leggere cosa non voglio che venga sottoposto a sincronizzazione, per capirci:
# Esclusioni Fuorigio.co
- /wp-admin/**
- /wp-includes/**

Salta la prima riga, un commento per capire di che lista stiamo parlando nel momento in cui apro il file di testo. Da lì in poi potrai notare un elenco fatto di cartelle che voglio saltare a piè pari, che rclone quindi ignorerà passando oltre. Nessuno ti vieta, come specificato nella documentazione ufficiale, di inserire ulteriori cartelle o singoli file, anche utilizzando delle wildcard che possono quindi fare match con più dati contemporaneamente.

Non ti resta che il crontab

Se non sai di cosa stiamo parlando (sei serio? E hai avuto la pazienza di leggere fino a qua? Fatti abbracciare!), trovi tutto ciò che c’è da sapere riguardo crontab su Raspbian (ma non solo) all’indirizzo raspberrypi.org/documentation/linux/usage/cron.md.

L’attività via rclone la sappiamo padroneggiare e lo script bash è pronto. Lo hai già reso eseguibile, non ti resta che programmarne l’esecuzione secondo esigenza. In questo momento possono quindi tornarti utili un paio di siti web dedicati alla generazione di righe crontab da copiare e riportare facilmente nel file di sistema (sudo crontab -e):

Io utilizzo un pelo più il primo che il secondo (quest’ultimo è molto utile quando vuoi immediatamente leggere in maniera più sensata una riga di Crontab più che crearla da zero). Specifica l’intervallo di esecuzione del tuo script e fornisci ogni dettaglio richiesto, così arriverai a un risultato che potrebbe essere simile a questo:

0 2 * * * /home/pi/DBBackup.sh

Come lo si legge? Ecco: lo script di backup verrà eseguito alle ore 2 del mattino (il 2) in punto (lo 0, che diversamente avrebbe dovuto riportare un altro numero da 1 a 59 se avessi voluto un diverso orario più “esotico“), di ogni giorno (il primo asterisco, avrebbe potuto avere valore da 1 a 31), di ogni mese (il secondo asterisco, avrebbe potuto avere valore da 1 a 12), di ogni giorno della settimana (l’ultimo asterisco, e questo sta a indicare che l’esecuzione deve essere quotidiana, altrimenti avrebbe potuto avere valore da 0 a 6). Ti sembra difficile? Inizialmente lo è, ma poi si entra nell’ottica e lo si capisce immediatamente, ti ho fornito quei due siti web poco sopra proprio per iniziare a fare pratica.

Salva la modifica al crontab e attendi fiducioso che i tuoi file finiscano correttamente nella cartella di backup (ovviamente controlla che vada tutto liscio).

L’articolo si conclude qui (per la tua certa felicità), in caso di problemi o dubbi puoi sempre lasciare un commento. Utilizzi già rclone? Se sì, come gestisci i tuoi backup? Sono curioso di confrontarmi con altre persone nella mia stessa situazione e voglia di sperimentare 🙂

Condividi l'articolo con i tuoi contatti:

Tutto parte da un computer. È piccolo, consuma poco, è affidabile in linea con la capacità di poter rimanere acceso ininterrottamente e perdersi per strada quasi sempre non per colpa sua, quanto per la fragilità che può avere una tradizionale scheda microSD sulla lunga distanza. Si chiama Raspberry Pi (raspberrypi.org) e se non hai mai sentito prima questo nome, vuol dire che tutto sommato dell’argomento tecnologia e informatica forse non sei realmente appassionato (e qui qualche fischio in fondo alla sala lo sento arrivare eccome).

Raspberry Pi: la base di partenza

RPi3

Eppure secondo me è proprio così, non prenderla sul personale o come attacco diretto. Di Raspberry Pi se ne parla ormai da tanti anni (è stata presentata come single-board computer nel 2011, nda) e oggi siamo ormai arrivati a poter sfruttare la sua terza generazione, nel modello B+ (che è quello che inizia a diffondersi sempre più). Io ci ho giocato in passato, ma non ne ho mai posseduto e tenuto uno in casa, fino a ora. Per “colpa” (se così si può chiamare) dei ragazzi di Cubbit ho deciso di acquistare proprio un RPi3 B+ da mettere in casa e nascondere nel ripostiglio, dove tengo anche il vecchio Media Center basato su Windows 7 e Plex (che tutto sommato svolge ancora il suo lavoro) e dove ho potuto portare dei cavi di rete che comunicano direttamente con il mio router (7590).

Starter Kit

Ho acquistato un modello completo, che propone anche il case, la scheda microSD e ulteriori accessori, lo prepara la ABOX, lo puoi trovare anche tu su Amazon:

Io ho scelto lo Starter Kit un pelo più costoso, ma con la scheda di memoria da 32 GB, così da non avere problemi di spazio per qualche tempo (sì, scoprirai che con RPi quei GB di spazio possono essere anche più che sufficienti). Tutto arrivato con i soliti rapidi tempi di Amazon, quindi montato e preparato per la prima installazione (che tra breve ti spiegherò come modificare rispetto all’originale prevista). RPi, se volessi fartela molto breve e chiara, è un ambiente di laboratorio, test, sviluppo, nuove scoperte.

Non è e non potrà mai sostituire il tuo PC di casa o il tuo laptop, ma potrà certamente farti da concentratore per la gestione della domotica, da server DNS con possibilità di oscurare le pubblicità invasive (e di questo ne parliamo in un prossimo articolo), da server Plex (con diverse limitazioni, occhio) o da piattaforma di gioco retrò e chissà quanta altra roba ancora, tutto racchiuso nel palmo di una mano e con una spesa tutto sommato limitata.

Partendo dal presupposto che tu abbia scelto un RPi3 B+, le caratteristiche della single-board dovrebbero più o meno essere queste:

  • CPU Broadcom BCM2837B0, Quad-Core a 64-bit 1.4 GHz con 1 GB di SDRAM LPDDR2.
  • WiFi e Bluetooth a doppia banda (2,4 GHz e 5 GHz IEEE 802.11.b/g/n/ac, versione bluetooth 4.2, BLE).
  • Velocità massima dell’attacco ethernet 300 Mbps, supporto Power-over-Ethernet (PoE) tramite HAT PoE separato rispetto allo Starter Kit.

A ciò va sempre associato un alimentatore capace di erogare 5V/ 3A per rimanere tranquilli e non incorrere nel più classico degli alert a video che lamentano una scarsa alimentazione (che potrebbe non essere sufficiente per servire anche hard disk esterni USB e simili) e, per le configurazioni un pelo più complesse in grado di tenere in piedi software più esosi, un paio di dissipatori in rame da poter installare secondo esigenza (tieni quindi a portata di mano la cara vecchia pasta termoconduttiva se pensi di voler fare cose turche con il tuo nuovo giocattolo!).

Cerca di avere sempre a che fare con microSD di qualità, classe 10 di nuova generazione possibilmente. Nel caso tu stessi acquistando il mio stesso Starter Kit, questo arriverà con una microSD sulla quale troverai già installato NOOBS (New Out Of Box Software), “an easy operating system installation manager for the Raspberry Pi“, in pratica è un bivio verso il tuo Sistema Operativo preferito, ma senza che questi ti obblighi a sceglierne per forza uno.

Io la microSD però l’ho formattata, e ci ho messo esclusivamente Raspbian:

Raspbian is a free operating system based on Debian optimized for the Raspberry Pi hardware. An operating system is the set of basic programs and utilities that make your Raspberry Pi run. However, Raspbian provides more than a pure OS: it comes with over 35,000 packages, pre-compiled software bundled in a nice format for easy installation on your Raspberry Pi.

Puoi farlo anche tu: è supportata, è parecchio comune tra proprietari di RPi e quindi gode di una comunità in grado di aiutarti e di portarci sopra sempre più software e utilità che potrebbero tornare utili anche a te, senza considerare la moltitudine di progetti che per la propria installazione consigliano e preparano procedure semplici proprio per questa distribuzione Linux ottimizzata. Io ti spiego quindi che fare se anche tu vuoi seguire il mio percorso.

Prima installazione

Inserisci la microSD nel tuo PC (io ho utilizzato il mio MacBook, ma i software che ho utilizzato sono disponibili anche per gli altri sistemi operativi), quindi scarica l’immagine di Raspbian che intendi utilizzare, io ho scelto quella completa di interfaccia grafica e qualche software di base (pesa un pelo di più ma ti permette di andare oltre l’uso del terminale e della connessione e amministrazione via SSH): raspberrypi.org/downloads/raspbian (il collegamento diretto alla versione che ho utilizzato è questo: downloads.raspberrypi.org/raspbian_full_latest).

Scarica ora il software gratuito balenaEtcher, ti permetterà di portare l’immagine di Raspbian su microSD e renderla avviabile, gli darai i pasto il file ZIP che hai scaricato qualche secondo fa. Non è necessario installarlo se usi Windows, puoi scaricare la versione portable (mentre su macOS io l’ho installato). Avvialo, ti si presenterà davanti la sua schermata principale, tu dovrai solo indicargli dove prendere il file ZIP contenente il sistema operativo da portare su microSD, selezionare quest’ultima e poi fare clic su Flash, è una procedura estremamente semplice (devi solo portare la necessaria pazienza affinché termini l’operazione).

Senza rimuovere la microSD dal PC, una volta chiuso balenaEtcher, dobbiamo abilitargli la possibilità di connetterci in SSH al Raspberry quando questo sarà in funzione. Per farlo hai metodi diversi in base al tuo sistema operativo. Come già detto, io ho eseguito tutta la procedura da macOS, ma ti fornisco anche un’alternativa Windows.

Abilita SSH

  • Se hai macOS, apri un Terminale e spostati nella microSD (cd /Volumes/NomeScheda, aiutati con il tabulatore), quindi – una volta dentro – crea un file vuoto chiamato ssh (touch ssh). Rimuovi correttamente la microSD da macOS, inseriscila nel Raspberry e avvialo.
  • Se hai Windows, apri un Prompt dei comandi e spostati nella microSD (verifica che lettera di unità è stata assegnata da Computer, quindi nel prompt digitala seguita dai due punti, esempio e:, premi invio), quindi – una volta dentro – crea un file vuoto chiamato ssh (echo ""> ssh). Rimuovi correttamente la microSD da Windows, inseriscila nel Raspberry e avvialo.

Cerca il Raspberry e collegati

Che tu abbia macOS o Windows poco importa, scarica PiFinder, un’utilità gratuita che cerca all’interno della tua rete il Raspberry e ti permette di collegarti rapidamente tramite un terminale. La trovi su GitHub all’indirizzo github.com/adafruit/Adafruit-Pi-Finder/releases/latest. Non si installa, si avvia e si utilizza immediatamente, in maniera del tutto semplice: cerchi e ti colleghi.

La password di default di una nuova installazione è sempre raspberry, ti verrà chiesto di cambiarla al primo accesso. Il sistema è immediatamente funzionante, noterai che collegandoti con un VNC potrai già operare sull’interfaccia grafica di Raspbian, modificare le proprietà del Desktop e lanciare i programmi installati. Sei a bordo.

E ora?

C’è un mondo davanti a te. RPi è collegato nella tua rete ed è pronto a lavorare per te. Solo facendo qualche ricerca Google arriverai a mille possibili utilizzi del nuovo giocattolo, l’importante è metterci della pazienza, della testa e della voglia di imparare. Nei prossimi articoli ti parlerò certamente di alcune delle possibilità che hai a tua disposizione, dal backup dei dati fatto tramite Raspberry e un NAS disponibile nella tua rete (io ho montato le unità del mio Synology) all’utilizzo come DNS server veloce e in grado di ripulire il web da possibili minacce, proteggendo te, la tua famiglia e sicuramente i più piccoli. Io attualmente lo sto usando come nodo Cubbit (per sperimentare il software in attesa delle Cubbit Cell) ma non solo, presto ne saprai di più.

Per me il Raspberry è certamente un giocattolo molto divertente in grado di portare via del lavoro al Media Center e forse anche al NAS, consumando meno risorse e dandomi la possibilità di imparare cose nuove. È un “esperimento” che sento di consigliare a tutti i patiti della materia che ancora non hanno fatto l’incauto acquisto.

Sei possessore anche tu di Raspberry? Cosa gli fai fare? Utilizziamo insieme l’area commenti per parlarne, e ricorda che non serve registrarsi a Disqus per poter lasciare il tuo contributo, dai un’occhiata qui.

× Disclaimer

Disclaimer (per un mondo più pulito)

Gli articoli che appartengono al tag "Banco Prova" o "Banco Prova Console" raccontano la mia personale esperienza con prodotti generalmente forniti da chi li realizza. In alcuni casi il prodotto descritto rimane a me, in altri viene restituito. In altri casi ancora sono io ad acquistarlo e decidere di pubblicare un articolo in seguito, solo per il piacere di farlo e di condividere con te le mie opinioni.
Ogni articolo rispetta -come sempre- i miei standard: nessuna marchetta, solo il mio parere, riporto i fatti, a prescindere dal giudizio finale.

Prodotto: acquistato di tasca mia su Amazon, esattamente un giorno prima che lo Starter Kit andasse in forte sconto (la mia solita botta di fortuna).
Condividi l'articolo con i tuoi contatti:

La quantità di materiale a disposizione dei possessori di NAS Synology è impressionante. Ci sono community in grado di utilizzarlo per cuocerci due uova e una bistecca al sangue, persone che non si arrendono certo davanti a una commerciale impossibilità (o mancata volontà) di integrare alternative a software ufficiali supportati dalla casa madre. A tutto questo io aggiungerei un “per fortuna“.

Qualche mese dopo l’acquisto del mio Synology DS216j, posso ritenermi tutto sommato soddisfatto di quanto messo in piedi (fa forse eccezione la scelta –sbagliata– del taglio disco da mettere in RAID 1, potendo tornare indietro metterei nel carrello da subito due dischi da 4 TB anziché da 2), e soprattutto sono molto contento di quanto si possa personalizzare il prodotto secondo le proprie esigenze. In questo articolo, ti voglio spiegare come passare a un eMule Adunanza, distribuzione custom dedicata agli abbonati Fastweb e certamente più rapido dell’eMule presente di fabbrica sul prodotto Synology (non solo il mio DS216j).

Synology: nuovi repository e file di ricerca 2

aMule AdunanzA

Ricorda che tutto il mio test (e relativo articolo) hanno fatto leva su un NAS con processore ARM, non posso quindi fare test (e darti istruzioni) per un’architettura diversa, basata per esempio su Intel. Detto ciò, basandomi sulla guida originale del 2016 ancora disponibile nel forum di AdunanzA (forum.adunanza.net/t/installare-amule-adunanza-su-synology-arm/9392), ho fatto accesso al mio NAS e sono passato all’utente di root.

Per farlo (con le versioni di DSM attuali) dovrai accedere al NAS in SSH e utilizzare il sudo -i, comando che richiederà di inserire la password dell’amministratore che solitamente utilizzi per entrare sull’interfaccia web.

ATTENZIONE: io, se posso darti un consiglio, eviterei di utilizzare l’utente root e creerei un account a parte, da utilizzare per installare e poi gestire aMule AdunanzA anche in seguito. Ho fatto così in seguito ai test eseguiti da root.

Se è la prima volta che utilizzi l’utente di root, riceverai un messaggio di Synology che ti inviterà a fare attenzione a ciò che tocchi:

We trust you have received the usual lecture from the local System
 Administrator. It usually boils down to these three things:
 #1) Respect the privacy of others.
 #2) Think before you type.
 #3) With great power comes great responsibility.

Appurato ciò, si passa all’installazione degli aggiornamenti dei pacchetti IPKG:

AduUser@Syno:~# feed=http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable
AduUser@Syno:~# ipk_name=`wget -qO- $feed/Packages | awk '/^Filename: ipkg-opt/ {print $2}'`
AduUser@Syno:~# wget $feed/$ipk_name
--2017-05-01 16:41:55--  http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ipkg-opt_0.99.163-10_arm.ipk
Resolving ipkg.nslu2-linux.org... 140.211.169.161
Connecting to ipkg.nslu2-linux.org|140.211.169.161|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 74474 (73K) [text/plain]
Saving to: 'ipkg-opt_0.99.163-10_arm.ipk'

100%[==========================================================>] 74,474       219KB/s   in 0.3s

2017-05-01 16:41:56 (219 KB/s) - 'ipkg-opt_0.99.163-10_arm.ipk' saved [74474/74474]
AduUser@Syno:~# tar -xOvzf $ipk_name ./data.tar.gz | tar -C / -xzvf -
./data.tar.gz
./
./opt/
./opt/bin/
./opt/bin/ipkg
./opt/bin/ipkg-opt
./opt/bin/update-alternatives
./opt/etc/
./opt/etc/ipkg.conf
./opt/lib/
./opt/lib/libipkg.so
./opt/lib/libipkg.so.0
./opt/lib/libipkg.so.0.0.0
./opt/share/
./opt/share/ipkg/
./opt/share/ipkg/intercept/
./opt/share/ipkg/intercept/depmod
./opt/share/ipkg/intercept/ldconfig
./opt/share/ipkg/intercept/update-modules
AduUser@Syno:~# mkdir -p /opt/etc/ipkg
AduUser@Syno:~# echo "src cross $feed" > /opt/etc/ipkg/feeds.conf
AduUser@Syno:~# /opt/bin/ipkg update
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/Packages
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.

Quindi si scarica e si installa aMule AdunanzA, pacchetto disponibile anch’esso sul forum (l’ho scaricato precedentemente e messo in una cartella del NAS, la “Download“, così da raggiungerlo facilmente via SSH). Tu puoi ottenerlo da qui o in alternativa prendendo la copia che ho caricato su box (app.box.com/s/bcrnvq0m9uegrsvcf3q03oqdwn3jyub9):

AduUser@Syno:~# cd /volume1/Download/
AduUser@Syno:/volume1/Download# /opt/bin/ipkg install amuleadunanza-svn_rev531-2014.1_arm.ipk
Installing amuleadunanza-svn (rev531-2014.1) to AduUser...
package libupnp suggests installing ushare
Installing libstdc++ (6.0.9-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libstdc++_6.0.9-6_arm.ipk
Installing wxbase (2.8.12-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/wxbase_2.8.12-1_arm.ipk
Installing expat (2.0.1-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/expat_2.0.1-1_arm.ipk
Installing zlib (1.2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/zlib_1.2.5-1_arm.ipk
Installing libpng (1.2.44-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libpng_1.2.44-1_arm.ipk
Installing libgd (2.0.35-6) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libgd_2.0.35-6_arm.ipk
Installing libjpeg (6b-3) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libjpeg_6b-3_arm.ipk
Installing freetype (2.3.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/freetype_2.3.6-1_arm.ipk
Installing fontconfig (2.8.0-0) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/fontconfig_2.8.0-0_arm.ipk
Installing gconv-modules (2.5-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/gconv-modules_2.5-1_arm.ipk
Installing libupnp (1.6.6-1) to AduUser...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/libupnp_1.6.6-1_arm.ipk
Configuring amuleadunanza-svn
Configuring expat
Configuring fontconfig
Configuring freetype
Configuring gconv-modules
Configuring libgd
Configuring libjpeg
Configuring libpng
Configuring libstdc++
Configuring libupnp
Configuring wxbase
Configuring zlib
Successfully terminated.

Il primo avvio di aMule AdunanzA servirà a verificare che tutto sia andato a buon fine ma, soprattutto, a permetterti di generare i file di configurazione che andranno in seguito modificati per poter ottenere un software che rispetti le tue esigenze e i tuoi criteri d’uso (cambio di porte da utilizzare, attivazione dell’interfaccia web, ecc.):

AduUser@Syno:/opt/bin# ./amuled -f
2017-05-01 16:50:17: Initialising aMuleDAdunanzA MOD based on aMule SVN compiled with wxBase v2.8.12 and Boost 1.56 (Snapshot: rev. 531) AdunanzA 2014.1b1
2017-05-01 16:50:17: Checking if there is an instance already running...
2017-05-01 16:50:17: No other instances are running.
2017-05-01 16:50:17: ListenSocket: Ok.
2017-05-01 16:50:17: amuled: forking to background - see you

Torna sul forum e dai un’occhiata al paragrafo 7 (7. CONFIGURAZIONE amuleAdunanza) per capire come procedere e cosa toccare. Io ho configurato il mio aMule per partire su porti differenti rispetto allo standard (già utilizzate da un altro client in casa). Ricorda che dovrai sempre e comunque toccare la configurazione del tuo router per permettere una corretta comunicazione con l’esterno, ma quello è un altro discorso e spero tu lo conosca già (la stessa sorte vale per il firewall integrato in Synology, se lo utilizzi, nda).

Per snellirla un po’, puoi evitare di scaricare le liste server e nodi, non ti servono, puoi sempre caricarle in un secondo momento o appoggiarti a quelle già disponibili, ti basteranno per partire.

Trovi ulteriori riferimenti ai file di configurazione (per poter utilizzare aMule senza GUI) all’indirizzo stefano.dscnet.org/a/amuled_amule_senza_gui. Ora, ammesso che non ci siano errori, sei pronto per avviare ancora una volta il demone di aMule, e subito dopo quello della sua interfaccia di amministrazione web (altrimenti diventa più difficile amministrarlo per chi non si destreggia più di tanto con la riga di comando, nda). Ammesso che tu ti sia spostato già nella /opt/bin, dove hai installato aMule AdunanzA, i comandi per lanciare ciò che ti serve sono ./amulewed -f e ./amuleweb.

Al comando che avvia amuleweb ho notato che serve indicargli la password come parametro da riga di comando, la stessa che ti servirà per accedere poi all’interfaccia web (appunto). Per facilitarmi la vita, ho preparato un piccolo script da tenere a portata di mano sul NAS, il quale può avviare, spegnere o riavviare i servizi dedicati ad aMule:

Update

Ho aggiornato lo script includendo anche la possibilità di riavviare il solo servizio relativo all’interfaccia web di aMule, talvolta capita che questa vada in crash a causa delle elevate risorse richieste. Ho aggiunto il comando restartweb (già che c’ero ho anche messo a posto qualcosina, pura estetica e nulla più) :-)

L’utilizzo (se sei abituato a convivere con questo genere di roba) è semplice. Lo richiami tramite ./aMuleStart.sh (dopo averlo reso eseguibile, nda), seguito da start (per far partire i processi che ti servono), stop (per terminarli) o restart (per fermare e avviare da zero i processi). Lo script è chiaramente da tenere a portata di mano per poterlo richiamare facilmente da prompt SSH (la cartella home dell’utente che hai creato per installare e far partire aMule AdunanzA può essere la giusta scelta).

Se –ancora una volta– non ci sono stati errori, potrai finalmente aprire il tuo browser e puntare all’IP del tuo NAS, porta 4711 (a meno che tu non l’abbia cambiata, cosa che ti consiglio di fare) :-)

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca

Da qui in poi, nonostante si tratti di un’interfaccia molto più spartana rispetto a quella del client proposto sui sistemi Microsoft (e per certi versi anche più di quella proposta da Synology), potrai aggiungere download da eseguire, nuovi server, ecc. Ci sono alcuni bug, le statistiche non sono sempre ben visibili, ma il suo lavoro lo porta a termine correttamente, e se hai fatto tutto questo perché sei cliente Fastweb con necessità di far lavorare AdunanzA, noterai seri miglioramenti rispetto a quanto fatto con il modulo integrato nel DSM.

Nuovi repository

Che poi è un po’ un tornare all’introduzione di questo articolo, e capire sin da subito che il mondo va ben oltre quello che propone Synology tramite il Centro Pacchetti “di base“. Ci sono decine di porting per applicazioni che siamo abituati a vedere funzionare su sistemi Linux non embedded come quello di questo NAS, ed è assolutamente facile varcare quella soglia volutamente (e giustamente, aggiungerei) imposta dal produttore.

Allo stato attuale, i contributi scaricabili dalla comunità arrivano a superare i 100 pacchetti, tutti alla portata di clic (e successiva configurazione secondo proprie esigenze), tutti raggiungibili andando a modificare quella lista di repository che tu stesso puoi popolare andando nel Centro PacchettiImpostazioniPacchetti sorgente:

Synology qualche mese dopo: Adunanza, nuovi repository e file di ricerca 1

Trovi diversi riferimenti in internet dove è possibile capire cosa propongono i repository Synology amatoriali (e non), prova a dare un’occhiata al sito italiano dedicato (qui trovi una discussione ad-hoc), o magari a quello ufficiale (qui in particolare un post di un thread che raccoglie diverse fonti ancora funzionanti).

In realtà poco tempo fa funzionava perfettamente anche il monitor messo a disposizione da dottoremoe.com, utile per tenere d’occhio tutti i repository e relativi tempi di up & down (vedi dottoremoe.com/synomon-3rd-parties-package-list-update), sfortunatamente però a ora sembra non funzionare più (credo ci siano stati problemi con il provider che ospita quel sito web, in attesa quindi che vengano risolti), era davvero utile.

Sì, ma i file di ricerca?

Quasi dimenticavo. I file di ricerca servono ad aggiungere motori (appunto) di ricerca (ma va?) a quelli già disponibili sul DSM. Naviga verso synoboost.com, ed esplora la quantità di alternative messe a disposizione. Scarica e installa ciò che ti serve all’interno del Download Manager, le istruzioni sono fornite per ogni pacchetto aggiuntivo scaricato, dai un’occhiata a queste due immagini catturate durante i test eseguiti sul mio NAS, giusto per farti un’idea:

In conclusione

Un mondo tutto da esplorare e da migliorare costantemente. L’importante è dedicargli il giusto tempo, provare (e riprovare), cercando però di evitare danni irreparabili (occhio, che qui i backup non sono poi così semplici da tirare in piedi, non si torna indietro in un batter d’occhio), ma soprattutto da tenere sempre in sicurezza (non aprire verso l’esterno porte che non ti servono e tieni sempre up-to-date il tuo DSM, giusto qualche giorno fa è stata resa pubblica la patch che ha corretto il bug relativo a WannaCry), trovi le note di rilascio sul sito di Synology:

Version: 6.1.1-15101-4
(2017/05/25)

Important Note

  1. The update is expected to be available for all regions within the next few days, although the time of release in each region may vary slightly.

Fixed Issues

  1. Fixed a security vulnerability regarding samba service (CVE-2017-7494).

vedi: synology.com/en-us/releaseNote/DS216j

E anche per stavolta è tutto.

Buon inizio di settimana! :-)

Condividi l'articolo con i tuoi contatti:

Pogoplug-series4-hero_FotorDi Pogoplug, Busybox e Samba ve ne ho già parlato abbondantemente in un articolo pubblicato ormai qualche mese fa, oggi vi voglio parlare di un semi-automatismo creato in casa e che vi permetterà di riavviare agilmente il Pogoplug e il Samba a bordo nel caso in cui, per qualche motivo, il disco USB collegato non sia più correttamente visibile (capita sporadicamente).

Nel primo articolo vi avevo proposto PuTTY come metodo di collegamento all’OS Linux a bordo macchina, oggi ho modificato quella scelta per permettere ad un piccolo batch di operare senza ulteriore intervento (o quasi) da parte dell’utente, e senza salvare script a bordo del Pogoplug.

Mi hanno fatto scoprire KiTTY, un fork del più conosciuto progetto di Simon Tatham che permette però di avere a disposizione più opzioni ed anche la possibilità di salvare le credenziali per l’accesso ad una macchina remota Unix-based (e non solo), Pogoplug ovviamente compreso.

KiTTY si scarica gratuitamente da fosshub.com/KiTTY.html, voi dovete solo metterlo in una cartella che Windows è in grado di raggiungere dallo Start / Esegui (basta aggiungere quella cartella nel PATH di sistema) così che lo script (che vedremo dopo) sia in grado di trovarlo senza difficoltà alcuna. Nel frattempo avviatelo per la prima volta e inserite i dettagli di collegamento al Pogoplug come certamente fatto con PuTTY in precedenza, spostatevi nella scheda “Data” (colonna di sinistra, sotto Connection) ed inserite lo username (root) e la password di connessione al device, così da attivare l’autenticazione automatica. Occhio però, questa è un’impostazione che potete mantenere su un PC privato, non certo pubblico, altrimenti chiunque all’interno della famiglia potrà collegarsi facilmente al Pogoplug, anche per sbaglio.

A questo punto salvate il profilo. Potrete così richiamarlo in seguito con un semplice doppio clic (da programma) oppure da prompt dei comandi di DOS con un “kitty -load $NomeProfilo” dove sostituire $NomeProfilo con il nome scelto da voi in fase di creazione di questo stesso profilo.

Da qui alla creazione di un piccolo script che automatizza il riavvio di Busybox, ed in seguito Samba, il passo è davvero breve:

@echo off
REM Ultima modifica 28 apr. 15

echo Riavvio Pogo in corso, attendere.

:RESTART
echo.
start "" kitty -load Pogo -cmd "busybox reboot"
ping 127.0.0.1 -n 10 > NUL
taskkill /IM kitty.exe /F

:SAMBA
echo.
echo Attendere 20 secondi per accedere via SSH e rilanciare Samba ...
ping 127.0.0.1 -n 20 > NUL
start "" kitty -load Pogo -cmd "/opt/etc/init.d/S80samba start"
ping 127.0.0.1 -n 12 > NUL
taskkill /IM kitty.exe /F

:VERIFICA
start "" kitty -load Pogo -cmd "ps | grep smb"

Giusto per capirci: il batch lancia KiTTY e subito dopo esegue un “busybox reboot” per riavviare Pogoplug (grazie all’ulteriore parametro -cmd seguito dall’operazione da lanciare in fase di post-login), termina KiTTY dopo 10 secondi (tramite il Task Manager di Windows) e ne riapre uno nuovo dopo altri 20 secondi così da permettere a Busybox di ripartire correttamente, quindi lancia il già conosciuto “/opt/etc/init.d/S80samba start” per avviare il Samba installato. Una volta chiuso (ancora) KiTTY ne verrà aperto uno “finale” per verificare che il processo di Samba stia girando correttamente, quest’ultima finestra di KiTTY andrà chiusa manualmente (così da permettervi di controllare che tutto sia in ordine o lanciare ulteriori comandi in console in caso di necessità).

Il batch potrà essere lanciato manualmente o in automatico quando andrà in errore la lettura del disco collegato in USB, a vostra discrezione.

Un consiglio prima di concludere. KiTTY può leggere impostazioni personalizzate se all’interno della sua stessa cartella andate ad inserire un file di configurazione. Al suo interno potete indicare i tempi per l’esecuzione dei comandi dopo il login, parametri fondamentali nel caso in cui il batch sopra riportato sia troppo “veloce” nel chiudere le sessioni aperte senza che queste abbiano ancora eseguito i comandi desiderati:

[KiTTY]
initdelay=2.0
commanddelay=0.1
bcdelay=5

Da salvare come kitty.ini e inserire nella stessa cartella del programma come già detto. Nato prendendo spunto dalla pagina ufficiale di riferimento disponibile su 9bis.net/kitty/?page=Automatic%20command&zone=en e che spiega quali valori utilizzare per cercare di far girare al meglio l’esecuzione del KiTTY sulla propria macchina, trovate nello stesso sito web ulteriori documentazioni, riferimenti, esempi e qualsiasi altro dato legato all’utilizzo e alla conoscenza di questo tool alternativo a PuTTY che potrete utilizzare per gestire anche le vostre altre macchine in giro per la rete locale e non.

L’area commenti è -come al solito- a vostra totale disposizione nel caso in cui troviate degli errori, abbiate dubbi o suggerimenti per migliorare il lavoro fatto :-)

Condividi l'articolo con i tuoi contatti: