Permalink

iTerm 2 · DNS Lookup Issue

Als großer Fan von iTerm 2 bin ich gestern Abend etwas zusammengezuckt.

Über Twitter bin ich mehr oder weniger zufällig über einen Bug gestolpert, der seit Version 3.0.0 besteht und der es ziemlich in sich hat:

Bildschirmfoto 2017-09-20 um 15.07.00-minishadow_1300px

Kurzgesagt kann es mit den Standardeinstellungen von iTerm 2 per DNS Request passieren, dass persönliche Daten (inkl. Passwörter) im Klartext über den DNS-Server des ISP versendet werden. Ein mehr als übles Sicherheitsrisiko, das in den Einstellungen von iTerm 2 behoben werden kann:

iTerm 2 Einstellungen > Advanced > Perform DNS lookups to check if URLs are valid? > NO

Dazu muss der Haken bei folgender Option entfernt werden:

iTerm 2 Einstellungen > Pointer > CMD-Click Opens Filename/URL (Semantic History)

Bildschirmfoto 2017-09-20 um 15.07.25-minishadow_1300px

Mittlerweile haben die Entwickler von iTerm 2 aber auch reagiert und mit Version 3.1.1 eine gefixte Version zum Download bereitgestellt, die die Standardeinstellungen berichtigt.

Daher: Unbedingt das Update einspielen!!!

-> https://www.iterm2.com

iTerm2 added a feature in version 3.0.0 which would perform DNS requests on the text under the cursor to get a hint whether it was a clickable URL. This was a bad idea because DNS requests are not privacy-preserving. The feature has been disabled by default in 3.1.1 in commit e4eb1063529deb575b75b396138d41554428d522.

I don’t have an excuse: I just didn’t give this issue enough thought. I apologize for the oversight and promise to be more careful in the future. Your privacy will always be my highest priority.

Bildschirmfoto 2017-09-20 um 15.09.45-minishadow_1300px

Permalink

Howto: Per Shortcut in macOS Apps einloggen (mit Hilfe von 1Password und Keyboard Maestro)

Trotz aller Kontroversen bin ich nach wie vor ein sehr großer Fan des Passwortmanagers 1Password.

Vor etwas mehr als zwei Jahren hatte ich auf die verfügbaren Tastaturkürzel der App aufmerksam gemacht und gezeigt, wie man sich über 1Password mini relativ einfach in Webseiten und Apps einloggen kann.

Bildschirmfoto 2017-08-25 um 11.02.06-minishadow

Während das Einloggen auf Webseiten (meistens) mit einem nur einem Klick oder Sprachbefehl erledigt ist, sind zum Einloggen in eine App schon mehrere Schritte notwendig.

Um diesen Workflow abzukürzen, hatte unser geschätzter Kollege Alexander vor gut zwei Wochen ein erstes Video-Tutorial erstellt, in dem er erklärt, wie man sich mit Hilfe von Keyboard Maestro und nur einem Mausklick, einem Shortcut oder auch nur durch das Starten einer App in Accounts einloggen kann.

Damit dieses erste Tutorial problemlos funktioniert, muss 1Password mini allerdings ständig entsperrt sein. Ist es das nicht, was bei vielen Nutzern der Standardfall sein sollte, funktioniert das Makro nicht und man muss sich etwas Neues einfallen lassen. Das hat Alexander auch getan und mit Hilfe des Keyboard Maestro Forums eine Lösung gefunden, die auf nur einem einzigen AppleScript basiert 😲

use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use scripting additions

on run
  set searchTerm to "icloud"

  tell application "System Events"
    set preClip to (the clipboard) as text
    set elements to every UI element whose creator type is "1Ph*"
    if elements is {} then
      log "1Password Mini is not running"
      return false
    end if
    set mini to (first item of elements)
    set miniName to short name of mini
    log miniName & " is running as " & name of mini
    set isLocked to my isOPMiniLocked(miniName)
    open location "x-onepassword-helper://search/" & searchTerm
    if isLocked then
      if not (my waitForUnlock(miniName, 10)) then
        return false
      end if
    end if
    tell its UI element (name of mini)
      set frontmost to true
      set i to 0
      repeat
        try
          if (focused of text field 1 of window 1) is true then
            tell text field 1 of window 1
              set value to searchTerm
              perform action "AXConfirm"
            end tell
            delay 1.0
            keystroke "c" using {command down, shift down}
            delay 0.5
            set thePass to (the clipboard) as text
            exit repeat
          end if
        end try
        delay 0.1
        set i to i + 1
        if i > 100 then
          return false
        end if
      end repeat
  
      tell application "App Store" to activate
      delay 0.5
      keystroke thePass
      key code 36
      set the clipboard to preClip
    end tell
  end tell
