Michael: Kekse!

Böse Kekse! <!– Platzhalter für stupiden Wortwitz über Kekse, Kekskrümel und Spuren im Internet –>

<!– Wenn Internetausdrucker, dann Google Bashing, auf jeden Fall aber Internetausdrucker Bashing 😉 –>

Aber hat sich einer der Herren mal die Mühe gemacht, sich in den Einstellungen seines Zwischennetzwerkanzeigers zurecht zu finden?

Laut RFC ist die Empfehlung, dass Browser allgemein die Privatsphäre ihrer Benutzer schützen und keine Third-Party-Cookies zulassen sollen. Ob sich aber genau das hinter den sogenannten Automatischen- oder Standardeinstellungen verbirgt, bleibt für den Endbenutzer schwer nachvollziehbar.

The standards for cookies, RFC 2109 and RFC 2965, specify that browsers should protect user privacy and not allow third-party cookies by default. But most browsers, such as Mozilla Firefox, Internet Explorer, Opera and Google Chrome do allow third-party cookies by default […]
[en.wikipedia.org]

Kleines Detail am Rande: Wenn ich “Internet Browser” bei Google suche, dann sind die Treffer auf der ersten Seite: Opera, Firefox und Safari. Von z.B. Internet Exlorer und Chrome fehlt jede Spur. Scheint kein relevanter Suchbegriff zu sein?

(more…)

Allesblog#Browser#Cookies#firefox#google#http#network#security

Michael: RockMelt

Auf RockMelt.com kann man sich auf die Warteliste setzen lassen, um “den neuen social Browser” Probe zufahren. RockMelt basiert auf Chromium, dem Open Source Browser basierend auf dem Google Chrome Sourcecode. Er tritt das Erbe von Flock an, der noch auf Firefox basierte.

Letztes Wochenende kam die eMail vom RockMelt Team:

“Hello,

You recently requested early access to RockMelt. We just hooked you up!”

Also habe ich mir mal die Versionen für Windows und Mac OSX angesehen. Da Ich weder Chrome noch Chromium vorher ausprobiert hab, kann ich keine detaillierten Aussagen machen. RockMelt bietet natürlich ebenfalls die Funktionen, die aus Chrome/Chromium schon bekannt sind. Auf jeden Fall scheint das ganze Social-Konzept zu funktionieren.

Am Fensterrand auf der linken Seite gibt es eine Liste mit den Facebook Kontakten aus dem Chat, sortiert nach Online-Status. Auf Knopfdruck kann man auf eine Favoriten-Liste wechseln, in der man “besondere” Kontakte markieren kann.

Gegenüber auf der rechten Seite wird eine Button-Leiste angezeigt, in der alle installierten Extensions aufgeführt sind. Twitter und Facebook sind vorinstalliert. Auf diese Weise hat man Seine Twitter Timeline und die Facebook Wall immer im Blick. Kleine Badges zeigen an, wie viele neue Elemente vorhanden sind.

Die Aufteilung am linken und rechten Rand ist sehr sinnvoll. Gerade auf den weit verbreiteten 16:10 Monitoren, ist der Platz auf dem Bildschirm, der so genannte Screen Estate, sehr wertvoll.

Die Aktuelle Webseite kann ganz einfach und direkt per Twitter oder Facebook verbreitet werden. Lange Adressen werden dabei vom browsereigenen URL-Kürzer me.lt eingedampft.

Mir ist besonders positiv aufgefallen, dass Bookmarks Installations- und Plattformübergreifend synchronisiert werden. Beim ersten Start des Browsers unter Mac OSX, standen sofort alle Lesezeichen zur Verfügung, die ich bereits unter Windows auf einem anderen PC eingerichtet hatte.

Bisher habe ich mich seit der Version 1.0.8, ausschließlich mit Firefox im Internet bewegt. Immermal wieder, habe ich aktuelle Versionen vom Opera ausprobiert. Geschäftlich bin ich leider an den Internet Explorer gebunden und mit dem ersten Mac Book habe ich Safari kennen gelernt. Zum Feuerfuchs habe ich mittlerweile eine Hass-Liebe aufgebaut. Meine Begeisterung für den Fuchs rührt vor allem aus dessen einfacher Erweiterbarkeit und großem Angebot an Plugins. Gerade Chrome hat mich deshalb nicht ganz überzeugen können, weil mir einfach lieb gewonnene Funktionen aus der Firefox-Plugin-Riege gefehlt haben. Viele fleißige Entwickler haben an dieser Stelle jetzt fleißig nachgeholfen.

Ab heute habe ich RockMelt zu meinem Systemweiten Standardbrowser befördert. Wer RockMelt ebenfalls ausprobieren möchte, kann sich, wie eingangs bereits erwähnt, auf der offiziellen Seite auf die Warteliste setzen lassen, oder schreibt mir auf Facebook kurz eine Nachricht. Denn jeder RockMelt Testfahrer kann bis zu 3 weitere Personen einladen. Der eingeladene braucht dazu lediglich einen Facebook Account.

Allesblog#Browser#chrome#chromium

