Archives For In Evidenza

Devo ammettere che negli ultimi tempi il team di sviluppo di Firefox sta davvero correndo come non mai, cercando costantemente di introdurre delle (a mio parere ottime) novità pur mantenendo un alto livello di attenzione ai buchi di sicurezza corretti dalle numerose patch riportate nel codice sorgente. In arrivo ci sono quindi due ulteriori integrazioni che promettono di tenere lontani gli utenti dalle numerose insicurezze nascoste dietro alcuni siti web: una maggiore integrazione con Firefox Monitor e un blocco per tutto ciò che tenta di utilizzare il browser per minare valute elettroniche o tracciare con precisione la tua impronta su Internet (fingerprint).

Firefox Nightly: nuova integrazione Firefox Monitor, blocco CryptoMining e Fingerprint 6

Due aggiornamenti secondo me importanti, che mirano a migliorare la consapevolezza dell’utilizzatore di Firefox nei confronti della sicurezza dei suoi dati (accessi ai servizi online in primis) e all’importanza del limitare la voracità di quei siti web che tentano di collezionarne il più possibile, per un proprio tornaconto evidentemente non sempre chiaro ai nostri occhi. Lascia che ti dia una panoramica un pelo più completa su ambo gli aspetti in arrivo per tutti nel futuro prossimo del browser di casa Mozilla.

Integrazione con Firefox Monitor

Firefox Nightly: nuova integrazione con Firefox Monitor, blocco CryptoMining e Fingerprint

Se questo è il primo articolo che leggi in merito a Firefox Monitor, permettimi di rimandarti a un precedente pubblicato qualche tempo fa, che ti spiega nel dettaglio di cosa si tratta e perché Firefox Monitor può tornare utile nell’utilizzo quotidiano di Internet e dei numerosi siti web e servizi che certamente in parte utilizzerai: Firefox Monitor ti avvisa in caso di furto credenziali. Ora, chiarito lo scopo e l’utilizzo dello strumento brandizzato Mozilla (pur non nascendo nella fucina degli sviluppatori sparsi su tutto il territorio internazionale), ti spiego come ha luogo l’integrazione promessa e che in questo momento (mentre sto scrivendo il mio articolo) è ancora sotto ai ferri per poter essere all’altezza delle aspettative e fondersi diventando tutt’uno con l’interfaccia del browser.

Dall’about:config cerca la chiave extensions.fxmonitor.enabled e attivala (è una variabile booleana, ti basterà portarla su True). Se questa non dovesse esistere tra le chiavi disponibili nella tua configurazione, creala in tutta tranquillità:

A questo punto la modifica è immediata. Visitando un sito web compromesso almeno una volta negli ultimi 12 mesi, ti verrà notificato direttamente da Firefox. Ti segnalo inoltre un paio di ulteriori note da tenere da conto:

  • extensions.fxmonitor.firstAlertShown : questo parametro determina se la prima notifica di allerta ti è già stata mostrata. Puoi impostarlo su False per ripristinarlo e ricevere notifiche per i siti violati negli ultimi 12 mesi.
  • extensions.fxmonitor.warnedHosts : il parametro tiene traccia dell’elenco di siti web per cui ti sono stati mostrati gli avvisi. Se intendi in qualche modo fare un reset, ti basta pulirlo (lasciare la stringa vuota) per riportarlo allo stadio iniziale.

Se non dovesse funzionare sulla tua installazione, è perché probabilmente c’è ancora qualcosa da mettere a posto, come segnalato da un ingegnere Mozilla in un thread su Reddit, ti basterà solo portare un attimo di pazienza, sono certo che nei fix che stanno uscendo in questi giorni ci sarà anche quello che colmerà l’attuale lacuna e permetterà all’integrazione con Firefox Monitor di funzionare correttamente.

Blocco CryptoMining e Fingerprint

Firefox Nightly: nuova integrazione con Firefox Monitor, blocco CryptoMining e Fingerprint 1

Anche di CryptoMining te ne ho già parlato, e l’ho fatto in occasione della presentazione della lista NoCoin per Adblock Plus (ed estensioni compatibili), più precisamente in questo articolo: Ti presento NoCoin, l’ultimo arrivato nella famiglia ABP X Files, riprendendo poi l’argomento in NoCoin: il cryptojacking è ormai argomento comune. A quanto pare l’argomento è diventato fulcro di questa ulteriore novità al momento funzionante in Nightly, ma che presto raggiungerà con ogni probabilità tutti gli altri rami di rilascio di Mozilla Firefox.

A esso si associa l’ulteriore argomento riguardante il Fingerprint del browser, l’impronta digitale lasciata dal software che noi tutti utilizziamo per navigare su Internet, che permette spesso di lasciare al sito web anche altre informazioni, senza però aver mai chiesto il permesso in maniera esplicita all’utente finale. Descrive bene il tutto la Electronic Frontier Foundation (EFF):

“Browser fingerprinting” is a method of tracking web browsers by the configuration and settings information they make visible to websites, rather than traditional tracking methods such as IP addresses and unique cookies.

Browser fingerprinting is both difficult to detect and and extremely difficult to thwart.

When you load a web page, you will automatically broadcast certain information about your browser to the website you are visiting — as well as to any trackers embedded within the site (such as those that serve advertisements). The site you are visiting may choose to analyze your browser using JavaScript, Flash and other methods (just like Panopticlick does). It may look for what types of fonts you have installed, the language you’ve set, the add-ons you’ve installed, and other factors. The site may then create a type of profile of you, tied to this pattern of characteristics associated with your browser, rather than tied to a specific tracking cookie.

