Come accendere la TV con l’iPhone

Le reazioni che potete avere, dopo aver letto questo titolo, sono:

  • che me ne faccio di accendere la televisione con il telefono?
  • che figata, dimmi subito come fare!

Se siete nel secondo punto… beh ecco a voi com’è possibile accendere (e gestire) la vostra TV con HomeKit.

Prima di tutto, dato che la vostra televisione al 99% dei casi userà gli infrarossi per comunicare tra telecomando e schermo, vi è necessario acquistare “un qualcosa” che vi permetta di farli comunicare. E questo qualcosa è questo.

Sì, è davvero così piccolo

Potete acquistarlo semplicemente su Amazon (tramite questo link) a un prezzo che oscilla tra i 15 e i 20 euro. Nel caso invece quello non sia disponibile, cercate altri modelli simili tramite questo link.
Se invece volete prenderlo su Gearbest, ecco il link.

Ora, avete due scelte: o vi accontentate dell’app ufficiale, che ha diversi problemi di leggibilità in quanto è molto lenta e non è il massimo in quanto a grafica. Oppure potete installare Homebridge e poi installare il plugin semplicemente con:

npm i homebridge-broadlink-rm

Nel file di configurazione dovrete aggiungere qualcosa di simile a questo file d’esempio.

Tutta la documentazione potete vederla da qui.

Cos’è HomeKit

HomeKit è un protocollo di rete sviluppato da Apple e utilizzato su tutti i nuovi accessori compatibili con iPhone e iPad.

Oramai sia su internet che nei negozi fisici è possibile trovare centinaia di dispositivi compatibili con HomeKit: dai sensori per le porte, fino alle telecamere per interni o esterni.

La lista è davvero infinita, potete scorrere le infinite pagine su Amazon di tutti i prodotti che vende. Assicuratevi sempre che ci sia il simbolo ufficiale di Apple e che i prodotti siano realmente compatibili con l’app Casa che avete sul vostro iPhone.

Badge di HomeKit

Ma potete stare tranquilli, nel caso abbiate delle luci o sensori che non sono compatibili, non vi preoccupate, c’è Homebridge a salvarvi la vita. Vi permette di emulare un gateway compatibile, attraverso un semplice Raspberry (potete anche usare un vecchio computer, ma è più economico sia di hardware che di corrente).

Su npm potrete trovare più di 1000 plugin per Homebridge, quindi state tranquilli.

Nel caso abbiate bisogno, non esitate a contattarmi.

Cos’è un protocollo

Detto brevemente, senza andare troppo nello specifico, un protocollo (di rete) è un insieme di regole che si utilizzano per comunicare.

E per comunicare si intende, ovviamente, trasferire informazioni tra due dispositivi (potrebbero anche essere definiti client e server) che possono essere di qualunque tipo.

Un esempio di protocollo può essere SMB (come installare Samba) utilizzato per trasferire file da un Raspberry a un altro dispositivo connesso alla stessa rete locale. Oppure AFP, il protocollo di Apple. O addirittura la tecnologia Zigbee è un protocollo che sta avendo molto successo nell’ultimo periodo.

Documentazione di AFP sul sito di Apple

Con i prossimi articoli andremo ad introdurre altri esempi di protocolli di rete.

Come nascondere la versione di nginx

Nascondere la versione del vostro web server nginx, come per PHP, può essere molto utile nel caso qualcuno voglia sfruttare delle falle conosciute (anche se non vi difende da nulla, semplicemente non lo mostrate).

Andiamo diretti al sodo e modifichiamo il file di configurazione:

sudo nano /etc/nginx/nginx.conf

E dentro http aggiungete:

server_tokens off;

Ora riavviate il processo con:

sudo systemctl restart nginx

Come nascondere la versione di PHP

So che può sembrar strano voler nascondere al pubblico la versione di PHP (spero che abbiate aggiornato alle 7.2) che avete installato nel vostro server/computer, però per diversi motivi potrebbe esservi utile. Ad esempio se si scopre quale falla o qualche botnet controlla chi ha una certa versione di PHP, per sfruttare magari qualche bug per scopi non troppo etici.

Quindi, se volete nascondere dall’header HTTP la vostra versione, vi basterà semplicemente seguire questi tre passaggi.
Prima di tutto dovete vedere dov’è il vostro file di configurazione con:

php -i | grep "Loaded Configuration File"

Poi modificatelo così:

