Um noch mal auf den Addblocker für Ubuntu Touch zurück zu kommen, ich habe da mal noch etwas weiter gefrickelt, um mir das aktuell halten der /etc/hosts Datei bequem zu machen. Denn die Addblock Liste für die hosts Datei wird immer wieder mal aktualisiert, so dass es auch die Spamer erwischt, die öfter mal die Server Adressen wechseln. Downloaden und aktualisieren der Addblockliste in die /etc/hosts Datei funktioniert jetzt bei mir mit Tatsch auf einen Knopf. 👍
Das ist die überarbeitete adblock_list_fetch_and_clean.sh:
#!/bin/sh
#
# fetching ad_servers.txt from hosts-file.net
# and make it clean, so it can be attached to
# Ubuntu Touch /etc/hosts
#
cd /home/phablet/Downloads/
wget "http://hosts-file.net/.%5Cad_servers.txt" -U "" -qO - | sed s/"127.0.0.1 localhost #IPv4 localhost"// | sed s/"::1 localhost #IPv6 localhost"// > ad_server_blocking.txt && \
dos2unix ad_server_blocking.txt && \
cp -v hosts.backup /etc/hosts && \
cat ad_server_blocking.txt >> /etc/hosts && \
echo "# Last edit: `date`" >> /etc/hosts
cd -
exit
Mit
chmod +x adblock_list_fetch_and_clean.sh
wird das Script ausführbar gemacht. dos2unix muss auf dem Ubuntu Touch installiert sein, es steht über apt-get zur Installation auf dem Ubuntu Touch zur Verfügung.
Das ist die addblock-hosts.desktop:
[Desktop Entry]
Version=1.0
Name=Addblock hosts
GenericName=Addblock hosts
Comment=Blocklist Add Server
Type=Application
Exec="sudo /home/phablet/Downloads/adblock_list_fetch_and_clean.sh"
Icon=/home/phablet/Downloads/security-medium.png
X-Ubuntu-Touch=true
X-Ubuntu-StageHint=SideStage
X-Ubuntu-Single-Instance=true
Die addblock-hosts.desktop Datei habe ich in das /usr/share/applications/ Verzeichnis geschrieben.
Als Icon habe ich mir http://mokaproject.com/moka-icon-theme/icons/security-medium.png ausgesucht, wieder aus dem Moka Icon Theme: http://mokaproject.com/moka-icon-theme/
Das Script adblock_list_fetch_and_clean.sh und das Icon security-medium.png habe ich in /home/phablet/Downloads/ abgelegt.
Zur Sicherheit habe ich root als Eigentümer vom Script: adblock_list_fetch_and_clean.sh und der Datei hosts.backup gewählt. (Wird als root mit chown root:root DATEI gemacht) und als root noch ein chmod 644 für die Datei hosts.backup und ein chmod 755 für das adblock_list_fetch_and_clean.sh Script hinterher geschickt. hosts.backup ist die Original Ubuntu Touch /etc/hosts Datei, ohne die Addblock Liste:
127.0.0.1 localhost.localdomain localhost
::1 ubuntu-phablet localhost6.localdomain6 localhost6
127.0.1.1 ubuntu-phablet
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Um die Passwortlose Tatsch Bedienung zu ermöglichen, muss dem User phablet erlaubt werden, ohne Passwort mit dem sudo Befehl das Script auszuführen. Dazu muss die Datei /etc/sudoers auf dem Ubuntu Touch editiert werden. Das macht man eigentlich mit visudo. Das hat aber bei mir eine Macke, es fragt nach der Formatierung DOS oder Mac, wobei jedoch zur Beantwortung ich auf meiner KDE Konsole mit den Shortcuts in Kalamitäten komme. Daher habe ich die Datei als root auf dem Ubuntu Touch per adb shell kurzerhand mit nano mit folgenden Schalter bearbeitet:
nano -t /etc/sudoers
Eingefügt habe ich folgende Zeile:
phablet ALL=(ALL) NOPASSWD:/home/phablet/Downloads/adblock_list_fetch_and_clean.sh
Danach habe ich nochmal als root visudo aufgerufen, visudo überprüft die sudoers Datei auf Syntaxfehler, es hatte nichts zu meckern.
Das Script adblock_list_fetch_and_clean.sh stempelt dann auch das Datum des letzen Edits in die /etc/hosts, so dass man es überprüfen kann.
So sieht das dann unter Anwendungen auf Ubuntu Touch aus