If your browser is unique, then it’s possible that an online tracker can identify you even without setting tracking cookies. While the tracker won’t know your name, they could collect a deeply personal dossier of websites you visit.

vedi: panopticlick.eff.org/about#browser-fingerprinting.

È qui che interviene Mozilla, proponendo due impostazioni appositamente dedicate al blocco del Cryptomining e all’evitare che chiunque possa tracciare un’impronta precisa del browser e delle diverse informazioni che tramite questo arrivano a chi sta dietro il sito web o servizio di turno, si va quindi ad aggiungere un nuovo strato di sicurezza al già in produzione blocco degli elementi traccianti.

Accedi a about:preferences#privacy, noterai tu stesso ciò di cui ti sto parlando. È qui che puoi intervenire mettendo in moto le due nuove configurazioni dall’about:config, rispettivamente privacy.trackingprotection.fingerprinting.enabled e privacy.trackingprotection.cryptomining.enabled, variabili booleane che tu potrai attivare in Nightly da subito, nel ramo stabile tra qualche tempo:

La modifica è immediata, è ancora in fase di miglioramento continuo e contribuirà così ad arricchire ancora più ciò che Mozilla mette a disposizione per proteggere quanto più possibile la propria identità digitale e i dati riservati che molti prendono senza il tuo permesso.

Questo significherà abbandonare NoCoin?

Non al momento, ma va da sé che se Mozilla deciderà di integrare la protezione contro il Cryptomining all’interno del browser, liste filtri come NoCoin (e vale anche per le estensioni nate ad-hoc) non avranno forse più senso di esistere, e non c’è migliore notizia per gli utilizzatori, perché si andranno a proteggere anche quelli che non conoscono ancora oggi le possibilità offerte da Adblock Plus (e “soci”), le liste, le configurazioni in grado di tenerli lontani dai pericoli del web.

NoCoin è nata per andarsi a integrare con liste che vengono costantemente aggiornate e tenute vive sul web ormai da molti anni (2007, ed è subito attacco di nostalgia per gli anni passati), ma non è necessario che questa resista se c’è chi può fare di meglio e più diffusamente, credo tu possa comprenderlo benissimo.


immagine di copertina: Tails by giantspeck
fonti:
bleepingcomputer.com/news/security/mozilla-adding-cryptomining-and-fingerprint-blocking-to-firefox
ghacks.net/2019/02/18/firefox-67-to-display-breach-alerts
reddit.com/r/firefox/comments/as4txo/firefox_67_to_display_breach_alerts_ghacks_tech
reddit.com/r/firefox/comments/ap3np6/mozilla_adding_cryptomining_and_fingerprint
Condividi l'articolo con i tuoi contatti:

L’ho già detto che Flash sarebbe da abolire dalla faccia della Terra? Hai ragione, almeno un migliaio o forse più di volte. Dopo anni di vita “flash-free” (fatta salva qualche rarissima eccezione che ho dovuto sbloccare manualmente), pare che la parola fine attenda dietro l’angolo il sempre mai troppo maledetto plugin di Adobe, anche per ciò che riguarda Firefox.

Firefox e PunyCode: occhio ai tentativi di phishing

Ciao Flash, e grazie (?) per tutto il pesce

A partire dalla versione 69 di Nightly (ci troviamo attualmente sulla 66) anche quest’ultimo tassello andrà al suo posto, esattamente come fatto già per Java e Silverlight:

[…]

Mozilla previously disabled other NPAPI (Netscape Plugin Application Programming Interface) plugins like Microsoft’s Silverlight and Java in earlier versions of the Firefox browser. Google did much the same with Chrome in 2015.

vedi: digitaltrends.com/computing/mozilla-disable-flash-firefox-2019

Adobe ha dichiarato che il supporto a Flash terminerà ufficialmente nel 2020 (digitaltrends.com/computing/adobe-flash-software-end-nears), ma tu puoi già modificare il comportamento del tuo Firefox come da me suggerito nell’ormai lontano (?) 2015 (ripreso poi anche nel 2016) in due articoli che ti spiegano come intervenire sull’esecuzione del plugin: Firefox: Passare al Click to Play per Adobe Flash e Firefox: modificare il comportamento di Flash per singolo sito. In ogni caso, anche se tu decidessi di non fare nulla, nel corso di quest’anno Flash verrà disattivato in maniera predefinita sull’installazione Firefox che stai utilizzando (per fortuna, aggiungerei), c’è solo da portare quel pelo di pazienza affinché la versione 69 diventi stabile e passi quindi in distribuzione sulla rete.

Se vuoi, su Reddit trovi la discussione in merito a questa novità: reddit.com/r/firefox/comments/ag0al4/mozilla_to_disable_flash_by_default_in_firefox.

Nuovo profilo dedicato

A partire dalla versione 67 (un pelo prima rispetto all’esclusione predefinita di Flash), Firefox Nightly utilizzerà un profilo dedicato per evitare di sporcare quello “di produzione“, tutto questo va un po’ a riprendere ciò che è stato già fatto in passato per la Developer Edition e più in generale quanto saltato fuori già a ottobre dello scorso anno (vedi: ghacks.net/2018/10/27/firefox-65-dedicated-profiles-per-install). Ti stai chiedendo il perché? Beh, abbastanza semplice. Così facendo potrai installare sulla stessa macchina più versioni di Firefox, e ciascuna di queste utilizzerà un profilo tutto suo senza disturbare quelli delle altre, senza rendere obbligato il passaggio dal Profile Manager e quel minimo di conoscenze in più che non tutti possiedono.

