Werbebanner von Google Ads/Ad Scence automatisiert anklicken

Friday, June 1, 2018

Das PhantomJS Skript listlinks.js (zu finden unter: https://github.com/1nn3/listlinks), listet alle Hyperlinks einer Website auf, wobei JavaScript und Frames unterstützt werden. So ist es damit auch möglich, Werbebanner von Google Ads/Ad Scence automatisiert anzuklicken.

Ein Skript das Werbebanner anklickt könnte so implementiert werden:

#!/bin/sh

temp="$(/bin/mktemp --tmpdir=/dev/shm/)"
trap "rm -f -- '$temp'" 0 1 2 3 15 # Lösche Datei beim Beenden, Abbruch ...

while read website; do

	xvfb-run --auto-servernum phantomjs listlinks.js "$website" | cut -f 1 >"$temp" || continue

	cat <<! | grep -E -f - "$temp" | shuf -n 1 | wget -i - -qO /dev/null
^https?://adclick\.g\.doubleclick\.net/
^https?://googleads\.g\.doubleclick\.net/
^https?://www\.googleadservices\.com/
!

done <<!
http://example.org
http://example.net
!

Das funktioniert allerdings nicht immer/mit allen Websites (Ich tippe mal auf ein Timing-Problem o.ä.).

DLNA mit minidlna

Sunday, May 27, 2018

Was ist DLNA? Die Digital Living Network Alliance (DLNA) ist ein festgelegter Standard/Netzwerkprotokoll für Geräte wie Mediaplayer und Smartphones und definiert eine Norm für die Bild-, Ton- und Videoübertragung. So das alle zertifizierten Geräte die Daten abspielen können.

Der Server (hier MiniDLNA) kodiert dafür ggf. die Daten neu und stellt diese dann als Stream bereit (Mindestanforderung für die Datenübertragung ist dabei JPEG, lineare PCM-Ton und MPEG-2. Wobei wichtiger ist, welche Formate der Server einlesen kann).

minidlna einrichten

Mein Setup besteht aus diesen zwei Paketen: minidlna und bindfs

root@debian:~# apt-get install minidlna bindfs

Hat man seine Multimediasammlung z.B. unter /var/local/nas/ gespeichert, hängt man dieses Verzeichnis mittels bindfs ins Verzeichnis /var/lib/minidlna ein (Dies ist das Standardverzeichnis, wo nach Dateien gesucht wird):

root@debian:~# cat <<! >>/etc/fstab
/var/local/nas /var/lib/minidlna fuse.bindfs force-user=minidlna,force-group=minidlna,perms=0000:u=rD 0 0
!
root@debian:~# mount /var/lib/minidlna
root@debian:~# minidlnad -R # Dateien neu in die Datenbank einlesen

Der Server läuft unter Debian als Prozess minidlnad mit der UID minidlna und hat so auf das Verzeichnis /var/lib/minidlna nur lesenden Zugriff.

Die Einteilung in Fotos, Musik und Videos passiert dabei automatisch.

Immer wenn sich der Verzeichnisinhalt von /var/lib/minidlna geändert hat, muss mittels minidlnad -R bzw. minidlnad -r, die Datenbank aktualisiert werden (MiniDLNA hat aber auch inotify Unterstützung aktiviert, um neu hinzugefüge Dateien zu indizieren).

Eine eventuell eingerichtete Firewall, muss mindestens die Ports 8200/TCP und 1900/UDP zulassen.

GNOME

Die Denktopumgebung GNOME hat in den Einstellungen unter Freigabe/Medienfreigabe eine eigene integrierte Möglichkeit um Fotos, Musik und Videos über das Netzwerk mittels DLNA freizugeben (Es können auch benutzerdefinierte Verzeichnisse freigegeben werden). Fehlt diese Einstellung, muss rygel installiert werden.
Hier wird minidlna i.d.R. nicht gebraucht.

gnome-rygel.png

Fehlerbehandlung

Läuft der MiniDLNA Server, wird dieser über das Netzwerk meist als neue Eingangsquelle/Source/Input bei den Clients angezeigt.

Bei Problemen ist das folgende Kommando nützlich, um eine Fehlermeldung zu bekommen:

root@debian:~# service minidlna restart
root@debian:~# journalctl -f -u minidlna # Log anzeigen

Wie Städte subtil gegen Obdachlose vorgehen

Sunday, May 6, 2018

Damit Obdachlose an bestimmten Stellen zum Beispiel an Tourismus-Hotspots nicht mehr übernachten, haben sich bestimmte Methoden etabliert den öffentlichen Raum dementsprechend zu gestalten.

20180506_bank_Sandra-Schindlauer_banner.jpg

So werden u.a. Bänke in der Mitte mit Armlehnen versehen, sodass Obdachlose darauf nicht mehr schlafen können.

Mehr dazu im Artikel auf www.deutschlandfunknova.de: Wie Städte subtil gegen Obdachlose vorgehen von Sandra Wolf, Geografin.

Public Space-Garden Berlin

Friday, May 4, 2018

Bilder aus dem Public Space-Garden Berlin

20180504_140220.jpg

20180504_140313.jpg

20180504_140335.jpg

Wasser

20180504_140540.jpg

Stadt Acker ist wohl der korrekte Name ;-)

