mal wieder privacy.resistFingerprinting
Das die Leute auch jeden Mist glauben der im Net steht
mal wieder privacy.resistFingerprinting
Das die Leute auch jeden Mist glauben der im Net steht
privacy.resistFingerprinting…
Ja, dieser Schalter ist der Übeltäter user_pref("privacy.resistFingerprinting", true); Und das Entfernen dieser Zeile aus user.js reicht nicht aus, Sie müssen in about:config manuell true in false ändern
Dadurch verschlechtert sich das Fingerprinting um 0,06 %.
Das die Leute auch jeden Mist glauben der im Net steht
Sie haben sich falsch ausgedrückt. Dies ist eine Datenschutzempfehlung von Mullvad VPN und Tor Project. Sie wussten nicht, dass der Benutzer das Skript "aus dem Net" verwenden würde.
Dadurch verschlechtert sich das Fingerprinting um 0,06 %.
Das ist eine ziemlich präzise Zahl, die du da nennst. Demnach beziehst du dich wahrscheinlich auf irgendeinen Online-Test. Aber ist dir überhaupt klar, was das bedeutet? Viele verwechseln das nämlich leider mit Tracking. Dabei stehen die Ziele, seinen Fingerabdruck und das Tracking zu reduzieren, teilweise in direktem Widerspruch zueinander. Das sind zwei völlig verschiedene Dinge. Und ist dir überhaupt klar, was privacy.resistFingerprinting alles bewirkt? Da hängen einige Dinge dran und andauernd eröffnen hier Nutzer Themen, weil sie Probleme haben, die nur dadurch überhaupt erst entstehen.
Der Schalter privacy.resistFingerprinting sollte wirklich als das betrachtet werden, was er ist: Eine Anforderung für den Tor-Browser. Der basiert zwar auf Firefox, hat aber eine ganz andere Zielgruppe als Firefox. Wer Firefox nutzt, sollte diesen Schalter nicht anfassen.
Sie haben sich falsch ausgedrückt. Dies ist eine Datenschutzempfehlung von Mullvad VPN und Tor Project. Sie wussten nicht, dass der Benutzer das Skript "aus dem Net" verwenden würde.
Mullvad ist ein VPN, kein Browser, daher ist alles aus der Richtung schonmal irrelvant. Und Tor ist nicht Firefox. Deren Browser wird von ganz anderen Menschen genutzt. Bei Tor geht es um Themen wie Zensur und Länder, in denen es gefährlich ist, eine eigene Meinung zu vertreten.
Also mal wieder privacy.resistFingerprinting
Ich kann gar nicht mehr mitzählen, wie oft das jetzt für diverse Fehler verantwortlich war in den letzten 4-6 Wochen. Ich hab mir sagen lassen, dass es doch sehr hilfreich sein kann, nicht nur dieses Unterforum mitzulesen
Dies ist eine Datenschutzempfehlung von Mullvad VPN und Tor Project.
Aber auch nur genau für diese zwei Browser und für deren Zwecke. Und die sind alles andere als allgemein. Torbrowser kann ich noch tolerieren, aber Mullvad Browser gehört in die Datenmülltonne, so toll das auch gemeint war.
Mullvad ist ein VPN, kein Browser
äh, doch, ein BrowserHier steht sogar ziemlich konkret, was verändert wurde.
Sie haben sich falsch ausgedrückt.
Nein.
Denn für mich ist das Mist.
Und Probleme gab es damit schon reichlich hier.
äh, doch, ein Browser
Stimmt, seit wenigen Wochen gibt es auch einen Browser. Deren Kerngeschäft ist das aber nicht, sondern viel mehr eine Marketing-Dreingabe zum bezahlten VPN. Sonst könnten sie auch einfach Firefox empfehlen. Wenn man sich die Änderungen ansieht, würde ich sogar fast soweit gehen und sagen: Das ist LibreWolf mit Mullvad-Branding. Das geht in eine stark ähnliche Richtung.
Zur Verteidigung von Mullvad muss man aber sagen: Dahinter steht keine Privatperson, die sich in der Anonymität versteckt und Lügen verbreitet, wie bei LibreWolf. Sie bieten ein VPN an und informieren transparent. Mit dem Browser machen sie als Unternehmen auf ihr Angebot aufmerksam. Und zielen damit zumindest zum Teil auch auf die von mir angesprochenen Tor-Nutzer, die in einem Land mit Zensur leben und aus sehr gutem Grund reale Systemeigenschaften verschleiern müssen. Das ist der einzige legitime Anwendungsfall für diese Option. Die Menschen, die darauf tatsächlich angewiesen sind, würden selbst am liebsten bestimmt gerne auf die damit verbundenen Einschränkungen verzichten. Und hierzulande, wo es überhaupt keine Not dieser Art gibt, machen Menschen das freiwillig, weil sie überhaupt nicht verstehen, was der Zweck und die Konsequenz daraus ist - beispielsweise, dass Tracking dadurch einfacher und nicht etwa schwerer wird. Je kleiner der Fingerabdruck, desto mehr reale Systemeigenschaften wurden verschleiert. Desto einzigartiger ist man aber auch und sticht damit aus der Masse hervor. Es kann also weniger ein Bezug zu einer realen Person hergestellt werden, dafür kann man entsprechend leichter als wiederkehrender Besucher erkannt werden, weil man nicht mehr in der Masse „verschwindet“.
Was lenny2 leider falsch verstanden hat: Für den gewöhnlichen Firefox-Nutzer zählt nicht, was Mullvad in diesen Browser angepasst hat, denn diese Änderungen wurden für eine ganz bestimmte Zielgruppe durchgeführt. Das sind wie bei Tor keine Empfehlungen für den gewöhnlichen Firefox-Nutzer.
Der Mullvad Browser ist übrigens eine Zusammenarbeit von Mullvad und dem Tor-Projekt. Sie positionieren sich selbst als Tor Browser für Nutzer, die nicht das Tor-Netzwerk, sondern ein VPN nutzen, vorzugsweise natürlich das von Mullvad.
sondern viel mehr eine Marketing-Dreingabe zum bezahlten VPN.
In dem Zusammenhang habe ich das auch gesehen. Ein "angepasster" Browser zum VPN, aber nicht unbedingt notwendig für deren VPN. Aufgrund der Eingriffe sogar kontraproduktiv für den normalen Gebrauch.
in about:config manuell true in false ändern
Oder in der user.js den Wert auf false stellen, und dann den Fx neu starten.
Ich habe mal den nicht mehr funktionierenden "FilePicker" reaktiviert. D.h. Wenn var path="" ist, dann wird jetzt wieder der Dialog für die Verzeichnis-Auswahl angezeigt.
Das synchrone show funktionierte ja schon lang nicht mehr und wurde durch die asynchrone Variante open mittels Callback-Funktion ersetzt. Siehe Schnittstellendefinition:
/**
* Opens the file dialog asynchrounously.
* The passed in object's done method will be called upon completion.
*/
void open(in nsIFilePickerShownCallback aFilePickerShownCallback);
Hier der geänderte Code, wenn das jemand testen und nutzen möchte:
(Der Code ab Zeile 106 könnte vielleicht auch für andere Anwendungsfälle nützlich sein. )
// ==UserScript==
// @name BackupProfile.uc.js
// @namespace BackupProfile.github.com
// @description Schaltfläche zum Sichern des Firefoxprofils
// @charset UTF-8
// @author ywzhaiqi、defpt
// @version v2018.01.10
// @note Vorlage Script von ywzhaiqi (+ Mischung aus diversen Varianten aus dem Fuchsforum 1.11.21)
// @note Sicherungsdatei enthaelt auch Profilname
// @reviewURL http://bbs.kafan.cn/thread-1758785-1-1.html
(function () {
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
CustomizableUI.createWidget({
id : "Backup-button",
defaultArea : CustomizableUI.AREA_NAVBAR,
label : "Profilsicherung",
tooltiptext : "Sichern der aktuellen Konfiguration",
onClick: function(){
// Speicherort
var path = "";
// Ausschlussliste
var excludes = 'bookmarkbackups *cache* crashes fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite';
let backup = path => {
excludes = excludes.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\s+/g, '|');
excludes = new RegExp(excludes, 'i');
var zw = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter);
var pr = {PR_RDONLY: 0x01, PR_WRONLY: 0x02, PR_RDWR: 0x04, PR_CREATE_FILE: 0x08, PR_APPEND: 0x10, PR_TRUNCATE: 0x20, PR_SYNC: 0x40, PR_EXCL: 0x80};
var fu = ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs').FileUtils;
var dir = new FileUtils.File(PathUtils.join(PathUtils.profileDir,[]));
let d = new Date();
d = d.getDate() + '.' + (d.getMonth() + 1).toString().padStart(2, '0') + '.' + d.getFullYear().toString().padStart(2, '0') + ' ' + d.getHours().toString().padStart(2, '0') + '\uA789' + d.getMinutes().toString().padStart(2, '0') + '\uA789' + d.getSeconds().toString().padStart(2, '0');
// Die folgende Zeile formt den Archivnamen
var archiveName = 'Profil ' + ' ' + d + '.zip'; /* 'd' ersetzt 'localnow' */
var xpi = fu.File(path + '\\' + archiveName);
zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE);
var dirArr = [dir];
for (var i=0; i<dirArr.length; i++) {
var dirEntries = dirArr[i].directoryEntries;
while (dirEntries.hasMoreElements()) {
var entry = dirEntries.getNext().QueryInterface(Ci.nsIFile);
if (entry.path == xpi.path) {
continue;
}
if (entry.isDirectory()) {
dirArr.push(entry);
}
var relPath = entry.path.replace(dirArr[0].path, '');
if (relPath.match(excludes)) {
continue;
}
var saveInZipAs = relPath.substr(1);
saveInZipAs = saveInZipAs.replace(/\\/g,'/');
// Konfigurationsdateien können gesperrt werden
try {
zw.addEntryFile(saveInZipAs, Ci.nsIZipWriter.COMPRESSION_FASTEST, entry, false);
} catch (e) {}
}
}
zw.close();
alert('Die aktuelle Konfiguration wurde als:\n'+ archiveName +'\ngesichert in:\n' + path);
function alert(aString, aTitle) {
Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService).showAlertNotification("", aTitle, aString, false, "", null);
}
function bupgetCurrentProfileName(){
function readFile(aFile){
var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); stream.init(aFile, 0x01, 0, 0);
var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream);
cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER);
var content = "", data = {};
while (cvstream.readString(4096, data)) {
content += data.value;
}
cvstream.close();
return content.replace(/\r\n?/g, "\n");
}
var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile);
var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile);
ini.append("profiles.ini");
var ini = readFile(ini);
var profiles = ini.match(/Name=.+/g);
var profilesD = ini.match(/Path=.+/g);
for ( var i = 0; i < profiles.length;i++) {
if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) {
profiles[i].match(/Name=(.+)$/);
return RegExp.$1;
}
}
return null;
}
};
if (!path) {
let nsIFilePicker = Ci.nsIFilePicker;
let fp = Cc["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
fp.init(window, 'Sicherungspfad wählen', nsIFilePicker.modeGetFolder);
fp.open( async aResult => {
let promise = new Promise(function(resolve) {
if(aResult == nsIFilePicker.returnOK) {
path = fp.file.path;
resolve(path);
}
else {
console.log("PATH-ERROR: " + path);
return;
}
})
await promise;
backup(path);
});
}
else {
backup(path);
}
},
});
var cssStr = '@-moz-document url("chrome://browser/content/browser.xhtml"){'
+ '#Backup-button .toolbarbutton-icon {'
+ 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1%2B%2FAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNC8xMS8wOGGVBZQAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAABxklEQVQ4ja2UMUgbURjHfxeSFBzuBEuCkkAgIA5JDdzWohVnQe3UpRDE2UXpKKXdWro4ixlcdNJAydxiyHZkCIKIOEnLpZQSRFFz%2Bjqk73nvuDtb2j883nv%2F73u%2F%2B%2B69ewf%2FWUZgbgEFYDgiPw18B86An8DtQw%2BYdF1XRLVGoyGEEKJara4Bj0MKIhGYDxuGQVSTqtVqH0ql0uzvNzLigCQSicjmeZ7K63Q6u5VKZRoYigXGVWhZlpbbbrfrwKjfS4ZVGKVCoUCz2aTX65FOp6WdA04igf69CsqyLMrlctAWsRXGAf9EavXyFELEZT4A2TwYsLQKF%2BYXAJhb3VPep4%2BLzK3uqd7vS9Xr%2B2qsAW9u4eyoxcZSFoCVLZfTwxaA6v2xjaUsuYmnWrU60IOr%2FmD8etvl%2Fausikl%2FZcsFULEbD02hwPUdl7cvs1qiBAb9eOCdwdjEM2AABdh88wJA%2BbK%2FX6MDtVPmHyRPOfjRPfc87%2FPfgJLJ5AzwRc0BbNseB8a63e6TuKsXpnw%2BP5nJZAzgq%2BM4x3IPzwFM07woFovv%2Bv3%2BUDTiXqlU6tI0zQs%2FI%2FSe2bYt%2FyCPgJFA%2BAdwDeA4zrfg2l%2BwUqCoC1F3YQAAAABJRU5ErkJggg%3D%3D)'
+ '}}';
var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET);
})();
Alles anzeigen
Funktioniert einwandfrei
Danke fürs Testen!
Danke fürs Testen!
Wenn du dir schon die Mühe machst und es wieder anpasst...gern geschehen
Funktioniert einwandfrei
Hm, das ↑ kommt nicht, aber das ↓.
Oder die Auswahl:
Wenn ich das richtig verstanden habe, geht es doch bei den veränderten Skript genau darum, daß die Auswahl erscheint, wenn kein Sicherungs-Pfad festgelegt ist?
das ↑ kommt nicht,
Du hast den Pfad zum Sicherungsordner in Zeile 20 eingetragen?
wenn kein Sicherungs-Pfad festgelegt ist?
Richtig.
Du hast den Pfad zum Sicherungsordner in Zeile 20 eingetragen?
So hatte ich die Funktion des Aufrufs des alerts verstanden.
So hatte ich
Ist ein Pfad eingetragen, dann wird die Sicherung automatisch in dem Ordner gespeichert.
Ist kein Pfad eingetragen, dann öffnet sich das Popup zur Nachfrage wo gespeichert werden soll.
Beitrag 270, untere Screenshot.
Ist ein Pfad eingetragen, dann wird die Sicherung automatisch in dem Ordner gespeichert.
Ist kein Pfad eingetragen, dann öffnet sich das Popup zur Nachfrage wo gespeichert werden soll.
Beitrag 270, untere Screenshot.
Ich glaube, das Du mich missverstanden hast, das Alert kommt so oder so nicht, wenn ich keinen Pfad eintrage, kommt das Auswahlfenster, so wie es sein sollte.
das Du mich missverstanden hast
Dann sorry dafür.
Hier der geänderte Code, wenn das jemand testen und nutzen möchte
Bei mir kommt das Alert nicht, wo könnte es haken?