Previously, all Firefox installations shared a single profile by default. On January 28, Firefox will begin creating dedicated profiles for each installation, starting with Firefox 67. On that date, Firefox will begin using a dedicated profile for Firefox Nightly, and this Nightly installation will no longer share a profile with other Firefox installations on your computer. Other versions of Firefox (Beta, ESR and Firefox) will have a dedicated profile once they reach release 67.

This will make Firefox more stable when switching between installations on the same computer and will also allow you to run different installations of Firefox at the same time.

Users who have already manually created separate profiles for different installations will not notice the change (this has been the advised procedure on Nightly for a while).

La pagina di riferimento sul sito web di Mozilla a oggi è questa: mozilla.org/en-US/firefox/dedicated-profiles, per evitare che vada persa ti riporto qui di seguito uno screenshot:

Ciò che si impara dalle informazioni fornite è che il profilo di default non verrà toccato se Nightly è il tuo attuale browser predefinito e sarà lui ad aprirlo per la prima volta nel corso della giornata del 28 gennaio prossimo. Se così fosse, i due si assoceranno e null’altro verrà modificato. Diversamente, verrà creato un nuovo profilo pulito da dare in pasto alla Nightly, e sarai poi tu a decidere il da farsi (medesima cosa accaduto, forse banale ribadirlo, con la Developer); nel caso tu voglia sincronizzare i dati tra i vari profili (a prescindere dalla versione utilizzata di Firefox) potrai sempre ricorrere a Firefox Account.

If you do nothing and are currently running different installations of Firefox that share the same profile, your Nightly installation will start running a dedicated profile on January 28th. If Nightly is the first installation of Firefox you open on or after January 28, it will use your existing profile. If Nightly is not the first installation you open, Nightly will get a new profile. Your existing profile will remain associated with the first installation you open on or after January 28.

Se ne parla anche su Reddit, qui: reddit.com/r/firefox/comments/afzdl9/starting_with_firefox_67_firefox_nightly_will_run.

Condividi l'articolo con i tuoi contatti:

Ho voluto sperimentare un metodo alternativo di pubblicazione automatica su Twitter passando dal mio NAS anziché da IFTTT (che a dirla tutta non mi dava la possibilità di controllare una delle condizioni da me desiderate) o alternative già presenti sul mercato. Ho messo mano a PHP e Bash ancora una volta, lasciando che sia il NAS a fare il lavoro sporco programmato quotidianamente tramite utilità di pianificazione. Io ti racconto la mia esigenza e relativa esperienza, sta a te vederci un possibile utilizzo per qualcosa che ti riguarda.

Pubblicare su Twitter: farlo da Synology (e non solo)

L’esigenza

Dato un numero di giorni mancanti a una certa data (quindi in aggiornamento almeno una volta ogni 24h), ho bisogno di pubblicare un tweet quotidiano, come si trattasse di un conto alla rovescia. Scopro il servizio gratuito offerto da timercheck.io di Eric Hammond e decido di richiamarlo tramite PHP e l’aiuto della libreria twitteroauth di Abraham Williams, perché a vedere ciò che offre IFTTT e i trigger data/ora, Twitter e Webhooks non riesco a fare esattamente ciò che cerco.

Di cosa c’è bisogno

In realtà qualcosa è stato già dichiarato, ma ecco l’elenco della spesa:

  • Un NAS Synology o una qualsiasi macchina Linux-based (penso a un Raspberry, per dire), io comunque farò riferimento al primo citato.
  • PHP 7 (disponibile nel Synology Package Manager) con estensione openssl.
  • Te la ricordi l’utenza limitata che ho creato nell’articolo dedicato alla Surveillance Station? Ecco, ho riutilizzato la cartella del suo profilo (nell’esempio: /var/services/homes/api_user). Qui ho creato una cartella chiamata twitter-php-master all’interno della quale ho inserito gli script di cui ti parlerò dopo.
  • La libreria twitteroauth di Abraham Williams disponibile su GitHub.
  • Un account Twitter e relativa autorizzazione alla creazione / uso di applicazioni tramite apps.twitter.com (devi essere riconosciuto come sviluppatore).

Provo a dare per assodato che tu sappia ciò di cui stiamo parlando e salto a piè pari la creazione di un account Twitter e del profilo da sviluppatore, così come il modulo PHP 7 (ma ti parlerò dell’estensione relativa all’OpenSSL, tranquillo). Se qualcosa non ti è chiara o se non conosci un particolare passaggio non esitare a lasciare un commento in fondo all’articolo, proverò a darti una mano per quanto mi è possibile :-)

Detto ciò, partiamo.

Abilita il modulo OpenSSL su PHP 7

Collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi passa all’utenza di root tramite un sudo -i seguito da invio, inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Spostati ora in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione di openssl:
    extension=openssl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Crea una copia del modulo openssl.so tramite un
