This enables the jpackage to launch almost any browser as an I2P-enabled browser. It will choose Firefox variants first, Chromium variants second, and falls back to setting environment variables before spawning the browser process. It also removes the Firefox dependency from the NSIS build
This commit is contained in:
@@ -77,9 +77,9 @@ public class WinLauncher {
|
|||||||
|
|
||||||
if (i2pIsRunning()) {
|
if (i2pIsRunning()) {
|
||||||
logger.warning("I2P is already running");
|
logger.warning("I2P is already running");
|
||||||
I2PFirefox i2pFirefox = new I2PFirefox();
|
I2PBrowser i2pBrowser = new I2PBrowser();
|
||||||
System.out.println("I2PFirefox");
|
System.out.println("i2pBrowser");
|
||||||
i2pFirefox.launch(privateBrowsing);
|
i2pBrowser.launch(privateBrowsing);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -14,21 +14,14 @@ UniCode true
|
|||||||
!include i2pbrowser-jpackage.nsi
|
!include i2pbrowser-jpackage.nsi
|
||||||
!include FindProcess.nsh
|
!include FindProcess.nsh
|
||||||
|
|
||||||
var FFINSTEXE
|
|
||||||
var FFNONTORINSTEXE
|
|
||||||
var I2PINSTEXE
|
var I2PINSTEXE
|
||||||
Var PARENTOPTIONS
|
Var PARENTOPTIONS
|
||||||
|
|
||||||
SetOverwrite on
|
SetOverwrite on
|
||||||
!define FFINSTEXE
|
|
||||||
!define FFNONTORINSTEXE
|
|
||||||
!define FFINSTEXE32 "$PROGRAMFILES32\Mozilla Firefox\"
|
|
||||||
!define FFINSTEXE64 "$PROGRAMFILES64\Mozilla Firefox\"
|
|
||||||
|
|
||||||
!define I2PINSTEXE
|
!define I2PINSTEXE
|
||||||
!define I2PINSTEXE_USERMODE "$LOCALAPPDATA\i2p"
|
!define I2PINSTEXE_USERMODE "$LOCALAPPDATA\i2p"
|
||||||
|
|
||||||
|
|
||||||
!define RAM_NEEDED_FOR_64BIT 0x80000000
|
!define RAM_NEEDED_FOR_64BIT 0x80000000
|
||||||
|
|
||||||
InstallDir "$PROGRAMFILES64\${COMPANYNAME}\${APPNAME}"
|
InstallDir "$PROGRAMFILES64\${COMPANYNAME}\${APPNAME}"
|
||||||
@@ -129,12 +122,6 @@ PageEx license
|
|||||||
licensetext "${LICENSE_TITLE}"
|
licensetext "${LICENSE_TITLE}"
|
||||||
licensedata "licenses\LICENSE.txt"
|
licensedata "licenses\LICENSE.txt"
|
||||||
PageExEnd
|
PageExEnd
|
||||||
PageEx directory
|
|
||||||
dirtext "${FIREFOX_MESSAGE}"
|
|
||||||
dirvar $FFINSTEXE
|
|
||||||
dirvar $FFNONTORINSTEXE
|
|
||||||
PageCallbacks firefoxDetect
|
|
||||||
PageExEnd
|
|
||||||
PageEx directory
|
PageEx directory
|
||||||
dirtext "${I2P_MESSAGE}"
|
dirtext "${I2P_MESSAGE}"
|
||||||
dirvar $I2PINSTEXE
|
dirvar $I2PINSTEXE
|
||||||
@@ -142,7 +129,7 @@ PageEx directory
|
|||||||
PageExEnd
|
PageExEnd
|
||||||
Page instfiles
|
Page instfiles
|
||||||
|
|
||||||
!include i2pbrowser-mozcompat.nsi
|
#!include i2pbrowser-mozcompat.nsi
|
||||||
|
|
||||||
Function .onInit
|
Function .onInit
|
||||||
StrCpy $I2PINSTEXE "${I2PINSTEXE_USERMODE}"
|
StrCpy $I2PINSTEXE "${I2PINSTEXE_USERMODE}"
|
||||||
@@ -153,64 +140,32 @@ Function .onInit
|
|||||||
StrCpy $I2PINSTEXE "${I2PINSTEXE_USERMODE}"
|
StrCpy $I2PINSTEXE "${I2PINSTEXE_USERMODE}"
|
||||||
${EndIf}
|
${EndIf}
|
||||||
!insertmacro MUI_LANGDLL_DISPLAY
|
!insertmacro MUI_LANGDLL_DISPLAY
|
||||||
Call ShouldInstall64Bit
|
#Call ShouldInstall64Bit
|
||||||
${If} $0 == 1
|
|
||||||
${If} ${FileExists} "${FFINSTEXE64}\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "${FFINSTEXE64}"
|
|
||||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE64}"
|
|
||||||
${ElseIf} ${FileExists} "${FFINSTEXE32}\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "${FFINSTEXE32}"
|
|
||||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE32}"
|
|
||||||
${EndIf}
|
|
||||||
${If} ${FileExists} "$PROFILE\OneDrive\Desktop\Tor Browser\Browser\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "$PROFILE\OneDrive\Desktop\Tor Browser\Browser\"
|
|
||||||
${EndIf}
|
|
||||||
${If} ${FileExists} "$PROFILE\Desktop\Tor Browser\Browser\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "$PROFILE\Desktop\Tor Browser\Browser\"
|
|
||||||
${EndIf}
|
|
||||||
${Else}
|
|
||||||
${If} ${FileExists} "${FFINSTEXE32}\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "${FFINSTEXE32}"
|
|
||||||
StrCpy $FFNONTORINSTEXE "${FFINSTEXE32}"
|
|
||||||
${EndIf}
|
|
||||||
${If} ${FileExists} "$PROFILE\OneDrive\Desktop\Tor Browser\Browser\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "$PROFILE\OneDrive\Desktop\Tor Browser\Browser\"
|
|
||||||
${EndIf}
|
|
||||||
${If} ${FileExists} "$PROFILE\Desktop\Tor Browser\Browser\firefox.exe"
|
|
||||||
StrCpy $FFINSTEXE "$PROFILE\Desktop\Tor Browser\Browser\"
|
|
||||||
${EndIf}
|
|
||||||
${EndIf}
|
|
||||||
# look for user installs
|
# look for user installs
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function firefoxDetect
|
|
||||||
${If} ${FileExists} "$FFINSTEXE\firefox.exe"
|
|
||||||
Abort directory
|
|
||||||
${EndIf}
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function routerDetect
|
Function routerDetect
|
||||||
createDirectory $I2PINSTEXE
|
createDirectory $I2PINSTEXE
|
||||||
SetOutPath $I2PINSTEXE
|
SetOutPath $I2PINSTEXE
|
||||||
File /nonfatal /a /r "I2P\"
|
File /a /r "I2P\"
|
||||||
File /nonfatal /a /r "I2P\I2P.exe"
|
File /nonfatal /a /r "I2P\I2P.exe"
|
||||||
File /nonfatal "I2P\config\jpackaged"
|
File "I2P\config\jpackaged"
|
||||||
|
|
||||||
createDirectory "$I2PINSTEXE\"
|
createDirectory "$I2PINSTEXE\"
|
||||||
SetOutPath "$I2PINSTEXE\"
|
SetOutPath "$I2PINSTEXE\"
|
||||||
IfFileExists $I2PINSTEXE\router.config +2 0
|
IfFileExists $I2PINSTEXE\router.config +2 0
|
||||||
File /nonfatal /a /r "I2P/config/router.config"
|
File /a /r "I2P/config/router.config"
|
||||||
IfFileExists $I2PINSTEXE\clients.config +2 0
|
IfFileExists $I2PINSTEXE\clients.config +2 0
|
||||||
File /nonfatal /a /r "I2P/config/clients.config"
|
File /a /r "I2P/config/clients.config"
|
||||||
IfFileExists $I2PINSTEXE\wrapper.config +2 0
|
IfFileExists $I2PINSTEXE\wrapper.config +2 0
|
||||||
File /nonfatal /a /r "I2P/config/wrapper.config"
|
File /a /r "I2P/config/wrapper.config"
|
||||||
IfFileExists $I2PINSTEXE\eepsite +2 0
|
IfFileExists $I2PINSTEXE\eepsite +2 0
|
||||||
File /nonfatal /a /r "I2P/config/eepsite"
|
File /a /r "I2P/config/eepsite"
|
||||||
IfFileExists $I2PINSTEXE\webapps +2 0
|
IfFileExists $I2PINSTEXE\webapps +2 0
|
||||||
File /nonfatal /a /r "I2P/config/webapps"
|
File /a /r "I2P/config/webapps"
|
||||||
File /nonfatal /a /r "I2P/config/certificates"
|
File /a /r "I2P/config/certificates"
|
||||||
File /nonfatal /a /r "I2P/config/geoip"
|
File /a /r "I2P/config/geoip"
|
||||||
File /nonfatal /a /r "I2P/config/i2ptunnel.config"
|
File /a /r "I2P/config/i2ptunnel.config"
|
||||||
|
|
||||||
Abort directory
|
Abort directory
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
@@ -236,27 +191,29 @@ ${If} ${Silent}
|
|||||||
${If} ${Silent}
|
${If} ${Silent}
|
||||||
ReadEnvStr $0 OLD_I2P_VERSION
|
ReadEnvStr $0 OLD_I2P_VERSION
|
||||||
${If} $0 < ${I2P_VERSION}
|
${If} $0 < ${I2P_VERSION}
|
||||||
rmDir /r $I2PINSTEXE/app
|
call routerDetect
|
||||||
|
/*rmDir /r $I2PINSTEXE/app
|
||||||
rmDir /r $I2PINSTEXE/runtime
|
rmDir /r $I2PINSTEXE/runtime
|
||||||
File /nonfatal /a /r "I2P\"
|
File /a /r "I2P\"
|
||||||
File /nonfatal "I2P\config\jpackaged"
|
File "I2P\config\jpackaged"
|
||||||
|
|
||||||
createDirectory "$I2PINSTEXE\"
|
createDirectory "$I2PINSTEXE\"
|
||||||
SetOutPath "$I2PINSTEXE\"
|
SetOutPath "$I2PINSTEXE\"
|
||||||
File /nonfatal /a /r "I2P/config/certificates"
|
File /a /r "I2P/config/certificates"
|
||||||
File /nonfatal /a /r "I2P/config/geoip"
|
File /a /r "I2P/config/geoip"*/
|
||||||
|
|
||||||
${EndIf}
|
${EndIf}
|
||||||
${Else}
|
${Else}
|
||||||
rmDir /r $I2PINSTEXE/app
|
call routerDetect
|
||||||
|
/*rmDir /r $I2PINSTEXE/app
|
||||||
rmDir /r $I2PINSTEXE/runtime
|
rmDir /r $I2PINSTEXE/runtime
|
||||||
File /nonfatal /a /r "I2P\"
|
File /a /r "I2P\"
|
||||||
File /nonfatal "I2P\config\jpackaged"
|
File "I2P\config\jpackaged"
|
||||||
|
|
||||||
createDirectory "$I2PINSTEXE\"
|
createDirectory "$I2PINSTEXE\"
|
||||||
SetOutPath "$I2PINSTEXE\"
|
SetOutPath "$I2PINSTEXE\"
|
||||||
File /nonfatal /a /r "I2P/config/certificates"
|
File /a /r "I2P/config/certificates"
|
||||||
File /nonfatal /a /r "I2P/config/geoip"
|
File /a /r "I2P/config/geoip"*/
|
||||||
|
|
||||||
${EndIf}
|
${EndIf}
|
||||||
${EndIf}
|
${EndIf}
|
||||||
@@ -308,7 +265,7 @@ ${If} ${Silent}
|
|||||||
SetOutPath "$I2PAPPDATA"
|
SetOutPath "$I2PAPPDATA"
|
||||||
|
|
||||||
IfFileExists "$LOCALAPPDATA\I2P\eepsite\docroot" +2 0
|
IfFileExists "$LOCALAPPDATA\I2P\eepsite\docroot" +2 0
|
||||||
File /nonfatal /a /r "I2P\eepsite"
|
File /a /r "I2P\eepsite"
|
||||||
|
|
||||||
createDirectory "$I2PINSTEXE"
|
createDirectory "$I2PINSTEXE"
|
||||||
SetOutPath "$I2PINSTEXE"
|
SetOutPath "$I2PINSTEXE"
|
||||||
|
|||||||
Reference in New Issue
Block a user