Bezahlte Anzeigen
Die Entwickler des Manjaro Linux haben mit dem »Jade Desktop« eine neue Benutzeroberfläche angekündigt. Der auf HTML5, CSS, JavaScript und Python basierte Desktop fokussiert vor allem Anfänger und will durch eine einfache Nutzung die Anwender überzeugen. weiterlesen »
Ich vergebe bei mit im Heimnetzwerk schon seit längerer Zeit statische IP-Adressen. In diesem Beitrag zeige ich euch kurz wie ihr unter Debian/Raspbian 9 „Stretch“ eine statische IP-Adresse einrichtet. weiterlesen »
Vielleicht nur noch drei Mal schlafen und dann ist Linux Mint 19 Beta da. Derzeit befinden sich Linux Mint 19 Cinnamon, MATE und Xfce im letzten Feinschliff (QA). Diverse Fehler haben die Entwickler noch ausgebessert. weiterlesen »
Von Zeit zu Zeit möchte man Bildschirmausschnitte in Windows 10 erzeugen. Auf dem Markt sind viele so genannte “Snipping-Tools” zu finden, die alle unterschiedliche Vor- und Nachteile mitbringen. weiterlesen »
Die Macher der auf Ubuntu basierenden Distribution Linux Lite haben die Version 4.0 freigegeben. Mit ihr startet gleichzeitig unter dem Codenamen Diamond die Versionsreihe 4.x, die einige Neuerungen aufweist. weiterlesen »
Ich bin kein großer Fan von Klickibunti-Oberflächen wie Plesk, ISPconfig, froxlor und Co.In meinen Augen erhöhen Lösungen wie die genannten nicht nur die Angriffsfläche eines Systems, sie bringen meist auch Dinge mit, die ich gar nicht benötige. weiterlesen »
Dieses PhantomJS Skript listet alle Hyperlinks einer Website auf. Wobei JavaScript und Frames unterstützt werden (AJAX kann noch ein Problem sein). #!/usr/bin/phantomjs // listlinks.js // Lists all hyperlinks of an URL, supports JavaScript and Frames // See also: http://phantomjs.org/api/ "use strict"; // Um Endlosrekursion in der Frametiefe zu erkennen und abzufangen // FIXME: Make it a constant // const FRAME_RECURSION_BLOCK_THRESHOLD = 10; // SyntaxError: Unexpected token 'const' // See: https://github.com/ariya/phantomjs/issues/14521 var FRAME_RECURSION_BLOCK_THRESHOLD = 10; function getAttributesFromAllTagsByName(tagName, attributeList) { var elements = document.getElementsByTagName(tagName); var attributes = []; for (var i = 0; i < elements.length; i++) { attributes.push({}); for (var j = 0; j < attributeList.length; j++) { if (elements[i].hasAttribute (attributeList[j])) { attributes[i][attributeList[j]] = elements[i].getAttribute(attributeList[j]); } } attributes[i]["textContent"] = elements[i].textContent; } return attributes; } function listLinks () { var a = page.evaluate(getAttributesFromAllTagsByName, "a", ["href"]); for (var i = 0; i < a.length; i++) { // FIXME: Use the class URL to get an absolut URL // system.stdout.writeLine(new URL(a[i]["href"], page.frameURL).href); // See: https://github.com/ariya/phantomjs/issues/14349 var href = a[i]["href"] || ""; var textContent = a[i]["textContent"] || ""; system.stdout.writeLine(href + "\t" + textContent.replace(/[[:whitespace:]]+/g, " ")); } } function getFrames (parrents) { var a = page.evaluate(getAttributesFromAllTagsByName, "iframe", []); var frames = []; for (var i = 0; i < a.length; i++) { frames.push(parrents.concat([i])); // frame position } return frames; } var system = require('system'); if (system.args.length != 2) { system.stderr.writeLine("Usage: " + system.args[0] + " <url>"); phantom.exit(1); } var page = require("webpage").create(); page.settings.javascriptEnabled = true; page.settings.resourceTimeout = 10*10000; // milliseconds page.settings.userAgent = ""; page.open(system.args[1], function (status) { if (status !== "success") { system.stderr.writeLine("E: Fail to load URL: " + system.args[1]); phantom.exit(1); } listLinks(); var frames = getFrames([]); while (frames.length) { var f = frames.shift(); if (f.length >= FRAME_RECURSION_BLOCK_THRESHOLD) { system.stderr.writeLine("E: The frame-recursion-block detection attacks!"); phantom.exit(1); } page.switchToMainFrame(); for (var i = 0; i < f.length; i++) { page.switchToFrame(f[i]); } system.stderr.writeLine("I: Switched to frame: " + f.toString() + " frameName=" + page.frameName + " frameURL=" + page.frameUrl); var subframes = getFrames(f); if (subframes.length) { frames = subframes.concat(frames); } listLinks(); } phantom.exit(0); }); Benutzt wird es z.B. weiterlesen »
Ein Seitenkanal in einer CSS-Funktion ermöglicht Rückschlüsse auf die Inhalte von iFrames, die in bösartigen Webseiten eingebaut werden. Forscher konnten so an den Facebook-Namen und das Profilfoto eines Opfers gelangen. weiterlesen »
Das Minifree Libreboot X200 Tablet, ein Hybridgerät, das als Laptop und Tablet einsetzbar ist und von Minifree modifiziert wurde, um ohne proprietäre Software zu laufen, wurde von der FSF als »die Freiheit der Benutzer respektierend« zertifiziert. weiterlesen »
Vielleicht nur noch drei Mal schlafen und dann ist Linux Mint 19 Beta da. Derzeit befinden sich Linux Mint 19 Cinnamon, MATE und Xfce im letzten Feinschliff (QA). Diverse Fehler haben die Entwickler noch ausgebessert. weiterlesen »
Qt Safe Renderer, eine Komponente für Grafikausgaben, wurde jetzt für den Einsatz in Fahrzeugen, Zügen in medizinischen Instrumenten zugelassen, bei denen Fehler keine Option sind. weiterlesen »
Mit einem neuen virtuellen Dateisystem für den Desktop-Client wollen die ownCloud-Entwickler ihre Software besser in das lokale Betriebssystem integrieren. weiterlesen »
Atari hat den Vorverkauf seiner Linux-basierten Spielekonsole »Atari VCS« gestartet. Zudem hat das Unternehmen die Spezifikation des Geräts bekannt gegeben, das nun unter anderem über eine Bristol Ridge A1 CPU und Radeon R7 GPU verfügen wird. weiterlesen »
Gut vorbereitet fällt der Wechsel auf Linux nicht schwer. Genug Platz auf der Platte vorausgesetzt, können Sie Ihr altes Windows sogar behalten. weiterlesen »
Die Entwickler des Manjaro Linux haben mit dem »Jade Desktop« eine neue Benutzeroberfläche angekündigt. Der auf HTML5, CSS, JavaScript und Python basierte Desktop fokussiert vor allem Anfänger und will durch eine einfache Nutzung die Anwender überzeugen. weiterlesen »
Leistungsfähige Raspi-Konkurrenten setzen zunehmend auf den Chip-Hersteller Rockchip. Zwei neue RK3399-Boards eröffnen die Alternative: kompakt oder günstig? weiterlesen »
Ich vergebe bei mit im Heimnetzwerk schon seit längerer Zeit statische IP-Adressen. In diesem Beitrag zeige ich euch kurz wie ihr unter Debian/Raspbian 9 „Stretch“ eine statische IP-Adresse einrichtet. weiterlesen »