sudo nano nano /etc/php/7.2/cli/php.ini

Andando a cercare la riga, sostituendo on con off:

expose_php = off

Ora riavviate il servizio (se lo gestite così) altrimenti riavviate e voilà, non sarà più pubblica la vostra versione di PHP!

Come aggiornare a PHP 7.2

Sembrava ieri che avevamo tutti esultato per l’aggiornamento tanto atteso di PHP 7 (ha migliorato le prestazioni anche del 400%) e invece eccoci qua, già ad aggiornare alla 7.2!

Dai andiamo subito diretti aggiungendo le repository:

sudo apt-get install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt-get update

E procediamo con l’installazione:

sudo apt-get install php7.2

Nel caso non vi aggiorni anche gli altri pacchetti:

sudo apt-get install php7.2-cli php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-readline php7.2-xml

E voilà:

php -v

Come visualizzare la versione di nginx

Se state cercando di aggiornare, sostituire o anche solo modificare il vostro webserver nginx ma non avete voglia di leggervi la documentazione o fare un semplice help, eccomi qua al vostro servizio!

Aprite il terminale ed eseguite:

nginx -v

Se volete invece vedere anche tutti i pacchetti, dipendenze e ad esempio quale versione di openssl è disponibile, allora eseguite (con la V maiuscola):

nginx -V

Dovrebbe venirvi fuori qualcosa del tipo:

nginx version: nginx/1.10.3
built with OpenSSL 1.1.0f  25 May 2017
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-qJwWoo/nginx-1.10.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/build/nginx-qJwWoo/nginx-1.10.3/debian/modules/nginx-auth-pam --add-dynamic-module=/build/nginx-qJwWoo/nginx-1.10.3/debian/modules/nginx-dav-ext-module --add-dynamic-module=/build/nginx-qJwWoo/nginx-1.10.3/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-qJwWoo/nginx-1.10.3/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-qJwWoo/nginx-1.10.3/debian/modules/ngx_http_substitutions_filter_module

Come aggiornare a Ubuntu 18.04

Il mio consiglio è sempre quello di installare un sistema operativo da zero, senza fare aggiornamenti incrementali perché rischiate che qualcosa vada storto o non venga aggiornato come dovrebbe.

Nel caso, vi basta scaricare la nuova ISO e installarlo alla vecchia maniera.

Però mettiamo il caso che siete ancora alla versione 17, o 16, o addirittura alla 14 e volete usare il terminale per fare tutto, beh ecco a voi come fare:

sudo apt install update-manager-core
sudo do-release-upgrade -d

Se invece avevate già attivato tramite le impostazioni, vi basta fare un bel:

sudo apt dist-upgrade

Ubuntu 18.04 in macchina virtuale

Ora godetevi il nuovo aggiornamento. Alla prossima! Ah e non dimenticatevi di sistemare la tastiera in italiano (se è quella che usate ovviamente).

Come disattivare i pagamenti automatici di PayPal

I pagamenti automatici sono quelli che hanno una ricorrenza temporale, spesso sono abbonamenti o servizi che si devono rinnovare con delle tempistiche a volte non troppo chiare.

Se state cercando dov’è la pagina o come arrivare a disattivarli, ecco a voi il link diretto: https://www.paypal.com/myaccount/autopay/

Gestire pagamenti automatici di PayPal

Da quando hanno cambiato il sito web (ormai saranno quasi 2 anni) molte pagine non sono ancora state aggiornate. Non ho idea di che problemi stiano riscontrando e ne se la problematica di eBay abbia influenzato la cosa.

Come rimuovere lo swap su Raspberry Pi

Dopo aver visto come aumentare lo swap su Raspberry Pi (cosa peraltro compatibile con tutte le distribuzioni Ubuntu, Debian ecc), vediamo ora come disattivarlo.

