CueOnTheSpot: Cue-Sheets erstellen leicht gemacht

cue-generator

CueOnTheSpot – ein paar einleitende Worte

Nehmen wir an du hast eine Digitalkopie einer CD vorliegen, die du von wo auch immer aufgenommen und jetzt an einem Stueck auf die Festplatte gebannt hast. Jetzt willst du diese eine grosse Datei gerne in ihre Bestandteile, die einzelnen Tracks, zerlegen. Wie machst du das normalerweise? Zu Amazon gehen, die Trackliste anschauen, von Hand schneiden und die ID3-Tags abtippen? Puhh, ist dir das nicht ein wenig zu aufwendig?

Ich persoenlich finde es sehr umstaendlich solche Aufgaben von Hand zu erledigen, wo die Daten doch im Netz liegen und nur darauf warten benutzt zu werden. Doch wie geht es schneller? In der folgenden Kurzanleitung will ich dir zeigen, wie du mein kostenloses Tool CueOnTheSpot verwenden kannst, um damit automatisch Cue-Sheets zu erstellen. Das Tool steht unter einer OpenSource-Lizenz (CC BY-NC-SA 3.0) und kann via Bitbucket bezogen werden. Dort steht auch ein Bugtracker bereit, den du verwenden kannst um ein etwaiges Fehlverhalten zu dokumentieren. Bitte mache davon Gebrauch, falls notwenig. Ich freue mich ueber jede Rueckmeldung die zur Verbesserung der Anwendung fuehrt.

Ich moechte an dieser Stelle schon einmal vorab darauf hinweisen, dass es sich bei der Anwendung um eine reine Konsolenanwendung handelt. Wer also auf bunte Klickoberflaechen steht, der wird hier in die Roehre schauen. Du bist Konsolenanwendungen nicht gewohnt? Kein Problem, schaue es dir trotzdem an. Es ist wirklich nicht kompliziert.

Woher kommen die Metadaten?

Das Tool baut auf der Metadatenbank von Spotify auf. Dort sind sehr viele Alben gelistet und koennen kostenlos abgefragt werden. Wir machen uns diese Tatsache zu Nutze um die Metadaten fuer unsere Cue-Sheets zu verwenden. Theoretisch kann auch ein anderer Metadatendienst benutzt werden. Derzeit ist aber nur der von Spotify implementiert.

Download der Anwendung

Wie bereits oben beschrieben wird die Anwendung via Bitbucket zur Verfuegung gestellt. Eine Kopie kann mittels dem Befehl git clone https://dotcs@bitbucket.org/dotcs/cueonthespot.git gezogen werden.

Wem obige Zeile nichts sagt, wer also mit git nichts anfangen kann, der sollte sich hier schlau machen.

Benutzen der Anwendung – die wichtigsten Parameter

Die Anwendung kann mit dem Parameter --help aufgerufen werden, um die Hilfe anzuzeigen. Um eine ausfuehrliche Darstellung der moeglichen Parameter zu erhalten sei auch auf die Readme-Datei verwiesen, die direkt bei Bitbucket eingesehen werden kann.

An dieser Stelle moechte ich nur ueber die wichtigsten Parameter sprechen. Im Folgenden wird davon ausgegangen, dass CueOnTheSpot ueber cue-generator aufgerufen werden kann. Abhaengig davon, wie du das Tool installiert hast, koennen die Befehle bei dir also leicht unterschiedlich aussehen. Die Parameter aber bleiben in jedem Fall die gleichen.

Schritt 1: Album suchen

Bevor wir uns ein Cue-Sheet erstellen koennen, muessen wir die API-ID herausfinden, die Spotify jedem Album individuell zuweist. Der Grund dafuer ist, dass Alben teilweise in mehreren Versionen, aber mit gleichem Namen erscheinen. Daher ist eine unabhaengige ID unabdingbar. Diese gilt es zu finden. Nehmen wir an wir suchen nach dem Album “Alles für alle bist alles alle ist” von den “Ohrbooten”.

