Script per autogenerare file host

Questo è uno script da poter installare sulla propria macchina server, per autogenerare (con un bel cron) file host da poter poi scaricare con uno script impostato nel vostro router.

Questo per avere file host sempre aggiornati.

#!/bin/bash

rm -rf /opt/ads/*

# Perform work in temporary files
temphosts1=$(mktemp)

# Obtain various hosts files and merge into one
wget -qO - https://winhelp2002.mvps.org/hosts.txt >> $temphosts1
wget -qO - https://hosts-file.net/ad_servers.asp >> $temphosts1
wget -qO - https://someonewhocares.org/hosts/hosts >> $temphosts1
wget -qO - "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext" >> $temphosts1
wget -qO - https://adaway.org/hosts.txt >> $temphosts1
#wget -qO - https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling-porn-social/hosts >> $temphosts1
wget -qO - https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/fakenews-gambling/hosts >> $temphosts1

# Do some work on the file:
# 1. Remove MS-DOS carriage returns
# 4. Replace 127.0.0.1 with 0.0.0.0 because then we don't have to wait for the resolver to fail
# 2. Delete all lines that don't begin with 0.0.0.0
# 5. Scrunch extraneous spaces separating address from name into a single tab
# 6. Delete any comments on lines
# 7. Clean up leftover trailing blanks
# Pass all this through sort with the unique flag to remove duplicates and save the result

sed -e 's/\r//'  -e 's/127.0.0.1/0.0.0.0/' -e '/^0.0.0.0/!d' -e 's/ \+/\t/' -e 's/#.*$//' -e 's/[ \t]*$//' < $temphosts1 | sort -u >  /opt/ads/hosts

#remove the first line
sed -i -e "1d" /opt/ads/hosts

L=$(wc -l /opt/ads/hosts | awk '{ print $1 }')
NOW="#$L hosts  $(date +"%d/%m/%Y %H:%M:%S")"

sed -i "1 i\\$NOW" /opt/ads/hosts


rm /var/www/auto/hosts.txt
ln /opt/ads/hosts /var/www/auto/hosts.txt

exit 0

Wecast Firmware

L’altro giorno ho acquistato questo dongle hdmi che supporta protocolli DLNA e Miracast, assomiglia un pò alla chromecast ma con qualche aggiunta in più.

E’ uno dei tanti cloni tipo: anycast, ezcast etc etc

Si assomigliano un pò tutti e tutti hanno la funzionalità di upgrade del firmware.

Tranne la mia Wecast che, una volta collegata alla mia rete domestica, non ha provveduto ad aggiornarsi ad una versione firmware un pò più recente ed è rimasta ferma alla 3.70.00

Su internet girano un pò di firmware che non sono compatibili con la mia Wecast.

Così ho provveduto a dissaldare la ROM e ho fatto un backup del’intera memoria in modo tale da fare qualche esperimento.

Gli esperimenti sono andati male perchè tutti i firmware che trovo in giro sono per RockChip RK292x e la mia Wecast monta un RV2108… se qualcuno può passarmi un firmware aggiornato ne sarei grato!

Il chip della ROM è un comunissimo serie 25, più precisamente un Winbond W25Q128FV @SOIC8.

Il backup e la riprogrammazione è avvenuto con il mio fido TL866A (link tutorial).

Così ho deciso di rendere disponile il backup a tutti da flashare con un programmatore tipo TL866A:

 

*** WeCast 3.70.00 firmware ***

 

 

Bloccare le pubblicità direttamente dal router

Salve

Con questo articolo vorrei mostrarvi come bloccare le annose pubblicità (ads) quando navigate su internet usando direttamente il vostro router anziché usare i vari adblock plugin per il vostro browser preferito.

Inizio col dire che ho un router TP-Link WR703N modificato con firmware DD-WRT aggiornato all’ultima release.

Andando nella schermata (tradotta in italiano): Amministrazione > Comandi

Bisogna aggiungere questo Startup Script:

#!/bin/sh
sleep 60
rm /tmp/hosts
mkdir /tmp/ads
wget -qO /tmp/ads/hostsfile https://hosts-file.net/ad_servers.txt
wget -qO /tmp/ads/winhelp2002 https://winhelp2002.mvps.org/hosts.txt
#cat /tmp/ads/hostsfile | sed -e 's/#.*$//' -e '/^$/d' > /tmp/hosts
cat /tmp/ads/winhelp2002 /tmp/ads/hostsfile | sed -e 's/^[ t]*//' | grep -v ^# | sort | uniq > /tmp/hosts
rm -rf /tmp/ads
rm /etc/hosts
ln /tmp/hosts /etc/hosts
stopservice dnsmasq && startservice dnsmasq
exit 0

 

Una volta aggiunto e salvato lo script, dobbiamo spuntare le seguenti opzioni:

Services > DNSMasq

Abilitare il DNSMasq e DNS Locale

Inoltre, bisognerà aggiungere il seguente comando in “Opzioni Aggiuntive DNSMasq”:

addn-hosts=/tmp/dlhosts

Salviamo, applichiamo le modifiche e dopo un minuto esatto tutto gli ads saranno automaticamente bloccati.

 

Ciao!

Aggiungere una ventola di raffreddamento per la Raspberry Pi

Salve a tutti

Qualche tempo fa ho aggiunto una ventola di raffreddamento per la mia Raspberry Pi.