20180504_140355.jpg

20180504_140758.jpg

20180504_140854.jpg

20180504_140414.jpg

20180504_140947.jpg

Insektenhotels/Nisthilfen: Zum Thema Insektenhotels, kann ich den Youtube-Kanal von Werner David empfehlen

20180504_141008.jpg

Der Mai, der Mai, der Mai ist da und bringt Blütenpracht so wunderbar

20180504_141038.jpg

X Window System für Windows, um grafische Anwendungen unter Windows-Subsystem für Linux (WSL) auszuführen

Monday, April 2, 2018

Mit dem Windows-Subsystem für Linux (WSL) können Linux-Distributionen wie bspw. Debian GNU/Linux direkt unter Windows ausgeführt werden – einschließlich aller Anwendungen.

Um grafische Anwendungen (GUI) unter WSL ausführen zu können, muss unter Windows ein X Window System/X-Server installiert sein.

Es bietet sich hier an, den X-Server von Gygwin/X XWin.exe zu installieren, da Gygwin auch viele andere Pakete wie Perl, SSH, usw. bereitstellt und es ggf. schon installiert ist. Auf die Installation von Gygwin selbst geht dieser Artikel aber nicht weiter ein. Wie man Gygwin unter Windows installiert, aktualisiert usw. ist auf der Webseite des Projekts beschrieben. Siehe: https://cygwin.com und https://x.cygwin.com/. Kurz: Es wird das Programm setup-x86_64.exe ausgeführt und im Dialog ein Mirror ausgewählt, die Paketliste geladen/aktualisiert und die Pakete zur Installation/Aktualisierung ausgewählt.

Ist kein X-Server installiert, wird dies i.d.R. durch folgende Fehlermeldung ausgedrückt:

$ DISPLAY=":0" thunderbird # Start einer grafischen Anwendung (hier thunderbird)
Unable to init server: Could not connect: Connection refused
Error: cannot open display: :0

X-Server installieren

Der X-Server XWin.exe wird über das Cygwin-Paket xorg-server installiert:

wsl-x-server.png

Damit XWin.exe beim Windows Systemstart startet, muss es in den Autostart z.B. unter %APPDATA%\Microsoft\Windows\Start Menu\Programs\startup:

wsl-x-server-autostart.png

Wichtig für eine Verknüpfung im Autostart ist als Ziel: C:\cygwin64\bin\XWin.exe :0 -multiwindow -listen tcp -auth und Ausführen in: C:\cygwin64\home\%USERNAME% anzugeben.

Außerdem muss in der Windows Firewall XWin.exe konfiguriert/eingetragen sein, da es ein Netzwerkprotokoll ist! Der Zugriff muss aber nicht erlaubt werden und der Dialog kann mit abbrechen beendet werden.

Nun können auch grafische Anwendungen aus WSL (und auch aus Gygwin) heraus gestartet werden.

Die Anwendungsdaten befinden sich in folgenden Ordnern:

  • WSL:
    /mnt/c/Users/,
    /mnt/c/Cygwin/home/, /mnt/c/Cygwin64/home/,
    %LOCALAPPDATA%\Packages\*\LocalState\rootfs\home\
  • Cygwin:
    /cygdrive/c/Users/,
    C:\Cygwin\home\, C:\Cygwin64\home\,
    /cygdrive/c/Users/*/AppData/Local/Packages/*/LocalState/rootfs/home/

Cygwin aktualisieren

Um Cygwin bzw. die installierten Pakete zu aktualisieren, habe ich ein kleines PowerShell-Skript geschrieben:

# Download Cygwin
Invoke-WebRequest -uri "https://cygwin.com/setup-x86_64.exe" -OutFile "setup-x86_64.exe"

# Run Cygwin in unattended setup mode
# setup-x86_64.exe --help
Start-Process -FilePath "setup-x86_64.exe" -ArgumentList "--verbose","-q","--upgrade-also"