Ci sono diversi modi per disattivare la memoria di swap, la più semplice di tutte è rimuoverla proprio dai servizi all’avvio, quindi eseguendo (e poi riavviando con sudo reboot now:

sudo update-rc.d dphys-swapfile remove

Rimuoverete direttamente dal prossimo riavvio.

Molti hanno trovato beneficio disattivandola. Posso solo dire che dipende dai casi e da diversi fattori quali la velocità di scrittura e lettura della vostra microSD (considerando che il Raspberry Pi usa quella per salvare lo swap).

Per certe funzionalità invece conviene aumentarla il più possibile per evitare che la ram disponibile non basti e si rischia anche che i processi debbano sempre riscrivere e cancellare quello che viene salvato.

Quindi come al solito… dipende. Provate e sperimentate!

Eseguite free -m per visualizzare swap e ram

Come aggiornare Homebridge

Se avete installato Homebridge tramite questa procedura e volete aggiornarlo (di solito correggono bug o migliorano la stabilità) vi basterà aprire il terminale ed eseguire:

sudo npm update --global homebridge

Salvo gravi problemi, dovrebbe aggiornarsi in pochi secondi.

E dovrebbe anche tornare tutto attivo, nel caso riavviate il servizio di Avahi con:

sudo service avahi-daemon restart

Come fare il backup a Google Authenticator

Risposta breve: non si può.

Risposta più lunga: non si può perché tutti i codici generati vengono salvati in modo criptato, l’unico modo per avere un backup è salvarsi i codici QR offline prima di aggiungerli all’app (cos’è Google Authenticator?!).

So che può sembrarvi una scocciatura, sopratutto se non li avete salvati e siete alla ricerca di un modo per recupare i codici per riaccedere ai vostri preziosi account, ma è nell’architettura stessa di come funziona il tutto.

Da un lato è un bene che sia così, dall’altro… beh, bisogna essere previdenti.

Quindi se siete qua e state cercando un modo per recuperare i QR code, mi spiace ma non c’è proprio modo. Dovete contattare ogni servizio o sito web nel quale avevate attiva la verifica in due passaggi e farvela disattivare (verificando che siete voi, credo).

Google Authenticator su Play Store

Se invece state cercando un modo per spostarvi da un telefono all’altro ma neanche questo si può, l’unica è collegarvi a tutti gli account con i codici vecchi, disattivare la verifica in due passaggi e riattivarla sul nuovo telefono con i rispettivi nuovi codici generati.

Cos’è e a cosa serve Google Authenticator

Dopo aver visto cos’è la verifica in due passaggi, vediamo qual è la scelta migliore in termini di sicurezza (assoluta ovviamente, perché di solito l’unico modo per essere sicuri è non connettersi a internet).

Google Authenticator è un’app che vi permette di gestire tutti i codici a 2 passaggi o 2 fattori (dipende da come volete chiamarlo) dei siti web che utilizzate.

La particolarità di quest’app è quella d’avere tutti i codici offline, quindi non dovete aspettare la conferma via SMS e non rischiate che se vi rubano la SIM o ve la clonano, possano aver accesso al vostro account.

Google Authenticator su App Store

Potete scaricare la versione per Android oppure quella per iOS.

Il funzionamento è semplice, scansionate il codice QR che vi viene fornito dal sito web durante la configurazione della verifica in due passaggi e siete pronti per avere un codice temporaneo da utilizzare dopo il login (o durante delle operazioni importanti sul vostro account).

Cos’è la verifica in due passaggi

Brevemente e in parole comprensibili a tutti: è quel metodo di login che oltre la password, viene richiesto anche un codice aggiuntivo temporaneo.

Moltissimi siti web oramai l’hanno attivato e serve per aumentare la sicurezza.

Su questo sito https://twofactorauth.org potete vedere quali siti web hanno disponibile questa tecnologia, tra i più famosi Apple e Google.

Schermata d’esempio di twofactorauth.org

Che aspettate? Correte ad attivarla!

Come creare e firmare il proprio certificato SSL

Non sto a raccontarvi cos’è SSL o HTTPS perché se siete qua probabilmente già sapete di cosa sto parlando.

Andiamo dritti al sodo. Se volete autocertificarvi e quindi generare un certificato SSL per uso locale o di sperimentazione (dico questo perché ogni volta da browser dovrete confermare e accettare che volete installare il certificato, cliccando qualcosa come 3 volte conferma) aprite subito il terminale ed eseguite (vi chiederà una password, segnatevela ovviamente):

openssl genrsa -des3 -out myCA.key 2048

Ora generate un root certificate eseguendo:

openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem

Inserite tutti i dettagli e… voilà, già fatto!

Quanto consuma un Raspberry Pi sempre acceso

Dipende. Com’è ovvio che sia, dipende da quello che gli fate fare 24 ore su 24.

I conti che potete farvi hanno un margine d’errore enorme ma comunque può farvi capire quanto sia interessante avere un piccolo tutto fare sempre acceso “che fa cose”.

Prima di tutto dipende dal modello di Raspberry Pi, dal tipo di alimentatore e se proprio vogliamo: anche dalla lunghezza del cavo (online si trovano personaggi discutibili che considerano anche quello come resistenza, ma direi che è un calcolo non troppo educativo).

Ti piace? Puoi acquistarlo sui 35-40 euro da qui

Il modello 3 e 3+ hanno bisogno di un alimentatore da 2.5A (ma anche 2.1 sembra andar bene) controllate qua https://www.raspberrypi.org/help/faqs/#powerReqs le richieste in base al vostro Pi. In ogni caso, a occhio e croce con un costo della corrente al kWh di circa 20 centesimi, se un Raspberry Pi in idle consuma dai 3W ai 5W la divisione è semplice:

3W circa 2 kW al mese, quindi 40 centesimi
5W circa 3.6 kW al mese, cioè 72 centesimi

Ovviamente più cose gli fate fare (può raggiungere picchi più alti ma conta in media come si comporta), più periferiche avete attaccato alla porta otg/usb, più il Raspberry consumerà, ma comunque è di molto lontano da un consumo di un computer con alimentatori sulle 50-100 volte più potenti (in termini di consumi).

Vi ricordo che il consumo in W viene calcolato dal voltaggio moltiplicato per l’amperaggio, quindi 1A*5V = 5W. E il consumo in kWh significa 1kW=1.000W ogni ora, quindi se una cosa consuma 10W e sta accesa per 1 ora intera, per fare 1 kWh dovrà star acceso 1.000Wh/10W=100 ore.

Quanto consumano le lampadine Yeelight

Dopo aver testato le lampadine della Phillips Hue ho provato a controllare anche le Yeelight, giusto per curiosità e capire quanto consumano se vengono utilizzate al 100%, a metà o in caso rimangano accese ma spente (quindi intendo connesse al Wi-Fi ma non luminose) e capire se va bene lasciarle sempre attaccate alla corrente.

E come potete verificare, dato che le Yeelight utilizzano il Wi-Fi e non Zigbee, consumano poco poco di più rispetto alle sorelle della Phillips.

0% 0.8W-1W
1% 1W
50% 4.3W-4.5W
100% 8.2W-8.3W

Io ho testato il modello Yeelight white che potete acquistare o da Amazon tramite questo link oppure su GearBest pagando con PayPal da qua.

Quanto consumano le lampadine Hue

Se vi state domandando quanto consumano le lampadine della Phillips con la tecnologia Zigbee (sono lampadine LED da 9W).

Le ho testate personalmente e posso dirvi che al 100% consumano realmente sui 9W e in idle meno di 1W, quindi non preoccupatevi se non staccate ogni volta la corrente, con 1000 ore (quindi circa 1 mese e mezzo) consumerete meno di 20 centesimi.

100% 8.9W
50% 3.3W
6% 1W
0% 0.3W-0.4W

Io ho preso d’esempio la lampadina Phillips Hue White ma anche quella colorata di pari wattaggio consuma uguale.

Cos’è la tecnologia Zigbee

È uno standard di comunicazione wireless a basso consumo, usata nell’ultimo periodo tecnologico per sensori e oggetti di domotica dato il suo basso costo.

Viene, ad esempio, implementata in tutte le lampadine della Phillips Hue (per questo richiedono un gateway per funzionare, hanno proprio bisogno di un’antenna nuova) e nei sensori di Xiaomi.

Sito web della Zigbee Alliance (link zigbee.org)

Come detto, se volete utilizzare dei sensori che utilizzano questa tecnologia, avrete quindi bisogno di un router aggiuntivo (detto a volte gateway) che sia in grado di fare da ponte tra i vostri sensori e la rete di casa (che sia cablata con il cavo ethernet o Wi-Fi).

Come cancellare tutti i post di revisione WordPress

Se state cercando un modo per alleggerire il vostro database in cui avete WordPress, che sia per motivi di spazio fisico o per ordine anche solo mentale, che ne dite di cancellare tutti i post di revisione?

Ovviamente questa cancellazione comporterà la perdita di tutti i post di revisione (detti anche inherit).

Solo 249.599 (1/4 di milione) righe risparmiate

Quindi prima di eseguire quella bellissima query, fate un backup al vostro db per evitare perdite non volute.

DELETE FROM wordpress WHERE wp_posts.post_status = "inherit"