Premesso che è abbastanza inutile in quanto la CPU sopporta temperature abbastanza elevate per un uso domestico, questi sono alcuni semplici passaggi per l’installazione con scriptino annesso:

Acquistiamo e montiamo una piccola ventolina a 5v per la nostra raspberry pi.

Il filo nero va sul pin GND della scheda e quello rosso, per comodità, l’ho messo sul pin GPIO4

Poi da shell iniziamo a dare un pò di comandi:

sudo su
mkdir /opt/fan
touch /opt/fan/log.log
chmod +w /opt/fan/log.log
touch /opt/fan/fan.sh
chmod +x /opt/fan/fan.sh
nano /opt/fan/fan.sh

Script:

#!/bin/sh
timestamp() {
 date +"%Y-%m-%d %T"
}
LOGDIR="/opt/fan/log.log"

#temperatura massima
VALUE=50

TEMP1=`vcgencmd measure_temp | cut -c6-9`
TEMP=`vcgencmd measure_temp | cut -c6,7`
STATUS=`cat /sys/class/gpio/gpio4/value`
#echo `timestamp` " Temperature: $TEMP1'C" >>$LOGDIR
if [ $TEMP -ge $VALUE ] && [ $STATUS -eq 0 ]
 then
 echo `timestamp` "- Temperature: $TEMP1/$VALUE'C --> Warning: Fan starte$
 echo "1">/sys/class/gpio/gpio4/value
elif [ $TEMP -le $VALUE ] && [ $STATUS -eq 1 ]
 then
 echo `timestamp` "- Temperature: $TEMP1/$VALUE'C --> Warning: Fan stoppe$
 echo "0">/sys/class/gpio/gpio4/value
fi

Inseriamo un bel cron per lo script:

crontab -e

Aggiungiamo a fine riga:

* * * * * /opt/fan/fan.sh

Fatto questo dobbiamo automatizzare l’inizializzazione del pin GPIO per accendere la ventola ad ogni boot della nostra Raspberry:

nano /etc/rc.local

Ed aggiungiamo queste due riga PRIMA del’ exit 0

echo "4">/sys/class/gpio/export
echo "out">/sys/class/gpio/gpio4/direction

 

Finito!

Adesso ogni volta che la Raspberry supera i 50° parte in automatico la ventola.

Il tutto loggato con tanto di timestamp sul file di log.log!

 

Ciaoooo

Renault Can Clip su Windows 7 x64

Salveee!

Era davvero taaanto tempo che non scrivevo un articolo sul mio blog… di cose da scrivere in questo blog ne ho fatte davvero tante, ma sono stato davvero stupido a non pubblicare nulla.

Ricominciamo da qui: ho acquistato una bellissima Dacia Sandero mk2!

E non potevo non acquistare la can clip per fare auto diagnosi…. qualche elettrauto può arrivare a chiedere anche 80€ euro per una sola diagnosi (senza far nulla)!

La can clip è un hardware utilizzato dalle concessionarie auto per la diagnostica di tutte le auto Renault e Dacia.

Si trovano cloni su molti siti… spesso con software annesso.

Purtroppo il software pare funzioni solo su sistemi XP o 7 a 32bit… oggigiorno la maggior parte dei pc sono a 64bit!

Bene… il mio eeepc proprio non ne voleva sapere di installare correttamente il software “Clip”.

Così…. ho tagliato la testa al toro e ho installato virtualbox sul mio portatile…

Nelle impostazioni della macchina virtuale, ho impostato Windows 7 32bit e:

Sistema-Scheda madre:

X Abilita I/O APIC

X Orologio hardware in ora UTC

Sistema-Processore:

X Abilita PAE/NX

Ho poi installato Windows 7 x86 (32bit), ho installato le Guest Addition ed ho eseguito l’installazione della clip così come da istruzioni fornite.

Il mio portatile ha Windows 7 64bit e su virtual box Windows 7 32bit.

Ora bisogna alimentare la can clip con un alimentatore da banco:

Pin 4-5 -> GND

Pin 16 -> +12v

Una volta alimentata possiamo iniziare i nostri test software………

Con l’alimentazione alla clip (si accenderanno i led e sentirete scattare i relè) colleghiamo il cavo alla porta usb.

Il Windows 7 64bit, quello del vostro pc, NON riconoscerà l’hardware…. fregatevene!

Andate in Windows 7 32bit della virtualbox e cliccate col tasto destro in basso, sull’icona a forma di presa USB:

clip

….e come per magia inizieranno ad installarsi i driver per la can clip sul vostro windows 7 32bit….. e potrete iniziare ad usare la can clip senza problemi!!!

 

IMG_20160905_215514

 

Rikomagic MK802 III mod

Posseggo questa android pen da diverso tempo ormai e, per fortuna, gli aggiornamenti firmware sono abbastanza frequenti.

Molto spesso, però, gli aggiornamenti prevedono di cortocircuitare due pin (6 & 7) per andare in modalità aggiornamento.

Questo, probabilmente, per una cattivo design della pcb. Non vi è nessun switch sulla scheda per agevolare l’aggiornamento.

Così ho deciso di inserire un piccolo switch smd sulla piastra in modo tale da rendere facile l’aggiornamento.

Utilizzando un pò di manualità, cavo AWG30 e un pò di flussante (ho esagerato), ho saldato i cavi ai loro relativi pin portandoli poi allo switch smd che ho saldato sulla piastra, su una piazzola libera (probabilmente a massa).

Tra lo switch e la pcb ho applicato un pò di nastro kapton.