User:Dickvl/Private Browsing disable: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
(→‎Extension code for pbdisable: updated extension code to 1.5)
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
==Private Browsing toggle test==
==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.
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.
<pre>var pbs = Components.classes["@mozilla.org/privatebrowsing;1"].getService(Components.interfaces.nsIPrivateBrowsingService);
<pre>var Cc = Components.classes, Ci = Components.interfaces;
var oldPM = pbs.privateBrowsingEnabled;
var pbs = Cc["@mozilla.org/privatebrowsing;1"].getService(Ci.nsIPrivateBrowsingService);
var newPM;
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;
pbs.privateBrowsingEnabled = !pbs.privateBrowsingEnabled;
void(alert('PB is '+((newPM=pbs.privateBrowsingEnabled)?'on':'off')+((oldPM==newPM)?' (failed)':'')));
prs.alert(null, "Private Browsing", "PB is " + ((newPB=pbs.privateBrowsingEnabled)?"on":"off") + ((oldPB==newPB)?' (failed)':''));
}
</pre>
</pre>


Line 30: Line 33:


==Extension code for pbdisable==
==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)<br>
Copy and paste the full DATA code in the location bar and press the Enter key. Save the file as '''pbdisable-1.6-fx.xpi''' (updated Aug 5, 2011)<br>
You can install the extension via "File > Open File" or by dragging the file in a Firefox window.<br>
You can install the extension via "File > Open File" or by dragging the file in a Firefox window.<br>
You can move the extensions folder (pbdisable@mozillazine.org) from the extensions folder in the [[Profile_folder_-_Firefox|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 [https://developer.mozilla.org/en/Installing_extensions].<br><!-- http://ehsanakhgari.org/blog/2008-11-08/prepare-your-add-private-browsing -->
You can move the extensions folder (pbdisable@mozillazine.org) from the extensions folder in the [[Profile_folder_-_Firefox|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 [https://developer.mozilla.org/en/Installing_extensions].<br><!-- http://ehsanakhgari.org/blog/2008-11-08/prepare-your-add-private-browsing -->
<pre>data:application/octet-stream;base64,
<pre>data:application/octet-stream;base64,
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
CAAIAKYCAAB2DAAAAAA=
</pre>
</pre>



Latest revision as of 08:21, 5 August 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.6-fx.xpi (updated Aug 5, 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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
CAAIAKYCAAB2DAAAAAA=

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();
 }
})();