Eine Suche kann mit dem Befehl cue-generator --search-album "ohrbooten alles bis alles alle ist" durchgefuehrt werden. Wenn alles klappt, dann sollte die Suche die ID spotify:album:3Kb6bBAAQuVaV0QH4zNuxF ausspucken. Manchmal kann es auch passieren, dass Spotify mehrere Treffer und damit auch mehrere moegliche API-IDs findet. In dem Fall habt ihr entweder einen uneindeutigen Suchbegriff eingegeben, z.B. in dem ihr nur nach dem Artisten gesucht habt, oder Spotify hat das Album in unterschiedlichen Versionen im Angebot. In jedem Fall ist es an euch die richtige API-ID auszuwaehlen. Diese API-ID kann in einem zweiten Schritt nun verwendet werden um das Cue-Sheet zu erstellen.

Schritt 2: Cue-Sheet erstellen

Im zweiten Schritt soll eine Cue-Datei zum Album mit der ID spotify:album:3Kb6bBAAQuVaV0QH4zNuxF erstellt werden, welches auf dem Desktop abgelegt werden soll. Der Befehl cue-generator --album spotify:album:3Kb6bBAAQuVaV0QH4zNuxF -o ~/Desktop/ erstellt eine Datei namens album.cue auf dem Desktop, die das gewuenschte Cue-Sheet enthaelt.

Damit hast du die grundlegenden Faehigkeiten erlernt Cue-Sheets erstellen zu lassen. Gratulation! Ich empfehle dir waermstens die Readme-Datei bei Bitbucket genau zu studieren. Dort werden weitere Parameter und ein moegliches Fine-Tuning von CueOnTheSpot ausfuehrlich beschrieben.

Schritt 3: Cue-Sheet verwenden

In einem dritten Schritt brauchst du nun eine Software, die mit Cue-Dateien umgehen und MP3-Dateien schneiden kann. Diese kannst du nun mit der Cue-Datei fuettern und voilà schon ist alles zurechtgeschnitten. Einfacher geht es kaum.

Empfehlung fuer Mac-User: mit Fission MP3s verlustfrei schneiden

Wenn du einen Mac dein Eigen nennst, dann lasst mich dir an dieser Stelle die Software Fission von dem kleinen aber feinen Entwicklerteam namens Rogue Amoeba ans Herz legen. Fuer ein paar wenige Euros kannst du dort ein ausgereiftes Programm zum Schneiden von MP3s erwerben. Der grosse Vorteil dieses Programms: es kann MP3s verlustfrei schneiden. Schau es dir einfach einmal an, es lohnt sich.

Fuer Windows/Linux-Nutzer habe ich derzeit leider keine Empfehlungen, da ich damit nicht arbeite. Solltest du ein tolles Programm wissen, dann teile es mir doch in den Kommentaren mit. Ich werde diesen Artikel dann entsprechend ergaenzen.

Androids Sicherheit – Ein Appell an Google, die Hersteller und Netzbetreiber

android-security

Vor einigen Tagen machte im Netz eine Mitteilung von Bluebox die Runde, in der mitgeteilt wurde, dass man eine Sicherheitsluecke gefunden habe, mittels der man den Sicherheitsalgorithmus von Googles Android Smartphone Betriebsystem aushebeln koenne. Google wurde informiert und es wurde noch kein Exploit seitens Bluebox veroeffentlicht um Google Zeit zu geben das Problem zu fixen. Das war vor einigen Tagen. Mehr dazu auch hier.

Inzwischen sind von allen Seiten Untersuchungen angestellt worden, um nachzuforschen was genau bei der Signaturueberpruefung schief laeuft. Steve Kondik, Gruender von CyanogenMod, scheint dem Fehler auf die Schliche gekommen zu sein. Sein Fix beim CyanogenMod-Projekt beschreibt wo der Fehler liegt und wie er ausgenutzt werden kann. Demnach wird bei der Installation einer APK-Datei vom Android-Betriebsystem zwar die Signatur der APK ueberprueft, allerdings kann man der APK-Datei zur originalen Datei eine manipulierte Datei hinzufuegen, die den gleichen Namen traegt, allerdings einen anderen Inhalt aufweist. Android ueberprueft nun zwar die Signatur der APK-Datei, prueft dabei aber nicht, ob es mehrere Dateien mit gleichem Namen gibt. Damit wird eine kompromittierte APK-Datei nicht als solche erkannt. Bei der Installation wird von Android dann allerdings nicht die originale Datei verwendet, sondern die kompromittierte.
Inzwischen gibt es erste Exploits zu dem Fehler, die es erlauben auf diese Weise gefaelschte APK-Dateien zu erstellen.

