die Auswahl kommt sofort, und nach Ende des Backups erscheint auch die Benachrichtigung.
Danke auch dir für den Test...
die Auswahl kommt sofort, und nach Ende des Backups erscheint auch die Benachrichtigung.
Danke auch dir für den Test...
ich habe hier auch noch keinen Erfolg gehabt, weder mit meiner alten Version noch mit der von BrokenHeart und weder in Firefox 116 noch im Nightly.
weder in Firefox 116 noch im Nightly.
Also auch in v116 (auch portable) funktioniert es, hier hatte ich zum Test allerdings den Pfad vorgegeben.
ich habe hier auch noch keinen Erfolg gehabt,
...mit was, mit der Benachrichtigungsfunktion?
Wenn ja, sieht das Benachrichtigungsfenster so bei dir aus?
Also auf "Benachrichtigungsassistent" und nicht auf "nur Alarme" oder "nur mit Priorität" eingestellt?
Ansonsten noch Hinweis in #288 überprüft?
...mit was, mit der Benachrichtigungsfunktion?
Ja, die Sicherung funktioniert einwandfrei.
Also auf "Benachrichtigungsassistent" und nicht auf "nur Alarme" oder "nur mit Priorität" eingestellt?
Ansonsten noch Hinweis in #288 überprüft?
Hatte ich erst, jetzt stand es auf nur mit Priorität. Ich hatte allerdings vorhin im Info-Fenster mal drauf geklickt und bin dann in die PC-Einstellungen. Dort war „Benachrichtigungen von Apps und anderen Absendern abrufen“ auf Aus gestellt. Die Liste war dadurch ausgegraut. Ich habe auf Ein gestellt, die Liste wurde aktiv und sieht so aus:
Seltsamerweise ist nur das Nightly angegeben und mit Daily ist wohl Thunderbird gemeint. Die Firefox-Einträge wie bei Andreas habe ich nicht.
Also auf "Benachrichtigungsassistent" und nicht auf "nur Alarme" oder "nur mit Priorität" eingestellt?
Das lag der Hund bei mir begraben, stand hier auf Alarme.
Steht bei mir jetzt auf Benachrichtigungsassistent. Dennoch kein Erfolg. Mal sehen, morgen, äh heute, ist auch noch ein Tag.
Mir ist da noch ein Wunschgedanke zu dem Script gekommen. Das Script in dieser Variante sichert ja den Inhalt des Profilordners und erstellt davon ein Archiv. Kann es so umgeschrieben werden, dass der komplette Profilordner als Archiv gespeichert wird.
Kann es so umgeschrieben werden, dass der komplette Profilordner als Archiv gespeichert wird.
Das macht das Skript doch?!
Wenn du den kompletten Inhalt ohne die Ausschlüsse (Cache usw.) sichern möchtest, dann musst du doch nur die Ausschlüsse entfernen. Anscheinend darf aber die Variable var excludes nicht leer sein, schreib dann einfach. : var excludes = '*x*'; , wenn du alles sichern möchtest. Bei mir sind es dann allerdings 1GB! (hauptsächlich Cache)...
Oder habe ich dich missverstanden?
Das macht das Skript doch?
Neee, das speichert den Inhalt des Profilordners, wie ich schrieb. wenn ich das Archiv entpacke, dann sieht das so aus.
Mein Gedanke war, dass der Ordner "Profilordner" (wie er z.B. in einer portablen Version heißt) komplett als dieser Ordner im Archiv hinterlegt ist, und zwar so.
Neee, das speichert den Inhalt des Profilordners, wie ich schrieb. wenn ich das Archiv entpacke, dann sieht das so aus.
Es liegt nicht am Script. Sie wählen beim Extrahieren den falschen Eintrag im Kontextmenü des Archivs. "Extract here" - das ist das Element, das Sie jetzt verwenden, es passt nicht zu Ihnen. Wählen Sie "Extract files..." - und Sie werden das gewünschte Ergebnis erhalten. Um die Anzeige der Kontextmenüeinträge anzupassen, führen Sie "C:\Program Files\7-Zip\7zFM.exe" aus.
Danke, aber das hilft auch nicht weiter, weil das Ergebnis dann so aussieht.
Der Name des Profilordners lautet in diesem Fall aber sqqcbryv.Arbeits-Fox-1691506530881, und genau so müsste er nach dem Entpacken lauten (so mein Gedanke).
Edit:
Aber das könnte man anpassen, wenn im Script das hier so abgeändert wird.
// Die folgende Zeile formt den Archivnamen
var archiveName = 'sqqcbryv.Arbeits-Fox-1691506530881.zip';
So müsste dann auf die Zeitangaben verzichtet werden.
Mein Gedanke war, dass der Ordner "Profilordner" (wie er z.B. in einer portablen Version heißt) komplett als dieser Ordner im Archiv hinterlegt ist, und zwar so.
Oh Mann, du mit deinen exzentrischen Sonderwünschen...
Bitte Testen:
(habe die Änderungen im Skript mal markiert)
// ==UserScript==
// @name BackupProfileFuchsFan.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);
// --- FUCHSFAN --->
let profPath = dir.leafName + "/";
zw.addEntryDirectory(profPath, Date.now() * 1000, false);
// <--- FUCHSFAN ---
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,'/');
// --- FUCHSFAN --->
saveInZipAs = profPath+saveInZipAs;
// <--- FUCHSFAN ---
// 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
Bitte Testen:
Oh Mann, du mit deinen exzentrischen Sonderwünschen...
Stimmt, das hat aber einen ganz besonderen Hintergrund.
Ich bedanke mich ganz herzlich für Deine Unterstützung. Um aber ganz klar herauszustellen, ich zwinge Dich nicht dazu, aber wie es aussieht, bist Du hier i.M. der einzige Fachmann auf diesem Gebiet. Denn Andreas hatte hier im Forum auch schon erklärt, dass aborix hier schon lange nicht mehr aktiv ist.
habe die Änderungen im Skript mal markiert
Du bist mein Held!
2002Andreas hat ja schon getestet, ich werde das später machen.
Hallo BrokenHeart
Nur als Info: Hier unter Windows 7 wird auch keine
Vollzugs Benachrichtigung angezeigt. Das ist aber auch
mit der Original Version so. Es liegt also nicht am Script.
Sonst funktioniert alles prima. Backup wird gemacht.
Kann jetzt nicht sagen ab welcher Firefox Version das so ist,
glaube aber erst ab Firefox 115.
Unter Windows 10 muss ich es erst noch testen.
Mfg.
Endor
Bei mir leider eben nicht.
Kam sonst immer, seit neuestem aber nicht mehr.
Keine Ahnung woran es liegen könnte.
Ps. Vielleicht habe ich meinen Fuchs auch zu bruch geschraubt
Mfg.
Endor
Kam sonst immer
Hast/kannst du das in Win7 aktivieren unter Benachrichtigungen?
Hast/kannst du das in Win7 aktivieren unter Benachrichtigungen?
Wenn ich wüste wo, würde ich da ja gerne mal nachschauen.
Hatte mir dazu auch Deine Screenshots angeschaut, aber sowas
habe ich hier in Windows 7 nicht gefunden.
Mfg.
Endor