end run

on isOPMiniLocked(miniName)
  tell application "System Events"
    tell application process miniName
      perform action "AXPress" of menu bar item 1 of menu bar 1
      set isLocked to (subrole of text field 1 of window 1 is "AXSecureTextField")
      delay 0.1
      key code 53 -- Escape key to close 1PMini window
      if isLocked then
        log "1Password Mini is locked"
        return true
      end if
      log "1Password Mini is unlocked"
      return false
    end tell
  end tell
end isOPMiniLocked

on waitForUnlock(pProcessName, pMaxTimeSec)
  local startTime, elapTime, errMsg
  set startTime to current application's NSDate's |date|()
  log startTime
  tell application "System Events"
    repeat
      set elapTime to (-(round ((startTime's timeIntervalSinceNow()) * 100)) / 100.0)
      if (elapTime > pMaxTimeSec) then
        set errMsg to "Max Time of " & pMaxTimeSec & " seconds exceeded waiting for " & pProcessName
        log errMsg
        return false
      end if
      try
        set roleMode to (subrole of text field 1 of window 1) of (application process pProcessName)
        if roleMode is "AXSearchField" then
          return true
        end if
      end try
      delay 0.1
    end repeat
  end tell
end waitForUnlock

Ohne jetzt in die Tiefen des Codes einzusteigen, muss gesagt werden, dass dieses Skript nur bedingt universell verwendbar ist. Je nachdem in welche App man sich einloggen möchte, muss das AppleScript an zwei Stellen angepasst werden.

Zum einen direkt am Anfang bei der Suche nach dem in 1Password hinterlegten Login. Zum anderen bei der App, für die ein Login benötigt wird.

KM_Macro_Screenshot_2017-09-08 um 09.52.01_1300px

Ist nun alles gut?! Mitnichten, denn für Leute wie mich, die eines dieser neumodischen MacBook Pro mit Touch ID verwenden, funktioniert das AppleScript nicht; zumindest wenn man Touch ID zum Entsperren von 1Password verwendet.

Aber auch hier kamen Alexander und ich nach einigen Überlegungen zum Ziel: Keyboard Maestro hat nämlich den Vorteil, dass man Bedingungen an am Bildschirm angezeigte Fenster bzw. Grafiken knüpfen kann.

Somit ist das vorherige AppleScript jetzt in zwei Teile zerhackt, funktioniert aber auch mit Touch ID 😎

KM_Macro_Screenshot_2017-09-08 um 09.51.21_1300px 2

Auch hier gilt wieder: das Makro ist nicht universell verwendbar, sondern muss für jeden App-Login an drei Stellen angepasst werden. Zu den aus dem ersten AppleScript bekannten Stellen kommt jetzt noch eine Grafik hinzu, die den gefundenen Login in 1Password mini identifiziert.

Zum finalen Anzeigen bzw. Nutzen der verschiedenen Logins empfiehlt es sich auf die von Keyboard Maestro zur Verfügung gestellten globalen Makro Paletten zu setzen. Hier genügt dann im Endeffekt ein Mausklick und man ist in App X oder App Y eingeloggt.

Bildschirmfoto 2017-09-08 um 11.19.40

Um jetzt das ganze Prozedere besser nachverfolgen und auch live in Aktion sehen zu können, hatte Alexander vor ein paar Tagen ein zweites Video erstellt, das das erste Tutorial ergänzt bzw. aktualisiert.

Viel Spaß beim Anschauen 📼

Die beiden hier vorgestellten Makros können übrigens hier heruntergeladen werden.

Permalink

macOS Tipp: PATH Variable anzeigen und ändern

Gerade als Entwickler kann es vorkommen, dass man die $PATH Variable, eine Umgebungsvariable des Betriebssystems, die einen oder mehrere Pfade zu bestimmten Programmen oder Daten enthält, anpassen muss.

Um die aktuell gesetzten Werte dieser Variable auszulesen, genügt einer der beiden folgenden Terminalkommandos:

echo $PATH

printf "%s\n" $PATH

Bildschirmfoto 2017-08-29 um 09.23.57-minishadow_1300px

Im Ergebnis werden, durch Doppelpunkt getrennt, die gesetzten Pfade angezeigt:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/MacGPG2/bin

Doch wie passt man diese Variable nun an? Hier gibt es verschiedene Möglichkeiten:

Variante 1

Die erste Variante besteht im Editieren der zur eingesetzten Shell passenden Konfigurationsdatei. Das hat den Vorteil, dass dieses Vorgehen nutzerbasiert und somit individuell ist. Da ich beim Editor auf Vim setze, kann das beispielsweise wie folgt aussehen:

vim ~/.bash_profile
vim ~/.profile
vim ~/.bashrc
vim ~/.zshrc

Anschließend kann man in der Konfigurationsdatei über das export Kommando die PATH Variable erweitern (abspeichern nicht vergessen):

export PATH=$PATH:/new/dir/location1

Um die Änderungen direkt nutzen zu können, muss das Terminal neu gestartet oder eine der beiden folgenden Terminalkommandos ausgeführt werden:

source ~/.zshrc
. ~/.zshrc

Abschließend überprüft man über eines der ganz am Anfang des Artikels erwähnten Kommandos, ob die PATH Variable auch tatsächlich geändert wurde.

Bildschirmfoto 2017-08-29 um 09.11.55-minishadow_1300px

Variante 2 (Admin-Rechte erforderlich)

In dieser Variante, in der Änderungen der PATH Variable für alle Nutzer gelten, sind die Pfade in einzelnen Dateien gruppiert. Dazu werden bzw. sind bereits Dateien mit den gewollten Pfadangaben im Verzeichnis /etc/paths.d angelegt. Um sich die existierenden Einträge anzusehen, benötigt man wieder ein Terminalkommando:

ls -l /etc/paths.d

Über das anschließende cat Kommando kann man sich den Inhalt der bereits existierenden Dateien ansehen:

cat /etc/paths.d/MacGPG2

Bildschirmfoto 2017-08-28 um 16.40.14-minishadow_1300px

Um jetzt die PATH Variable zu erweitern, muss man in /etc/paths.d eine neue Datei anlegen und diese mit dem gewünschten Pfad befüllen. Dafür benötigt ein Terminalkommando, für das man allerdings Admin-Rechte benötigt:

sudo -s 'echo "/new/dir/location1" > /etc/paths.d/location1'

Um die Veränderungen zu übernehmen, muss man das Terminal neu starten und man sollte, wie in Variante 1, überprüfen, ob die Veränderungen tatsächlich übernommen wurden.

Variante 3 (Admin-Rechte erforderlich)

Bei dieser letzten Variante handelt es sich um eine Abwandlung der Variante 2.

Anstatt einzelne Dateien anzulegen bzw. zu editieren, knöpft man sich die zentrale Datei /etc/paths vor und kann dort zeilenweise (untereinander) Pfade ändern, löschen oder hinzufügen:

sudo vim /etc/paths

Bildschirmfoto 2017-08-29 um 10.46.47-minishadow_1300px

Zur Info:
/etc ist ein symbolischer Link zum Verzeichnis /private/etc

Da beide den identischen Inhalt haben, können die Änderungen von Variante 2 und 3 auch in /private/etc erfolgen.

Bildschirmfoto 2017-08-29 um 10.59.01-minishadow_1300px

Permalink

iStat Menus 6 · Systemmonitor für den Mac lädt zur Beta ein

Der Systemmonitor iStat Menus ist bei mir seit vielen Jahren fester Bestandteil des Systems.

Nach dem letzten großen Upgrade vor knapp drei Jahren hat Entwickler Bjango nun Version 6 angekündigt, zu deren Beta man sich ab sofort anmelden kann.

istat_menus_6_icon

We’ve been working lots of great new features for iStat Menus. If you’d like help us test iStat Menus 6, and assist with the remaining localisation strings, please fill out the form below.

Zur Installation wird OS X 10.11 El Capitan oder höher vorausgesetzt.

-> https://beta.bjango.com

Permalink

macOS Tipp: 32-Bit Apps identifizieren

Was nächsten Monat mit iOS 11 für iPhone, iPad und iPod touch Realität wird, kommt spätestens in zwei Jahren auch auf den Mac zu: das Ende der 32-Bit Apps.

Wie Apple auf der diesjährigen Platforms State of the Union Keynote der WWDC verkündete, wird macOS 10.13 High Sierra das letzte Desktop-Betriebssystem sein, das 32-Bit Apps ohne Murren akzeptiert.

snipaste20170817_114103_1300px

Mit macOS 10.14 Mount Whitney wird es die von iOS 10 bekannten Warnungen geben; mit macOS 10.15 Riesenmammutbaum, das vermutlich Ende 2019 erscheinen wird, ist das Sterben der 32-Bit Apps besiegelt.

Wer jetzt schon mal neugierig ist, kann sich seine aktuell installierten 32-Bit Apps mit einem simplen Terminalbefehl in eine Textdatei (die dann auf dem Schreibtisch liegt) herausschreiben lassen.

system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/non64bit.txt

Ich war wirklich überrascht, welche Apps (inkl. Apples eigener Apps) bei mir betroffen sind. Wobei Apple in der gleichen Keynote auch ankündigte, dass bis spätestens Juni 2018 zumindest alle Apps im Mac App Store der 64-Bit Architektur entsprechen müssen.

Bildschirmfoto 2017-08-17 um 09.15.17_1300px

(via)

Permalink

Etcher · Image-Dateien zum Booten auf USB-Sticks oder SD-Karten brennen

Hin und wieder kann es vorkommen, dass man von einem USB-Stick, einer SD-Karte oder anderen (auswerfbaren) Laufwerken eine darauf gebrannte Image-Datei booten möchte.

Für dieses Vorhaben sind in der Regel Boardmittel ausreichend, die allerdings tieferes Terminalwissen voraussetzen. Wer darauf keine Lust hat, sollte sich Etcher genauer ansehen.

screenshot-minishadow_1300px

Etcher ist eine open source Software, die für macOS, Linux und Windows angeboten wird und sich mit einer sehr einfachen Oberfläche vom Terminal-Gehacke absetzt.

Das Tool unterstützt verschiedene Image Formate wie beispielsweise ISO, IMG, RAW, BZ2, DMG oder auch ZIP. Der ganze Prozess ist vom Auswählen des Images bzw. des Ziellaufwerkes und dem schlussendlichen Brennen in drei einfache Schritte unterteilt. Am Ende validiert Etcher das Ergebnis, um sicherzustellen, dass alles korrekt funktioniert.

Darüber hinaus wird auch ein experimentelles Kommandozeilen Tool angeboten. Der Quellcode von Etcher ist bei GitHub zu finden.

-> https://etcher.io

Permalink

Review: BetterZip 4 · Datei-Archivierung unter macOS (Gewinnspiel inside)

Im Februar diesen Jahres hatte ich BetterZip 3 in einer Review schon sehr ausführlich vorgestellt.

Mittlerweile ist mit BetterZip 4 der Nachfolger veröffentlicht worden, auf dessen Neuerungen ist heute genauer eingehen möchte.

01-Bildschirmfoto 2017-05-24 um 14.47.00

Grundlagen

Bevor es jedoch ans Eingemachte geht, ein paar Grundlagen zur App, die die alte Review zu BetterZip 3 zusammenfassen sollen.

Bei BetterZip handelt es sich um eine App zur Datei-Archivierung, die sich mit über 30 unterschiedlichen Dateiarchiv-Formaten versteht. Man kann sogar eigene Formate definieren.

Das Erstellen von Archiven kann beispielsweise per drag-and-drop erfolgen. Zusätzliche Optionen wie Verschlüsselung, Ausschließen von Suchmustern oder das Zerlegen des Archivs in kleinere Teilstücke sind dabei optional anwählbar. Dazu kann man vergebene Passwörter ändern. Ein integrierter Passwortmanager hilft beim Merken der Passwörter.

Eine wichtige Rolle spielen Presets, die beim Packen und Entpacken von Archiven genutzt werden können. Dabei handelt es sich um (gesicherte) oft verwendete Einstellungen bzw. Optionen, die per Schnellzugriff über das Menü bzw. mit langem Klick auf das entsprechende Symbol in der Symbolleiste verfügbar sein.

Darüber hinaus kann man Archive natürlich auch modifizieren; sprich Daten löschen und hinzufügen. Hier hilft der sogenannte Direktmodus, der das Speichern der Modifikationen ohne zusätzliche Schritte möglich macht.

Außerdem kann man Archiven Kommentare hinzufügen, über eine Tab-Leiste mehrere Archive gleichzeitig betrachten bzw. bearbeiten, Archive auf ihre Datenintegrität hin testen, BetterZip-Dienste zum Packen und Entpacken oder innerhalb von Archiven Quick Look nutzen. Der BetterZip Quick Look Generator, der die im Finder integrierte Quick Look Funktionalität von macOS aufbohrt, die Unterstützung von AppleScript und die etwas versteckten Einstellungen der App für Poweruser runden das Gesamtbild ab.

Was ist neu?

Mit BetterZip 4 hat Robert Rezabek, der österreichische Entwickler der App, das Rad natürlich nicht neu erfunden. Der Fokus wurde vielmehr auf der Integration mit verschiedenen Systemservices und anderen Programmen sowie der Erweiterung der Automatisierungsmöglichkeiten gelegt.

Integration mit anderen Programmen

Ganz oben auf der Liste steht die neue Finder-Erweiterung, die den Zugriff auf die schon angesprochenen Presets über die Symbolleiste des Finders möglich macht.

Man markiert betreffende Datei(en), wählt ein Preset aus der Liste aus und kann so sehr schnell, ohne den direkten Zugriff auf BetterZip, Dateiarchive erstellen bzw. entpacken.

02-Bildschirmfoto 2017-08-01 um 15.55.51-minishadow_1300px

Dazu kann man nun beliebig viele macOS-Dienste selbst definieren.

Neben den bereits aus der Vorgängerversion bekannten Diensten zum Packen und Entpacken, die von BetterZip 4 nun auch als Automator-Aktionen als Arbeitsablaufs zur Verfügung stehen, kann man in den Einstellungen zu den Presets eigene Dienste definieren, die von der Standardkonfiguration abweichen.

03-Bildschirmfoto 2017-08-01 um 20.31.28-minishadow_1300px

An dieser Stelle findet man auch die neue Integration in Dropzone und LaunchBar, zu denen man das markierte Preset hinzufügen kann.

Aber auch andere Produktivitätsprogramme wie Alfred und Hazel werden nun direkt unterstützt. Während man für Alfred entsprechende Workflows über das Menü installiert, kann man die grundlegende Archivierungsfunktion von Hazel mit Hilfe der Presets aufbohren und somit beispielsweise andere Formate als ZIP wählen oder einen Passwortschutz den Archiven hinzufügen. Grundlage des Ganzen ist eine verbesserte Unterstützung von AppleScript und Python.

04-Bildschirmfoto 2017-08-02 um 10.46.02_1300px

Favoritenliste, Drop-Leiste und Navigationsleiste

In BetterZip 4 wurde zudem die Favoritenleiste im Hauptfenster verbessert.

Man kann nun Dateien umbenennen, kopieren, verschieben und löschen, Archive in einem neuen Fenster oder Tab öffnen, mehrteilige Archive als eines darstellen oder die Ansicht auf Archive oder Dateien einschränken. Außerdem werden nun die Tags des Finders angezeigt.

06-Bildschirmfoto 2017-08-01 um 21.24.01_1300px

Komplett neu ist auch die Drop-Leiste, die eine Art Mini-Ansicht von BetterZip ist und auf Grundlage der Presets sehr schnelles Arbeiten ermöglicht.

Die Drop-Leiste kann entweder per Shortcut oder zum Start von BetterZip aktiviert werden. Anschließend zieht man per drag-and-drop Dateien oder Verzeichnisse auf die Drop-Leiste, woraufhin die definierten Presets erscheinen, die dann wiederum das Archiv erstellen.

Zusätzlich kann man über die Drop-Leiste auch Archive öffnen oder entpacken, Archive auf Datenintegrität testen oder Daten zu neuen Archiven hinzufügen.

07-2017-08-01 23_26_02

Für den Komfort sieht man beim Öffnen bzw. Browsen in Archiven im Hauptfenster eine neue Navigationsleiste.

Die ist vor allem dann hilfreich, wenn ein Archiv unzählige Verzeichnisse enthält und man immer wissen möchte, wo man sich gerade befindet. Über einen Navigationsverlauf kann man sich außerdem vor und zurück bewegen.

08-Bildschirmfoto 2017-08-01 um 21.36.52-minishadow_1300px

Sonstiges

BetterZip 4 ist nun auch in der Lage (zumindest versucht die App es) defekte RAR-Archive zu reparieren.

Darüber hinaus kann man in der Ansicht Ordner über den Dateien darstellen, (Speichern-)Presets können Kommentare zu RAR- und ZIP-Archiven hinzufügen, der Passwortmanager kann Passwortlisten importieren, XIP und PKG Dateien werden als Archive erkennt, die Benachrichtigungen in der macOS Mitteilungszentrale sind geschwätziger und die Quick Look Funktion innerhalb der Archive unterstützt mehr Dateitypen.

Cool ist auch das Extrahieren von Bildern oder Musik aus PDF- und SWF-Dateien, was mittels XADArchive.framework realisiert wird. Beim Öffnen derartiger Dateien muss man im Hauptfenster die Options-Taste gedrückt halten.

2017-08-02 14_26_22

Einstellungen

Die in der Vorgängerversion ziemlich versteckten Einstellungen für den Poweruser sind mit BetterZip 4 nun im normalen Einstellungsfenster zu finden.

Des Weiteren kann man hier das generelle Verhalten beim Behandeln von Mac-spezifischen Daten (Finder-Einstellungen, Resource-Forks oder Metadaten) festlegen. Entweder fragt die App jedes Mal nach oder man kann die Daten immer ausschließen bzw. immer hinzufügen.

09-Bildschirmfoto 2017-08-01 um 23.32.05-minishadow_1300px

Preise und Verfügbarkeit

BetterZip 4 wird wie schon sein Vorgänger ausschließlich über den Webstore seines Entwicklers für derzeit 24,95 US-Dollar verkauft. Ein Upgrade steht für 9,99 US-Dollar zur Verfügung.

Wissenswert:
Für Nutzer von BetterZip 3, die ihre Lizenz nach dem 01. Juli 2016 gekauft hatten, ist das Upgrade auf BetterZip 4 kostenlos.

Zum kostenlosen Ausprobieren steht zudem eine Testversion bereit. Zur Installation wird nun OS X 10.10 Yosemite oder höher vorausgesetzt.

-> https://macitbetter.com

Darüber hinaus ist BetterZip nach wie vor Bestandteil des alternativen App Stores Setapp, bei dem man sich für einen Abo-Preis von 9,99 US-Dollar pro Monat einkaufen kann.

tl;dr

Da ich BetterZip 3 schon 10 von 10 Punkten gegeben hatte, wird die Bewertung nun natürlich etwas schwierig 😉

Bei der neuen Version wurde an sehr vielen Kleinigkeiten geschraubt, die das Handling der App insgesamt verbessert haben. Ich persönlich schätze die Fortschritte bei der Systemintegration und auch bei der Automatisierung von Arbeitsabläufen sehr. Die Drop-Leiste wird sich allerdings noch beweisen müssen. Ich nutze eher die Presets über LaunchBar bzw. den konventionellen Weg über die macOS-Dienste und bin damit eigentlich vollends zufrieden.

Von daher müsste ich BetterZip 3 wohl eher um einen halben Punkt auf 9,5 abwerten, damit die glatte 10 für BetterZip 4 besser hervorsticht 😎

aptgetupdateDE Wertung: (10/10)

Gewinnspiel

Auch dieses Mal hat Robert uns drei Lizenzen von BetterZip für eine Verlosung zur Verfügung gestellt.

Zur Teilnahme kommt erneut Gleam zum Einsatz, bei dem die folgenden optionalen und gleichwertigen Lose enthalten sind:

  • Frage beantworten
  • aptgetupdateDE bei Twitter folgen
  • aptgetupdateDE bei Facebook besuchen
  • aptgetupdateDE bei Google+ besuchen

Die Auslosung findet kommenden Donnerstag, den 10.08.2017, statt. Viel Glück!