venerdì 6 marzo 2020

Altre dritte per SailfishOS



Il fingerprint sensor va strisciato!

Magie della tecnologia moderna: quando si fa il training dell'impronta digitale sul sensore, occorre strisciare il polpastrello, non "poggiarlo". Strisciandolo, il firmware capisce di più e riconosce meglio.


Per gli script c'è sempre mcetool

Dato che lo schermo dell'Xperia X è ancora sfasciato, e il touchscreen è impazzito, l'unico modo per sbloccarlo è usare il tool mcetool (normalmente fornito di serie; al limite, installabile con devel-su pkcon install mce-tools - in tal caso sarà accessibile con /usr/sbin/mcetool).

Per riaccendere lo schermo è sufficiente mcetool --unblank-screen ma a causa dello schermo rotto e touchscreen impazzito non mi funzionava sull'Xperia X, per cui al suo posto ho dovuto usare mcetool --set-never-blank=enabled (geniale idea: se costa troppo ripararlo, semplicemente gli strappo via lo schermo e lo uso esclusivamente da accesso remote desktop VNC). Per lo sblocco invece si usa il "tklock mode". I comandi non vanno dati uno dietro l'altro ma distanziati di qualche decimo di secondo.

Dunque: "riaccendi e sblocca dall'autolock":
mcetool --unblank-screen ; sleep 0.2 ; mcetool --set-tklock-mode=unlocked
"Blocca (cioè vai in autolock) e spegni":
mcetool --set-tklock-mode=locked ; sleep 0.2 ; mcetool --blank-screen
Con mcetool --long-help c'è tutta la lista di comandi e impostazioni; segnalo qui quelli che potrebbero essere interessanti:
  • --set-autolock-mode
  • --set-display-brightness
  • --set-cpu-scaling-governor=performance (se si usa il cellulare come server sempre alimentato)
  • --set-ps-mode=disabled (se è difettoso il proximity sensor, si può zittire)
  • --powerkey-event (per mandare una finta "pressione del tasto Power, breve, doppia o lunga)
Nota: "PS" è il proximity sensor; "ALS" è l'ambient light sensor; "lid" è il coperchio (che gli Xperia non hanno; ce l'hanno solo i cellulari "clamshell"). Inoltre, non ho provato l'autolock in presenza di un "pin" o "device code" di sblocco. Dato che lo schermo è scassato, ho disabilitato tutti i lock. Inoltre diverse cose sull'Xperia X notoriamente non sono ancora funzionanti (radio FM, double-tap, fingerprint, ecc.) mentre sull'XA2 qualcosa funziona (il fingerprint sensor).

Tutti i valori di default del SailfishX sono nella directory /etc/mce.


Contromisure per la pubblicità

Le strisciate pubblicitarie sono il cancro di internet, perché consumano risorse (quantità di byte trasmessi, tempo di CPU per visualizzarle, spazio a video, elettricità disponibile nella batteria, ecc.) e ottengono come unico risultato quello di infastidire l'utente (poiché sono indesiderate, rallentano apps e pagine web, distraggono, tracciano abitudini e attitudini degli utenti, eccetera).

Dato che grosso modo tutte le pubblicità provengono dagli stessi server, per eliminarne la maggioranza assoluta è sufficiente che tali server siano irraggiungibili, cioè che i loro hostname siano associati all'indirizzo 0.0.0.0 (convenzionalmente: "server inesistente o irraggiungibile").

La prima contromisura può essere "a monte": con un progetto come la Pi-Hole il cellulare si connette ad un access point wifi che quando riceve una richiesta DNS relativa ad un server "pubblicitario" la marca come "irraggiungibile".

La seconda contromisura è "locale": il file /etc/hosts contiene una lista nera di server "pubblicitari", e dato che in locale ogni richiesta di hostname passa prima per /etc/hosts e solo dopo verso un DNS, allora i server censiti come "0.0.0.0" crepano in loco e non vengono ricercati tramite DNS.

La terza contromisura è "nel browser" con uBlock origin o altre estensioni anti-pubblicità.

Nel caso del cellulare (che può connettersi anche ad altre wifi o alla rete cellulare), la soluzione più efficace è aggiungere al file /etc/hosts la lista nera aggiornata di server sospetti.

Ho giusto pronto uno script Ruby che funziona uguale sia su Ubuntu che su SailfishX e altre distribuzioni Linux, che quando invocato (da root) scarica con curl la "lista nera" più aggiornata dei server pubblicitari (con l'aggiunta dei siti web sospetti di fakenews, gioco d'azzardo, ecc.) e riscrive per intero l'/etc/hosts (attenzione dunque a configurare lo script con gli indirizzi LAN statici della vostra rete prima di pasticciare con quel file!).

Funziona anche sulle apps Android sotto SailfishX tranne per le strisciate pubblicitarie aùmm-aùmm che non hanno bisogno di interrogare un DNS per rintracciare il server pubblicitario.

Per le dritte precedenti: cliccare qui.

1 commento:

  1. Grazie! Proverò a confrontare la tua lista nera con quella che uso io, cioè:
    http://someonewhocares.org/hosts/hosts

    RispondiElimina