Dieser Fehler tritt allerdings, und da ist Google nochmals mit einem blauen Auge davon gekommen, nicht auf, wenn der Google Play Store verwendet wird. Denn hier kann Google auf den Servern die APK-Datei nochmals genau ueberpruefen und findet so auch die gefaelschten APK-Dateien, woraufhin diese vom Play Store abgelehnt werden koennen. Nichts desto trotz ist es bei Android auch moeglich APK-Dateien jenseits des Play Stores zu installieren, was infolge der oben beschriebenen Sicherheitsluecke ein gravierendes Sicherheitsproblem darstellt.

Wie sieht also die Loesung aus? Man solle nur installieren was vom Google Play Store kommt heisst es in zahlreichen Foren, auf Webseiten, etc. Das ist zwar richtig, kann aber nicht die komplette Loesung sein. Ein Sicherheitsupdate muss her. Und hier beginnt es problematisch zu werden. Problematisch nicht weil Google das Problem nicht loesen koennte – ganz im Gegenteil. Google hat wohl fix reagiert und bereits ein Update zur Verfuegung gestellt. Das Problem ist ein anderes: Google hat keine Kontrolle ueber die Updates. Zumindest nicht bei allen Geraeten, die keine Nexus-Geraete sind. Das ist ein immenses Problem, denn so kann Google nicht sicherstellen, dass die Updates auch wirklich beim Nutzer landen. Es liegt im Ermessen des Herstellers und – noch schlimmer – des Netzbetreibers, ob und vor allem wann ein Update an den Kunden weitergereicht wird. Aktuelle Zahlen verdeutlichen wie gross die Fragmentierung bei Android bereits ist.

Die zoegerliche Updatepolitik der Hersteller und Netzbetreiber ist bekannt und wurde an vielen Stellen kritisiert. Auch bei Google scheint man sich zunehmend Sorgen zu machen und die Hersteller zu schnelleren Updates bewegen zu wollen. Doch egal wie sehr sich Google bisher angestrengt hat, das Problem bleibt bestehen. Google muss, und das wird fuer die sichere Zukunft von Android eklatant wichtig sein, die Hersteller verpflichten Updates schneller auszuliefern oder die Updates gar selbst in die Hand nehmen. Erstere Moeglichkeit setzt Google wenn ueberhaupt nur viel zu zaghaft um. Letztere Moeglichkeit wuerde einen immensen Aufwand bedeuten, bei dem ich nicht sicher bin, ob Google das in Kauf nehmen kann und will. Dazu kommt, dass die Hersteller vermutlich ungern ihre Kontrolle abgeben werden.

Doch nach allem was wir bisher wissen war dieser Fehler sozusagen der Wink mit dem Zaunpfahl. Denn momentan besteht fuer die meisten der Android-Nutzer keine Gefahr, da viele ihre Apps nur aus dem Google Play Store beziehen und damit sicher sind. Doch es ist nicht ausgeschlossen, dass in (naher) Zukunft eine aehnliche sicherheitsrelevante Luecke gefunden wird, welche nicht mehr so glueckliche Umstaende aufweist und in der Tat eine schnelle Reaktion erfordert. Was passiert dann? Google muss in diesem Fall darauf vertrauen, dass die Hersteller und Netzbetreiber schnell handeln und die Updates durchwinken ohne sich tage-, wochen- oder monatelang Zeit zu nehmen diese Updates zu “pruefen”. Google ist gut beraten diesen Fall sehr ernst zu nehmen und Updatepolitik endlich zu ueberdenken. Lange Zeit wurde davor gewarnt was im Falle des Falles passiert und man hat dieses Thema meines Erachtens bei Google etwas zu sehr auf die leichte Schulter genommen. Doch spaetestens jetzt sollte klar sein, dass es hier zum GAU kommen kann. Google muss reagieren. Es steht neben dem Vertrauen zu Google/Android die Datensicherheit von Millionen Menschen auf dem Spiel. Ich bitte Google, die Hersteller und Netzbetreiber diese Tatsachen nicht zu unterschaetzen und nicht mit der Sicherheit ihrer Kunden zu spielen.