cp /volume1/@appstore/PHP7.0/usr/local/lib/php70/modules/openssl.so /usr/local/lib/php70/modules/
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Tutto questo ti permetterà di evitare di incorrere nell’errore che qui di seguito ti mostro (da me ottenuto quando ho lanciato lo script di bash per la prima volta, dopo essermi dimenticato di abilitare SSL sul PHP del mio NAS):

Pubblicare su Twitter: farlo da Synology (e non solo) 1

Crea il conto alla rovescia tramite timercheck.io

Il funzionamento di questo semplicissimo servizio web è spiegato abbondantemente nell’articolo del suo stesso autore. Io sarò più breve: una giornata da 24 ore è composta da 86400 secondi (Google semplifica le cose), qui trovi un tool per il calcolo dei giorni tra due date, il gioco è praticamente fatto.

Trasforma il numero di giorni in secondi, quindi crea un URL univoco tramite timercheck.io che possa restituirti un output json contenente ciò che a te serve (il tempo che rimane) ogni volta che intendi visitare quell’URL tramite browser e non solo (nel mio caso lo richiamo proprio dallo script PHP di cui ti parlerò tra breve). Un esempio? timercheck.io/Test-Gioxx.org/60 crea un conto alla rovescia che dura un minuto, visitando semplicemente timercheck.io/Test-Gioxx.org e aggiornando la pagina noterai che il conto alla rovescia avanzerà portandosi sempre più verso lo zero (nel campo seconds_remaining), tutti i dati in json resteranno disponibili fino allo scadere di quel timer, e questo è proprio ciò che ti serve.

È caldamente consigliato creare un URL quanto più difficile da indovinare o replicare, questo perché in caso contrario chiunque potrà modificarlo o resettarlo al posto tuo, è un servizio totalmente aperto a tutti, senza gerarchie o complicati sistemi di autorizzazione. Accetti un’idea che credo possa tornarti utile? Genera un contatore nuovo con un nome qualsiasi e una durata di 10 secondi, copia il suo request_id e crea un nuovo contatore con il nome che ti interessa al quale farai seguire l’ID copiato (esempio: timercheck.io/Test-Gioxx.org-dc8a395c-10d7-11e9-b585-175833651ae5/60), questo è certamente un URL molto più univoco di quello da te precedentemente pensato.

Il tuo contatore è pronto, puoi procedere verso lo script PHP che si occuperà di lanciare il tuo tweet in rete.

post-tweets.php

Uno script PHP che troverà posto all’interno della cartella /var/services/homes/api_user/twitter-php-master e che conterrà le istruzioni necessarie per inviare il cinguettio sulla piattaforma. Prima però di dedicare la giusta attenzione a questo specifico script, devi scaricare una copia aggiornata della libreria twitteroauth di Abraham Williams, puoi farlo con un semplice clic qui. Scompatta il contenuto del file ZIP all’interno della cartella twitter-php-master (non ripeto la solita posizione completa, dai!), non toccare null’altro, non serve.

Torniamo a quello che per comodità chiamerò post-tweets.php, lo script che si occuperà di pubblicare il tweet. Ti mostro il contenuto del mio, rimuovendo i dettagli personali ma mantenendo l’esempio testuale:

Ciò che dovrai ritoccare riguarderà ovviamente i parametri personali e il testo da inviare online. Dovrai specificare CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN e ACCESS_TOKEN_SECRET dell’applicazione che potrà scrivere impersonando il tuo utente, aggiungere il timer da tenere d’occhio (nell’esempio ho mantenuto https://timercheck.io/Test-Gioxx.org/60, a te toccherà specificare qui il tuo timer) e modificare il testo da pubblicare in base alla condizione del countdown: se questo è attivo o se è terminato (lo posso fare monitorando uno dei valori output del json, in questo caso lo status).

Piccola nota di finezza è il round() applicato al calcolo dei giorni (numero dei secondi residui diviso 86400), così da evitare di far comparire dei decimali nel tweet.

Il risultato dovrebbe assomigliare a questo:

Programmare l’operazione

Hai terminato tutta la preparazione, non ti resta che automatizzare il processo tramite Utilità di pianificazione e un banalissimo script bash per rendere tutto più immediato:

Salva il file bash nella solita cartella (twitter-php-master), avvia l’utilità di pianificazione Synology e crea una nuova operazione programmata da far girare ogni giorno all’ora che preferisci (io ho scelto le 8:00):

Pubblicare su Twitter: farlo da NAS Synology (e non solo)

Ce l’hai fatta, salvo errori sei appena riuscito a programmare la pubblicazione di un tweet tramite il tuo account. Il mio è un esperimento per imparare qualcosa di nuovo, utile per arrivare a una data per me molto importante, e nel tuo caso qual è la giustificazione per aver avviato un nuovo contatore con pubblicazione su Twitter automatizzata? :-)

Buona giornata!


Credits: artisansweb.net/tweet-twitter-php

Condividi l'articolo con i tuoi contatti:

Mi rendo conto che il titolo è molto poco preciso ma provare a buttarci dentro “Come abilitare o disabilitare l’Home Mode di Synology Surveillance Station appoggiandosi a Fritz!Box e agli smartphone collegati alla WiFi di casa” sarebbe stato un pelo esagerato. La sostanza però è proprio questa: il Geofence integrato nell’applicazione DS cam fa oggettivamente schifo, non è assolutamente affidabile e si finisce per non riuscire mai a sfruttare la modalità Home dell’ottimo software di controllo telecamere disponibile per i NAS Synology. L’ostacolo si può aggirare tramite un router Fritz!Box (nella soluzione proposta da questo articolo, chiaro) e un paio di script da tenere sul NAS.

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi

AVM FRITZ!Box Synology Surveillance Home Mode Automation

Mark Schipper è lo sviluppatore che ha in origine pubblicato tutto il necessario in un repository GitHub qui disponibile. Le sue indicazioni sono già valide per poterle sfruttare in un ambiente casalingo dalle pari disponibilità, e dopo una mia segnalazione di possibile bug ha anche integrato una serie di novità e riscritto parte del codice che si occupa di:

  • verificare tramite query SOAP al router Fritz!Box di casa (uno o più) se un dispositivo è connesso alla rete WiFi (bisognerà dichiarare il MAC address del dispositivo, nda);
  • contattare la Surveillance Station tramite API e chiedere di abilitare o disabilitare la modalità Home nel caso in cui il dispositivo sia dentro o fuori casa.

In parole estremamente povere la modalità Home di Synology Surveillance Station si attiva se un tuo smartphone (o altro dispositivo a tua scelta) entra nella rete WiFi di casa, si disattiva invece quando esci da quel perimetro, il tutto lanciando controlli ripetuti a distanza di una quantità di minuti da te stabilita.

Tutto questo si è reso “necessario” perché la funzione di Geofence integrata nell’applicazione DS cam per Android e iOS non è esattamente questo gran mostro di precisione. Un esempio virtuoso che potrei farti in questo caso è tado° che difficilmente perde un colpo. Per questo motivo ho preferito mettere in campo e sperimentare quanto scritto da Mark, apportando poi delle piccole modifiche per rendere ancora migliore il risultato e colmando un gap che manca all’appello del README dello sviluppatore originale, che invita a installare il modulo PHP 7 di Synology senza però specificare che occorrerà ricordarsi di attivare l’estensione soap se precedentemente mai attivata.

DS cam
DS cam
Developer: Synology Inc.
Price: Free
DS cam
DS cam
Developer: Synology Inc.
Price: Free

Il fork

Synology Surveillance Station: automatizzare l'Home Mode tramite WiFi 1

Il mio fork nasce per integrare alcuni riferimenti in più rispetto al progetto originale e per proporre una modifica allo script di bash che ti permette di ottenere un aggiornamento di stato di Home Mode via Telegram. Quest’ultima funzione è chiaramente opzionale e può essere disabilitata facilmente.

Cosa ti serve

  • Un router Fritz!Box (non obbligatoriamente un 7490 come nel caso di Mark o un 7590 nel mio) e un NAS Synology (ma va?).
  • PHP 7 (disponibile nel Synology Package Manager) con estensioni soap e curl.
  • Utenza limitata per permettere di disabilitare o abilitare Home Mode della Surveillance Station (sconsigliato utilizzarne una già esistente con maggiori autorizzazioni).
  • Pacchetto file contenuti nel repository GitHub.
  • Opzionale: bot Telegram tramite il quale ricevere i cambi di stato.

Affrontiamo per passaggi ogni necessità sopra riportata

#1: PHP 7, soap & curl

Apri il Centro Pacchetti del tuo NAS Synology e cerca PHP 7, quindi installalo:

Synology Surveillance Station: Home Mode automatico tramite WiFi

Una volta terminata l’installazione, collegati via SSH al tuo NAS (non sai come fare? Guarda qui), quindi spostati in /usr/local/etc/php70 e modifica il file php.ini (esempio: vi php.ini). Per salvare le modifiche che apporterai ti sarò richiesto quasi sicuramente di essere utenza root, lancia un sudo -i seguito da invio, quindi inserisci la password della tua utenza amministrativa e premi invio (non sai di cosa sto parlando? Guarda qui). Ora:

  • cerca la stringa extension_dir = "/usr/local/lib/php70/modules"
  • Aggiungi subito sotto l’abilitazione delle due estensioni per soap e curl:
    extension=soap.so
    extension=curl.so
  • Salva il file e chiudilo (tasto ESC, poi :wq seguito da invio).
  • Torna ora nel Gestore Pacchetti di Synology e riavvia PHP 7.

Il php.ini modificato dovrebbe assomigliare a questo:

Synology Surveillance Station: Home Mode automatico tramite WiFi 1

#2: api_user

Un’utenza limitata che possa solo disabilitare o abilitare Home Mode in Synology Surveillance Station, è ciò di cui hai bisogno in questo momento. Avvia Surveillance Station e apri il menu in alto a sinistra con un clic, quindi seleziona Utente. Aggiungi un nuovo utente seguendo la procedura guidata, ti riepilogo i passaggi e ti propongo poi qualche screenshot:

  • nome utente: api_user (uso questo perché richiamato dagli script, tu puoi decidere di cambiarlo ma ti invito poi a leggere il paragrafo Troubleshooting nella parte finale dell’articolo);
  • descrizione: inserisci una descrizione che possa ricordarti un domani a cosa serve l’utente che stai creando;
  • password: scegline una sufficientemente robusta, puoi crearne una random qui;
  • fai clic su Avanti e crea un nuovo profilo privilegio;
  • dai un nome e una descrizione al profilo privilegio (scegli un nome che possa un domani ricordarti a cosa serve quel privilegio), mantenendo Gestore come tipo;
  • NON aggiungere autorizzazioni nella schermata Videocamere, E-Map e Layout. Arrivato alla schermata dei Privilegi avanzati, spunta l’opzione in corrispondenza di Passa manualmente alla modalità Home.

