Horst Scheuer

Ein Blog zu Technik, Internet & mehr

Fotos rund um das Thema Notebook, FritzBox und Android Tablet

FirefoxStarter

Diejenigen, die schon seit ewigen Zeiten hier mitlesen, wissen es. Es gab eine Zeit, da hatte ich hier einen portablen Firefox am Start. Ich meine eine Variante von Firefox, die von einem USB-Stick gestartet werden konnte und beim Schließen keine Reste auf dem Wirtsrechner hinterließ. Irgendwann habe ich das Projekt eingestellt. Der Virenscanner meinte damals, es wäre ein Virus und ich hatte das Interesse verloren.

Jetzt habe ich beim Stöbern durch meine Mails dieses Script aus dem Jahr 2009 gefunden. Ich biete es hier, so wie es ist, an. Dieser Starter wurde schon ewig nicht mehr genutzt. Ob die Code-Zeilen noch funktionieren, weiß ich nicht.

/*
@file:    FirefoxStarter
@version: 3.0.0.0
@author:  Horst Scheuer <horstscheuer.net />
desc:     startet Mozilla Firefox in einer portablen Version

Dies ist freie Software, die Sie unter Bedingungen der Creative Commons weiter-
geben dürfen. Infos unter http://creativecommons.org/licenses/by-sa/3.0/de/ 
*/

; Einstellungen ****************************************************************
#NoTrayIcon
#SingleInstance ignore
#LTrim

TheError = 0
HostProfileExist = 0
HostProfileFirefoxExist = 0
HostProfileExtensionsExist = 0

; Pfade ************************************************************************
SplitPath, A_ScriptFullPath, ScriptFileName, ScriptDir, ScriptExtension, ScriptNameNoExt, ScriptDrive

PortableProgDir = %ScriptDir%\firefox
PortableProfDir = %ScriptDir%\profil


; Prüfungen ********************************************************************
; mobile Pfade -----------------------------------------------------------------
IfNotExist, %PortableProgDir%
{
  MsgBox, 0, %ScriptNameNoExt% - Abbruch, Das Programmverzeichnis '%PortableProgDir%' fehlt!  
  ExitApp
}

IfNotExist, %PortableProfDir%
{
  FileCreateDir, %PortableProfDir%  
  If ErrorLevel  
  {
    MsgBox, 0, %ScriptNameNoExt% - Abbruch, Kann Profilverzeichnis '%PortableProfDir%' nicht erstellen!  
    ExitApp
  }
}

; Profil des Wirtsrechners -----------------------------------------------------
IfExist, %A_AppData%\Mozilla
  HostProfileExist = 1    

IfExist, %A_AppData%\Mozilla\Firefox
  HostProfileFirefoxExist = 1  

IfExist, %A_AppData%\Mozilla\Extensions
  HostProfileExtensionsExist = 1  

; wird Profil bereits benutzt? -------------------------------------------------
IfExist, %PortableProfDir%\parent.lock
{
  MsgBox, 0, %ScriptNameNoExt% - Abbruch, Das Profil von %ScriptNameNoExt% wird bereits genutzt! 
  ExitApp  
}

; Änderungen an Firefox ********************************************************
; Crash Reporter ---------------------------------------------------------------
IniWrite, 0, %PortableProgDir%\application.ini, Crash Reporter, Enabled 

; user.js ----------------------------------------------------------------------
IfNotExist, %PortableProfDir%\user.js
  FileAppend
  (
  /*
  file: user.js
  (c) 2009 Horst Scheuer <HorstScheuer.net />
  
  Diese Datei wurde von %ScriptNameNoExt% erzeugt. Sie enthält Einstellungen für 
  die portable Version von Firefox. Mehr zu dem Thema unter horstscheuer.net
  */
  
  user_pref("browser.cache.disk.capacity", 0);
  user_pref("browser.download.useDownloadDir", false);
  user_pref("browser.shell.checkDefaultBrowser", false);
  user_pref("app.update.enabled", false); 
  ), %PortableProfDir%\user.js
  
; compreg.dat löschen **********************************************************
FileDelete, %PortableProfDir%\compreg.dat

; Firefox starten **************************************************************
StringReplace, PortableProfDir, PortableProfDir, \, \\, All
RunWait, %PortableProgDir% -profile "%PortableProfDir%" -no-remote

; Profilordner auf Wirtsrechner löschen ****************************************
If (HostProfileFirefoxExist = 0)
{
  FileRemoveDir, %A_AppData%\Mozilla\Firefox
  
  If ErrorLevel
    TheError = 1
}

If (HostProfileExtensionsExist = 0)
{ 
  FileRemoveDir, %A_AppData%\Mozilla\Extensions
  
  If ErrorLevel
    TheError = 1
} 

If (HostProfileExist = 0)
{ 
  FileRemoveDir, %A_AppData%\Mozilla
  
  If ErrorLevel
    TheError = 1
}

; TrayTip  *********************************************************************
If (TheError = 1)
{
  Menu, Tray, Icon
  Menu, Tray, NoStandard
  Menu, Tray, Add, Beenden, Quit
  
  TrayTip, %ScriptNameNoExt% - Fehler,
    (
      Sorry, Fehler beim Löschen von Ordner des Wirtsrechners
    ),,
    Sleep, 10000    
}

Der Code ist ein AHK-Script. AHK ist eine Abkürzung und bedeutet AutoHotkey. Eine Website dazu findet ihr hier. Ich hatte es damals als EXE-Datei angeboten. Es gibt, ich denke auch heute noch, Tools um aus diesem Script eine ausführbare Datei zu machen. Obige Seite gibt euch dazu Antworten auf eure Fragen.