Nebenbei sei noch angemerkt, dass dem CyanogenMod-Projekt diesbezueglich Ehre zuteil werden muss. Dank Projekten wie CyanogenMod ist es moeglich aus der Klammer der Hersteller auszubrechen um sich Updates fuer das Smartphone zu besorgen – auch wenn der Hersteller den Support eingestellt hat. Letzteres passiert leider oft schon nach nicht mal einem Jahr, wie juengst beim HTC One S erneut(!) eindrucksvoll unter Beweis gestellt wurde.
Trotzdem darf sich Google auf diesem Zustand nicht ausruhen. Leider sind die wenigsten Leute technisch versiert genug um Updates durch CyanogenMod oder andere Custom ROMs durchfuehren zu koennen. Sie wissen ja meist noch nicht einmal, dass das Android-System ueberhaupt Updates erfahren kann (den Herstellern sei Dank) oder es besagte Projekte wie CyanogenMod gibt. Deswegen muss Google daran interessiert sein den Herstellern und Netzbetreibern eine bessere Kooperation in Sachen Updates geradezu aufzuzwingen. Es wurde im Guten versucht und wie sich zeigt scheint dieser Weg schlicht nicht zu funktionieren. Es wird Zeit, dass sich etwas aendert. Und sagt hinterher nicht euch habe niemand gewarnt.

Tasker: Disable keyguard when at home

In this post I’ll explain you how to use Tasker to define a trusted zone (for example your home) where Tasker will automatically disable your keyguard when you enter it. If you leave your secure zone Tasker will enable the keyguard again so that your phone is secure again.

Apps needed:

Let us define the trusted zone where Tasker should deactivate the keyguard. In this example I’ll use the WLAN SSID to identify the secure zone. If this doesn’t completely fit your needs feel free to modify it. You can for example activate the profile in the afternoon or something else.

The secure zone can be described in Tasker using the following profile:

Profile: Trusted Zone (2)
State: Wifi Near [ SSID:YOUR_WLAN_SSID MAC:* Capabilities:* Min. Activate Signal Level:0 Channel:0 Toggle Wifi:Off ]
Enter: Disable Keyguard (3)
A1: Secure Settings [ Configuration:Clear Password/Wait For Unlock Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ]

Tasker task for entering the trusted zone.
Close
Tasker task for entering the trusted zone.
 

Please change the SSID YOUR_WLAN_SSID to your WLAN SSID. A advantage in this case is the option “Wait for Unlock” which I’ve activated. This forces you to enter the correct pattern one time even in the secure zone before Tasker will remove the keyguard. This is important because if your phone is stolen the theft should not be able to activate it by simply driving to your secure location. So without the pattern a theft will be unable to enter your phone.

In the same way we can define the untrusted zone that is given when you leave your trusted zone. You can achieve this creating the following profile:

Profile: Untrusted Zone (4)
State: Not Wifi Connected [ SSID:* MAC:* IP:* ]
Enter: Untrusted / Set Pin (5)
A1: Wait [ MS:0 Seconds:30 Minutes:0 Hours:0 Days:0 ]
A2: If [ %PACTIVE ~ *,untrusted zone,* ]
A3: Secure Settings [ Configuration:Screen Dim
5 Seconds Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ] If [ %SCREEN ~ off ]
A4: Secure Settings [ Configuration:Set Pin Package:com.intangibleobject.securesettings.plugin Name:Secure Settings ]
A5: End If

Tasker task for entering the untrusted zone.
Close
Tasker task for entering the untrusted zone.
 

With these two profiles the whole thing is done. Now Tasker removes your keyguard when entering the secure zone (after typing in the pattern one time) and enable it again when you leave the secure area. Have fun with this!