#3 scarica e modifica gli script

Scarica il contenuto del repository da GitHub, scompatta il file ZIP e ottieni così i file fritz_activemac.php e switch_homemode.sh (puoi buttare via il README). Prima di caricare i file sul NAS ti suggerisco di modificarli in base a ciò che è stato fatto fino a ora (utenza generica, eventuale bot Telegram, ecc.).

Il primo file citato (fritz_activemac.php) non dovrebbe necessitare di modifica alcuna (tranne se hai scelto di creare un utente limitato diverso da quello da me suggerito, quindi non “api_user“, ti rimando a questa nota nel Wiki), contrariamente allo script bash switch_homemode.sh. Aprilo con un buon editor di testo (Notepad++ o Atom) quindi segui queste indicazioni:

  • SYNO_SS_USER: inserisci qui l’utenza limitata che hai precedentemente creato. Se hai seguito scrupolosamente le indicazioni, lascerai probabilmente api_user;
  • SYNO_SS_PASS: inserisci la password che hai scelto e inserito quando hai creato l’utenza limitata;
  • SYNO_URL: inserisci l’IP e la porta utilizzata per collegarsi al tuo NAS;
  • FRITZ_URL: inserisci l’IP (o gli IP se più d’uno, intervallati dai due punti, esempio: 192.168.1.2:192.168.1.3);
  • TELEGRAM: può avere solo due valori, 0 e 1. 0 disabilita le funzionalità legate al bot di Telegram, 1 le attiva;
  • BOT_TOKEN: inserisci qui il token che ti ha rilasciato BotFather quando hai creato il tuo nuovo bot;
  • CHAT_ID: l’ID della chat in cui il bot dovrà riportare i messaggi riguardanti il cambio di stato di Home Mode;
  • MSG_SS_ACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà attiva;
  • MSG_SS_INACTIVE: riporta qui il messaggio che il bot ti invierà quando la modalità Home sarà disattiva.

Fai attenzione: modifica esclusivamente ciò che ho riportato qui sopra, facendo attenzione a mantenere le virgolette dove specificate. Lascia tutto il resto invariato per scongiurare possibili malfunzionamenti. Se non sai come creare un bot Telegram fammi un cenno, sto valutando se scrivere qualche riga di testo nel Wiki su GitHub o meno.

Salva il file, questo lavoro è terminato. Carica ora i due script all’interno della cartella /var/services/homes/api_user del tuo NAS, dove “api_user” ovviamente dovrà essere modificato se hai scelto di creare un utente dallo username differente. A questo punto sei pronto a verificare il funzionamento.

#4 test e programmazione

Salvo errori, gli script sono ora pronti a lavorare. Puoi provare tu stesso lanciando da terminale

./switch_homemode.sh MAC1 MAC2

dove MAC1 e MAC2 dovranno essere sostituiti con due MAC Address appartenenti a dispositivi che sono collegati alla rete casalinga. Sia chiaro, puoi specificare anche solo un MAC Address, non c’è bisogno di metterne due o più (ma puoi farlo). A questo punto verrà lanciata la query SOAP al router e il risultato (un semplice true o false) verrà salvato all’interno del file synohomemode.state (che verrà creato sul momento se non esistente).

Se il dispositivo non è collegato alla WiFi casalinga, Home Mode verrà disattivato, diversamente verrà attivato.

Manca l’ultimo passaggio, programmare l’esecuzione dello script tramite Utilità di pianificazione di Synology. Accedi all’utilità tramite Pannello di controllo, quindi crea una nuova operazione e compila i dati richiesti:

  • Attività: dai un nome all’attività, uno “parlante” (che ti ricordi immediatamente di cosa si tratta).
  • Utente: lascia che sia root a eseguire l’attività.
  • Programmazione: l’esecuzione dovrà essere giornaliera, a partire dalla mezzanotte, ogni 5 minuti fino alle 23:55. I 5 minuti possono anche essere diminuiti o aumentati, dipende dalla tua esigenza.
  • Impostazioni attività: dovrai semplicemente inserire nel box di testo la stringa che ti permetterà di avviare il controllo, quindi
bash /var/services/homes/api_user/switch_homemode.sh MAC1 MAC2

Sostituisci chiaramente MAC1 e MAC2 con i veri MAC Address dei dispositivi che vuoi tenere sotto controllo, puoi specificarne solo uno o anche più di due.

Il gioco è ormai fatto :-)

Se ci sono dubbi o problemi l’area commenti è a tua disposizione, io qui di seguito inserisco già un paio di risposte ad altrettante domande che potresti avere, ma sentiti libero di chiedere altro se dovesse servire.

Synology Surveillance Station: Home Mode automatico tramite WiFi 9

Buon Natale!

Troubleshooting

Cambiare lo username dell’utente generico

Puoi chiaramente scegliere di utilizzare un nome utente che non corrisponda ad api_user come riportato nell’articolo, dovrai però ricordarti di modificare quel SYNO_SS_USER="api_user"; in switch_homemode.sh, oltre che eventuali operazioni programmate nell’Utilità di pianificazione del NAS. Modifica poi, sempre in switch_homemode.sh, tutto il blocco relativo ai file di stato e il richiamo dello script PHP:

## State file configuration (don't touch anything if not necessary)
STATEFILE='/var/services/homes/api_user/synohomemode.state';
RETRYFILE='/var/services/homes/api_user/synohomemode.retry';
CHECKFRITZ='/usr/local/bin/php70 /var/services/homes/api_user/fritz_activemac.php';

dove al posto di api_user dovrai chiaramente inserire il nome utente da te scelto.

Wiki: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/Cambiare-lo-username-dell%E2%80%99utente-generico

Errore nella query SOAP

Qualcosa non torna e lanciando lo script di bash manualmente ottieni errori sulla query SOAP? Forse è necessario copiare i moduli delle due estensioni, prova a dare un’occhiata al documento che ho salvato nel Wiki del repository GitHub: github.com/gioxx/AVM-FRITZ-Box-Synology-Surveillance-Home-Mode-Automation/wiki/PHP-7:-abilitare-CURL-e-SOAP-su-Synology-DSM.


credits:

Condividi l'articolo con i tuoi contatti:

Non di sola strada in discesa è fatta la tecnologia, chi ci gioca quotidianamente lo sa bene, ed è per questo motivo che sono solito giocare con qualsiasi cosa mi capiti a portata di mano, a prescindere da quello che succederà, mal che vada avrò fatto un “incauto acquisto” che mi porterà probabilmente all’inutilizzo dell’oggetto, seconda faccia di una medaglia unica in questo campo, cosa tra l’altro capitata anche di recente. Dato che ciò non mi ha mai fermato, ecco arrivare sul banco prova il Mi Band 3 NFC, versione “completa” non ancora commercializzata in Italia rispetto al suo fratello minore Mi Band 3. Dopo aver sbattuto il muso contro l’inesistenza della localizzazione italiana e di quella inglese attivabile solo in “particolari condizioni“, ho mosso le giuste corde per arrivare al traguardo nonostante quanto stabilito da Xiaomi.

Xiaomi Mi Band 3 NFC: traduzione italiana 1

Per “particolari condizioni” (in riferimento alla lingua inglese di cui ti parlavo qualche parola fa) intendo l’avere lo smartphone localizzato in lingua inglese, sì tutto, non solo per ciò che riguarda l’applicazione Mi Fit che puoi scaricare da Play Store. Dato però che questo non è il mio di caso, ho scelto di percorrere una differente strada e perdermi nell’abbondante documentazione che parla di Mi Band 3, a cavallo tra il sito (e forum) di GizChina e tutto il vasto mondo di GitHub. Tutto facile? Affatto. Si parla abbondantemente di Mi Band 3, non della sua versione NFC.

Quindi che si fa?

Ci si affida a chi è solito fare questo mestiere ma che –a corto di cavie– non è riuscito a rendere disponibile il firmware in italiano fino a ora. Il team è quello di “ilgruppotester“, quelli che hanno questo canale YouTube e che rilasciano pubblicamente firmware e applicazioni modificate anche tramite il loro bot su Telegram. La cavia di turno è il sottoscritto, ho prestato alla scienza il mio Mi Band 3 NFC e tanta sacrosanta pazienza per effettuare tutte le sovrascritture firmware e installazione file di risorse e font, fino ad arrivare al risultato finale che permette di ottenere un prodotto con software localizzato in italiano seppur un pelo più indietro rispetto all’ultimo disponibile ufficialmente da Xiaomi (ma credimi, non manca nulla).

Mi Band 3 NFC in italiano

La premessa qui è doverosa prima di cominciare:

ATTENZIONE: Prima di partire, il solito consiglio: occhio sempre a quello che tocchi e che modifichi, ogni operazione spiegata qui di seguito invalida la garanzia e potrebbe causare il brick del prodotto, rendendolo inutilizzabile. Una piccola ancora di salvezza c’è e te la spiego un paio di paragrafi più giù (mi sembra il minimo), ma fa attenzione e segui attentamente le istruzioni fornite.

Occhio: nulla di quanto spiegato qui di seguito può essere applicato a Mi Band 3 senza NFC, quel modello è già pienamente supportato in italiano, a prescindere dallo store dal quale lo hai acquistato (o acquisterai in futuro).

Detto ciò, quello che ti serve è uno smartphone Android, un software gratuito e Open Source chiamato GadgetBridge (utile per caricare i file sul tuo Mi Band) e alcuni file modificati che ti permetteranno di raggiungere la meta sperata. Per concludere, una versione modificata (dal team de “ilgruppotester“) di Mi Fit ti permetterà di evitare che arrivino degli aggiornamenti firmware da Xiaomi a rendere inutile tutti i tuoi sforzi. Ti fornisco tutto io per sicurezza:

Prima di intraprendere qualsiasi altra operazione, entra in Mi Fit (che dovresti ancora possedere in versione ufficiale rilasciata da Xiaomi), spostati nel menu relativo al tuo Mi Band 3 NFC e sblocca la visibilità bluetooth (Profilo → Mi Band 3 NFC → Visibile → Attivato), così sarà più facile rilevare il prodotto anche da altre applicazioni. Fatto ciò, attendi che finisca la sincronizzazione e disaccoppia il bracciale dall’applicazione.

Il primo passo è compiuto. Disinstalla ora Mi Fit originale e installa la versione modificata. Le due non possono convivere sul medesimo smartphone perché la versione modificata mantiene quasi tutto dell’originale, e per il tuo smartphone è come se Mi Fit Mod fosse identica all’originale. Fatto ciò apri Mi Fit Mod, collegati con il tuo account e NON ricollegare subito il tuo Mi Band 3 NFC.