Ab und zu kommt es vor, dass ich gerne das ein oder andere YouTube-Video runter laden möchte, um es offline zu genießen. Natürlich gibt es dafür bereits unzählige Tools und Plugins aber nichts ist so schön wie selbst Gemachtes!

Ziel ist es am Ende mit Hilfe der YouTube Video ID jedes beliebige YouTube Video runterladen zu können. Das passiert am einfachsten über eine URL, die für unseren Browser wie ein normales Video aussieht. In Wirklichkeit verbirgt sich dahinter etwas PHP magic. In unserem Fall wäre das ein URL, der folgender Maßen aussieht:

  • http://allesblog.de/YouTube/Ha0xp99oQyA.mp4

 

Beginnen wir also von Vorne. Domain und Apache Webserver sind bereits brauchbar eingerichtet. Darauf möchte ich hier nicht eingehen. Ich lege mir also in meinem Fall eine .htaccess Datei an, in der ich Apache sage, dass alle Anfragen, die auf .mp4 enden, an das download.php Script weitergeleitet werden sollen.

Apache .htaccess

RewriteEngine On
RewriteRule (.*.mp4)     /download.php?file=$1 [L,NS]

Die YoutTube ID bzw. den Dateinamen, bekommt unser Script als Parameter file übergeben.

Jetzt brauchen wir natürlich das Script selbst, welches in diesem Fall das Linux Kommando youtube-dl ausführt, damit wir die eigentliche Video-URL herausfinden können. Die Datei erkläre ich im Einzelnen.

PHP Code: download.php

ini_set ('user_agent', $_SERVER['HTTP_USER_AGENT']);

Als erstes setzen wir unseren eigenen User-Agent auf den Wert von unserem Browser.

$file = $_GET['file'];
$file = substr( $file, 0, -4 );

Der Dateiname endet auf .MP4. Die letzten 4 Buchstaben schmeissen wir also erstmal weg.

define("YOUTUBE-USER", "abc")
define("YOUTUBE-PASS", "123")

Unseren YouTube Account definieren wir als Konstante Werte. YouTube erlaubt leider keine anonymen Downloads mehr, aber es ist ja nicht so schwer, sich einen YouTube-Account anzulegen 😉

$a_file = explode("\n", trim( `youtube-dl -u YOUTUBE-USER -p YOUTUBE-PASS
 -e -g "http://www.youtube.com/watch?v=$file" -f 18 2>&1` ));
$file = array_pop($a_file);
$title = array_pop($a_file);

Wir übergeben das YouTube Video an das Linux Programm und parsen anschließen den Rückgabewert. Wenn wir einen Fehler erhalten, dann liefern wir Error Code 404 an den Browser aus, und dieser weiß dann, dass wir unter der URL kein Video finden können. Im Erfolgsfall geben wir die Video-Header aus und im Anschluß daran schleifen wir den Datenstrom des Videos einfach durch.

if (preg_match('/^ERROR/', $file )) {
  header("HTTP/1.0 404 Not Found");
} else {

  header('Content-type: video/mpeg');
  # header('Content-disposition: inline');
  # The following header seems not to work with iTunes
  header('Content-Disposition: attachment; filename="YouTube-'.$title.'.mp4"');
  $f = fopen($file,'r');
  fpassthru($f);
  fclose($f);
}

Den Content-Disposition Header habe ich eingebaut, damit die Videos einen einfacheren Namen erhalten.

Und zum Schluß noch ein kleiner Bonus. Mit dem folgenden Bookmarklet, für die FireFox Favoriten, können wir das Script direkt mit eingaben füttern, wenn wir gerade auf YouTube rumsurfen.

Boomarklet JavaScript:

javascript:var%20d=document,w=window,f='http://allesblog.de/YouTube/',l=d.location,x=/.*v\=(.[^&]*)&?.*/,id=x.exec(l),u=f+RegExp.$1+'.mp4';l.href=u;void(0);
Allesblog#Browser#JavaScript#PHP#YouTube

Leider bietet der iPhone-Browser wie die meisten mobilen Internetbrowser keine Plugin- oder Erweiterungsstruktur, wie man es von Ihren Desktop-Pendants kennt. Gerade auf mobilen Plattformen kommt es darauf an, Kommunikationsbandbreiten nicht mit unnützem wie Werbung oder Gedudel zu verschwenden. Da trotz UMTS und HSDPA Webseiten eher durch den Äther schleichen als zu rasen. Außerdem lassen sich dadurch die begrenzten Ressourcen der kleinen tragbaren Geräte weiter schonen in dem man sie nicht darauf verschwendet Werbung anzuzeigen. Das freut die Akkulaufzeit. Wenn man also nicht Plugins für den Browser entwickeln kann, dann muss man den Datenstrom manipulieren, der den mobilen Webseitendarsteller erreicht. Dafür benutzt man in der Regel Proxyserver, die sich problemlos in den meisten mobilen Betriebssystemen einstellen lassen. Dabei gibt es Proxy in vielen verschiedenen “Geschmacksrichtungen, die auch noch unterschiedlich miteinander verkettet werden können. Die einfachste Form ist das Zwischenspeichern von Webinhalten, und sein bekanntester Vertreter ist der Squid Webcache. (more…)

Allesblog#adblock#Browser#Cache#iPhone#Kompression#Proxy