User:Dickvl/Private Browsing disable: Difference between revisions
Line 49: | Line 49: | ||
/O2un/W/Uf6yGel+7/wLUEsDBAoAAAAAAA2ldjsAAAAAAAAAAAAAAAAHABUAY2hyb21lL1VUCQAD | /O2un/W/Uf6yGel+7/wLUEsDBAoAAAAAAA2ldjsAAAAAAAAAAAAAAAAHABUAY2hyb21lL1VUCQAD | ||
qZMJS6mTCUtVeAQA6ANkAFBLAwQKAAAAAABYmD88AAAAAAAAAAAAAAAADwAVAGNocm9tZS9jb250 | qZMJS6mTCUtVeAQA6ANkAFBLAwQKAAAAAABYmD88AAAAAAAAAAAAAAAADwAVAGNocm9tZS9jb250 | ||
ZW50L1VUCQADx8VlS8fFZUtVeAQA6ANkAFBLAwQUAAAACAD0efg+IFwuC+oDAABiCQAAHAAcAGNo | |||
cm9tZS9jb250ZW50L3BiZGlzYWJsZS54dWxVVAkAA/ | cm9tZS9jb250ZW50L3BiZGlzYWJsZS54dWxVVAkAA/waLE78GixOdXgLAAEE6QMAAARkAAAAhVZL | ||
b9s4ED47QP4Dq0MhA7bUXp1408Q1doMttmmcPQVBQEtjmzVFaknKjtP6v+8MKbly6sQ66DGcGc73 | |||
zUM8v3gqJFuBsUKrYfQx+RBd/HF6cnpyrlEo+YaJfBiV01xYPpXQr6URQzNlh9HCuXKQpuv1Oin0 | |||
+ | s5CSJ9rM0yVsCm4dmHTOHSwBSnx1CzCQCJtoJTfJUyWjsJPNjCgdc5sShpGDJ5d+5ysepKRy/u5+ | ||
9Pny7vL+9CRNmVsIy2ZCAsNnyY1jeoZCYDdXrI6SoQ9QhIj1UZYtV/LTctoE+CwUUJC094obNsrY | |||
kI10UWoFytkkk9xasD02EvsLQiGgGc/AnpHtjRErBHdl9NoKNf8iEK8Ck5RGO01g0PrH6UnnUSjh | |||
IB+wGZcWeiTRdsBUJWUvLL/w9EsTl8mYoaRSmUNAcZdcdsSMxUREUjvvMgOuMuqMFtsLGIMzFbTk | |||
2hKq7D761E6YnlowmNs+PUQGZx+jB7LpJHNwkyCLRyJR9vprrVpLu3u+E57njYKPsMeiMsDrT2t8 | |||
/YyrDGR/pR1EvQD2uJf/KuH6vCylyDgx0bZkeK2FyvWaLMcrTFeTjjiSmueoHNy0TLY9ui+4yiV4 | |||
kxbL0KXUkVu7Fi5bsBgSSulOzFjGLbDgfOCZsuDuRAG6cnErXb4E8HJm07x2qOrK6cE81Fw1VO3S | |||
cDATL+pmLyEdKpIYd0l45fTEYaNgNfz8SRsnWOFuhMjnkF9tsMILJOELtkWzXu47HivqqnyHpdN5 | |||
XQlBeY6bIDqy6Qsuwbj4DfeNyTY8t0gxUo+5+LHddnrsQ1Cg1W3ojbpo2+1hq+l3yBymW5ci67Gc | |||
O17H7XuGpGw4PFKUDdLaW/KtArO5bto/PjgTKCGTqiy1cfbm9kprWQOifWOKw+8LZIAbvH/P3jXu | |||
6yDbn03f+rKtqatr19OzZYAfbB/Tby3S4Nj1lYECJ/jR1qojP2L2NoUvk+Ux7LWYj833gjnYC1BM | |||
/ | Ic+Qa+wKvLv2bDrUDKSz1wPot6bOD1sW4S/ic/hF4ECAiyhGgVbdaBDeZrNuiBvD3voZ30TLXhn2 | ||
1N+eJZq2sc9N+Kk0VY+4FKxfNz9rDKw9yEGmsV6US63b4N/XLgCO0DAhxQnptaigDcThwa/ArbVZ | |||
pkK/7ff6a8tf8BhGGPpNEOK/t9dxlC0wCYDngd2BYQdgJ0kya5F9nxG6kT8En9AkvVT5LcyJHOMh | |||
0LTo0eLln+N/7h4nf43Hd6T/8EDHgjQcEcIhAk8cOID9aaXgQv3tP+n00KElL8fn44v5GrFQ2iCh | |||
wCjx+IFNF6W/mVmO+RXP8Lr+eRoiCNGk9TkJv/4HUEsDBBQAAAAIAIRZ+D4KBi4CdwEAAOwCAAAc | |||
ABwAY2hyb21lL2NvbnRlbnQvcGJkaXNhYmxlLmNzc1VUCQAD5+ErTufhK051eAsAAQTpAwAABGQA | |||
AACNUk1PAkEMvZv4HypclODuXaMBwgEPRhK8GWPKboEJ85WZ8rEY/7sdYAE5qKedtq+v73Wbt4Bn | |||
KsJEaQL5egwMbiJJgmEPShVxLBVaM9monIVbyRXzpe7Mx5lxG6U1bpSlzIUptPLLi8uLjkVD0WNB | |||
sAj6ujFj9nd5vlqt6oYEzudUGYxMIZ8i05zIy1PGBspUzJzVVbZe6MbNfeLMWzBQ5VYS2hJGaBWr | |||
jShmMqAsdL0HQ3axrb46p+MuTIqacY8ekbhDdqENTR/UUsb2gltFZadPwiPZGrkNm+h9Ivk4wx4L | |||
NXygorBW8Cnr8hqrO+ssXSnjXWC0fP91aqG7YDfitOa9megMQU0RiVlmxGTqxbNsPMIjDJOCotrZ | |||
CWTIjCnsW/pYxXZzdhrUiO5E1ts+b2gLx5mlgybZQaEJQx8Ze279P0fpVo4HIsJ/JgxanFLYicey | |||
FEu3XjIQVDHToin9xLd0NA+N48k13pPOA0t83rP80fSb4m9QSwECFwMUAAAACAB7mD88N8SPMkkA | |||
AAB8AAAADwANAAAAAAABAAAA7YEAAAAAY2hyb21lLm1hbmlmZXN0VVQFAAMJxmVLVXgAAFBLAQIe | |||
AxQAAAAIAJtZ+D7QdZBmeQEAAP0CAAALABgAAAAAAAEAAADtgYsAAABpbnN0YWxsLnJkZlVUBQAD | |||
FeIrTnV4CwABBOkDAAAEZAAAAFBLAQIXAwoAAAAAAA2ldjsAAAAAAAAAAAAAAAAHAA0AAAAAAAAA | |||
EADtQUkCAABjaHJvbWUvVVQFAAOpkwlLVXgAAFBLAQIXAwoAAAAAAFiYPzwAAAAAAAAAAAAAAAAP | |||
AA0AAAAAAAAAEADtQYMCAABjaHJvbWUvY29udGVudC9VVAUAA8fFZUtVeAAAUEsBAh4DFAAAAAgA | |||
9Hn4PiBcLgvqAwAAYgkAABwAGAAAAAAAAQAAAO2BxQIAAGNocm9tZS9jb250ZW50L3BiZGlzYWJs | |||
ZS54dWxVVAUAA/waLE51eAsAAQTpAwAABGQAAABQSwECHgMUAAAACACEWfg+CgYuAncBAADsAgAA | |||
HAAYAAAAAAABAAAA7YEFBwAAY2hyb21lL2NvbnRlbnQvcGJkaXNhYmxlLmNzc1VUBQAD5+ErTnV4 | |||
CwABBOkDAAAEZAAAAFBLBQYAAAAABgAGAOsBAADSCAAAAAA= | |||
</pre> | </pre> | ||
Revision as of 13:19, 24 July 2011
Here is a simple extension to disable the "Tools -> Start Private Browsing" menu entry and the "Tools > Clear Recent History" menu entry in Firefox 3.5/6.
The extension hides these menu entries and also disables their shortcut keys and should prevent Firefox from entering Private Browsing mode. The CSS code (chrome://pbdisable/content/pbdisable.css) in the extension also hides "Tools -> Options -> Privacy -> Automatically start Firefox in a private browsing session" and the History setting. You can copy that code to userChrome.css if you want these entries hidden if the extension is disabled. Current Firefox versions still process code in userChrome.css if started in Safe_mode. Keep in mind that removing or disabling "Private Browsing" will not make it impossible to delete private data like visited websites (history) or cache. It is possible to clear the cache via "Tools -> Options -> Advanced -> Network" and to clear history in the Library and History sidebar. See also [1]
Private Browsing toggle test
You can copy and paste this code in the "Tools > Error Console" to test if it is possible to toggle Private Browsing mode before and after you have installed the extension. It should not be possible, but what Firefox shows can be deceiving as it looks a bit buggy to me. You can check if new history is still kept.
var Cc = Components.classes, Ci = Components.interfaces; var pbs = Cc["@mozilla.org/privatebrowsing;1"].getService(Ci.nsIPrivateBrowsingService); var prs = Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService); var oldPB = pbs.privateBrowsingEnabled, newPB; if (prs.confirm(null, "Private Browsing", "PB is "+((pbs.privateBrowsingEnabled)?"on":"off"))) { pbs.privateBrowsingEnabled = !pbs.privateBrowsingEnabled; prs.alert(null, "Private Browsing", "PB is " + ((newPB=pbs.privateBrowsingEnabled)?"on":"off") + ((oldPB==newPB)?' (failed)':'')); }
Lock prefs with mozilla.cfg
You can lock some history prefs and reset pref browser.privatebrowsing.autostart to false with this version of the file mozilla.cfg.
Copy and paste the full DATA code in the location bar and press the Enter key. Save the file as mozilla.cfg (updated Feb 23, 2010) and copy the file to the Firefox program folder.
data:application/octet-stream;base64, PDwaF31/cnM1L29/fISAcn87fX92g26Bcm9/fISAdnt0O26CgXyAgW5/gS85LXNueYByNkgaF3l8 cHhdf3JzNS9vf3yEgHJ/O3V2gIF8f4ZscoV9dn9ybHFuhoAvOS0+RT02SBoXeXxweF1/cnM1L29/ fISAcn87dXaAgXx/hmxyhX12f3JscW6GgGx6dnsvLTlGPTZIGhd5fHB4XX9yczUvfXlucHKAO3V2 gIF8f4Y7cntub3lycS85LYF/gnI2SBoXeXxweF1/cnM1L31/doNucIY7cHlybn9ce2B1goFxfIR7 O3V2gIF8f4YvOS1zbnmAcjZIGhd5fHB4XX9yczUvfX92g25whjtwfXE7dXaAgXx/hi85LXNueYBy NkgaF3l8cHhdf3JzNS99f3aDbnCGO4Bue3aBdodyO4Bue3aBdodyXHtgdYKBcXyEey85LXNueYBy NkgaFw==
You need to create a file local-settings.js with this line:
pref("general.config.filename", "mozilla.cfg");
Copy the file local-settings.js to the grefprefs folder or the defaults\pref folder in the Firefox program folder.
Prefs that are locked show as italic with Status is Locked on the about:config page and can't be changed.
For full instructions, see Locking_preferences
Extension code for pbdisable
Copy and paste the full DATA code in the location bar and press the Enter key. Save the file as pbdisable-1.5-fx.xpi (updated Jul 24, 2011)
You can install the extension via "File > Open File" or by dragging the file in a Firefox window.
You can move the extensions folder (pbdisable@mozillazine.org) from the extensions folder in the Profile Folder to the %AppData%\Mozilla\extensions\{ec8030f7-c20a-464f-9b0e-13a3a9e97384} folder or to the extensions folder in the Firefox program folder to make the extension work in all Firefox profiles. If you do that then you can't uninstall, but you can disable the extension. You can also drop the XPI file in that folder and the extension will be installed on the next start of Firefox. You may have to rename the extension to pbdisable@mozillazine.org.xpi to make that work [2].
data:application/octet-stream;base64, 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
Byte Shift JavaScript
You can use this JavaScript program to encode mozila.cfg.txt to mozilla.cfg and decode mozila.cfg to mozilla.cfg.txt.
/* * Paste this file into Firefox's JavaScript console and click the Evaluate button to run the script - dickvl@kb.mozillazine.org * use a byte shift of 13 to encode the file mozilla.cfg.txt to mozilla.cfg * use a byte shift of -13 to decode mozilla.cfg to mozilla.cfg.txt */ (function(){ var Cc = Components.classes; var Ci = Components.interfaces; var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); var streamIO = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream); var input,output='',i,s,sV=13; fp.init(window, "", fp.modeOpen); fp.appendFilter("", "*.txt; *.cfg"); if (fp.show() == fp.returnCancel) return; stream.init(fp.file, 0x01, 0444, null); streamIO.init(stream); input = streamIO.read(stream.available()); streamIO.close(); stream.close(); if((s=prompt('Byte Shift value (13 to encode and -13 to decode):','13'))!=null){ sV=parseInt(s,10); for(i=0;i<input.length;i++){output+=String.fromCharCode(input.charCodeAt(i)+sV)} fp.init(window,"",Ci.nsIFilePicker.modeSave); fp.defaultString="mozilla.cfg"; if (fp.show() == fp.returnCancel) return; var stream=Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream); stream.init(fp.file,0x04|0x08,0644,0); stream.write(output,output.length); stream.close(); } })();