Installa e apri GadgetBridge, fai partire una ricerca dei dispositivi bluetooth nei paraggi e procedi con l’accoppiamento con Mi Band 3 NFC (un po’ come sei abituato già a fare con Mi Fit). Fatto ciò, vai a ripescare i file modificati che ti ho fatto scaricare precedentemente e seguendo uno specifico ordine, dalli in pasto a Mi Band 3 NFC passando da GadgetBridge in questa maniera:

L’ordine da rispettare è prima font (file ft), poi file res e infine il firmware modificato (file fw). Per ciascuno di questi, utilizzando il File Manager originale del proprio smartphone (nel mio caso ho usato Galaxy S8) dovrai “condividere” il file e poi farlo aprire da GadgetBridge che ti permetterà di caricarlo sul dispositivo.

Contrariamente al file del font e quello delle risorse, effettuare il flash del firmware richiederà il riavvio di Mi Band 3 NFC, che verrà eseguito in maniera del tutto automatica, pazienta qualche secondo prima di provare a riaccendere il suo piccolo monitor (premendo l’unico pulsante a tua disposizione). Salvo errori, avrai caricato un firmware completamente in italiano, che ti permetterà di goderti il tuo nuovo prodotto come fosse stato acquistato ufficialmente nella nostra nazione. Unico neo è costituito dai caratteri particolari o dalle condizioni climatiche non del tutto complete, ma questo –ho notato– dipende poi dall’applicazione ponte utilizzata (intendo Mi Fit o un’equivalente, per esempio Notify), ed è qualcosa che posso sopportare (in pratica, rispetto a un Mi Band 3 con firmware ufficiale, manca il dirti se è nuvoloso, se ci sono piogge, cose che puoi comunque sapere guardando l’icona subito sopra i gradi).

Xiaomi Mi Band 3 NFC: traduzione italiana 10

Foto un pelo sfocata, sorry!

Escluso questo minuscolo bug, il resto è davvero tutto in ordine. Avvia ora Mi Fit Mod, associa il tuo Mi Band 3 NFC e comincia a utilizzarlo come hai sempre fatto con un Mi Band precedente e l’applicazione Mi Fit originale, almeno fino a quando Xiaomi non renderà disponibile la lingua italiana senza trucchetto alcuno, tramite il proprio software.

Sorry Sir, can I speak english?

Yeah, sure, e ci mancherebbe. Il primo firmware modificato che ho provato sulla mia Mi Band 3 NFC era in inglese, e già così –a mio modesto parere– era spanne avanti rispetto alla localizzazione originale del Sol Levante, mi sarebbe bastato. Senza toccare il file font e res che ha già provveduto a caricare sul tuo dispositivo, puoi scegliere di lanciare un nuovo flash firmware utilizzando questo file fw che ti metto a disposizione: go.gioxx.org/mb3nfc-fwen. Il tuo Mi Band 3 NFC parlerà inglese, se lo preferisci (attendi giusto il solito riavvio a operazione terminata):

Credo di aver rotto tutto, che si fa?

Ecco, il paragrafo più difficile, quello che si spera sempre non debba servire ma che sfortunatamente può tornarti utile in caso di emergenza. Può succedere che l’operazione di flash del firmware si sia interrotta per qualsivoglia problema (non mi interessa quale) e che il tuo Mi Band 3 NFC mostri a video un’icona che ti invita a collegarlo a un’applicazione per il restore del software originale. Se questo non fosse per te possibile, ma il Mi Band 3 NFC riuscisse ancora a collegarsi a GadgetBridge, ti metto a disposizione i file originali di Xiaomi (res e fw) che dovrai sovrascrivere a quelli ora danneggiati.

Trovi tutto all’indirizzo go.gioxx.org/mb3nfc-stock, l’ordine rimane lo stesso riportato prima (res, poi firmware). Se ti stai chiedendo come recuperare in autonomia i file più aggiornati rispetto a questo mio articolo (che magari leggerai tra tre mesi o chissà quando), è molto semplice. Scarica l’ultima versione (APK) di Mi Fit originale Xiaomi (esempio pratico: apkmirror.com/apk/anhui-huami-information-technology-co-ltd/mi-fit/mi-fit-3-5-5-4-release/mi-fit-3-5-5-4-android-apk-download), scompattala per ottenere le cartelle e i file di programma, esplora la cartella “assets” e tira fuori da lì i file Mili_chongqing.res e Mili_chongqing.fw, Chongqing è il nome in codice di Mi Band 3 in versione NFC.

Salvo danneggiamenti più complicati rispetto a quello citato, dovresti riuscire a far “resuscitare” il tuo prodotto, scongiurandone la perdita. Ora però noterai che la lingua sarà tornata quella originale, puoi tentare di seguire nuovamente la procedura per trasformare il prodotto in italiano.

Dovrei aver riportato tutto il necessario. Se dovessi avere bisogno di assistenza, puoi certamente lasciare un commento all’articolo oppure fare un salto nel gruppo Telegram dedicato al mondo del firmware modding per i dispositivi Xiaomi: t.me/joinchat/BUSoOUHsp_V3WXG4pXamKQ.

Buon divertimento e buon inizio settimana :-)

Condividi l'articolo con i tuoi contatti: