Compare commits

..

12 Commits

21 changed files with 117 additions and 295 deletions

3
.gitignore vendored
View File

@@ -5,4 +5,5 @@ build
i2pversion_override
*.crl
*.crt
*.pem
*.pem
*.p12

View File

@@ -8,7 +8,6 @@ preset=`rm .version; make .version`
include .version
PROFILE_VERSION=$(MAJOR).$(MINOR).$(BUILD)
OS=`uname -s | tr '[:upper:]' '[:lower:]'`
all: .version install.exe
@@ -35,7 +34,7 @@ help: .version
@echo "$(MAJOR).$(MINOR).$(BUILD)"
@echo "$(preset)"
prep: profile.tgz app-profile.tgz build/licenses build/I2P build/I2P/config launchers
prep: profile.tgz app-profile.tgz profile build/licenses build/I2P build/I2P/config launchers
cp src/nsis/*.nsi build
cp src/nsis/*.nsh build
cp src/icons/*.ico build
@@ -93,18 +92,12 @@ build/licenses: build
unix2dos build/licenses/LICENSE.index
clean:
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config/* *.su3 .version
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config *.su3 .version
build:
@echo "creating build directory"
mkdir -p build
portable-profile: .version I2P build/I2P
make profile.tgz
cp -rv build/profile build/portable-profile-$(OS)
cp src/win/i2pbrowser.bat build/portable-profile-$(OS)
cp src/win/i2pbrowser-private.bat build/portable-profile-$(OS)
profile: build/profile/user.js build/profile/prefs.js build/profile/bookmarks.html build/profile/storage-sync.sqlite copy-xpi
profile.tgz: .version profile
@@ -131,13 +124,6 @@ copy-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.git
cp build/HTTPSEverywhere.xpi "build/profile/extensions/https-everywhere-eff@eff.org.xpi"
cp build/i2ppb@eyedeekay.github.io.xpi build/profile/extensions/i2ppb@eyedeekay.github.io.xpi
portable-app-profile: .version I2P build/I2P
make app-profile.tgz
cp -rv build/app-profile build/portable-app-profile-$(OS)
cp src/win/i2pbrowser.bat build/portable-app-profile-$(OS)
cp src/win/i2pbrowser-private.bat build/portable-app-profile-$(OS)
cp src/win/i2pconfig.bat build/portable-app-profile-$(OS)
app-profile: .version build/app-profile/user.js build/app-profile/prefs.js build/app-profile/chrome/userChrome.css build/app-profile/bookmarks.html build/app-profile/storage-sync.sqlite copy-app-xpi
app-profile.tgz: app-profile
@@ -277,6 +263,7 @@ $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools:
su3: $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools
$(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools -name "I2P-Profile-Installer-$(PROFILE_VERSION)-signed" -signer "$(SIGNER)" -version "$(I2P_VERSION)"
java -cp "$(HOME)/i2p/lib/*" net.i2p.crypto.SU3File sign -c ROUTER -f EXE i2pbrowser.zip I2P-Profile-Installer-$(PROFILE_VERSION)-signed.su3 "$(HOME)/.i2p-plugin-keys/news-su3-keystore.ks" "$(I2P_VERSION)" $(SIGNER)
docker:
docker build -t geti2p/i2p.firefox .
@@ -320,3 +307,27 @@ releases.json: torrent
@echo " }" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " }" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo "]" | tee -a ../i2p.newsxml/data/win/beta/releases.json
BLANK=`awk '! NF { print NR; exit }' changelog.txt`
I2P.zip: I2P-jpackage-windows-$(I2P_VERSION).zip
I2P-jpackage-windows-$(I2P_VERSION).zip:
zip I2P-jpackage-windows-$(I2P_VERSION).zip -r I2P
changelog:
head -n "$(BLANK)" changelog.txt
release-jpackage: I2P-jpackage-windows-$(I2P_VERSION).zip
head -n "$(BLANK)" changelog.txt | gothub release -p -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n i2p-jpackage-windows-$(I2P_VERSION) -d -; true
update-release-jpackage:
head -n "$(BLANK)" changelog.txt | gothub edit -p -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n i2p-jpackage-windows-$(I2P_VERSION) -d -; true
delete-release-jpackage:
gothub delete -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION); true
upload-release-jpackage:
gothub upload -R -u eyedeekay -r i2p -t i2p-jpackage-windows-$(I2P_VERSION) -n "i2p-jpackage-windows-$(I2P_VERSION)" -f "./I2P-jpackage-windows-$(I2P_VERSION).zip"
jpackage-release: release-jpackage upload-release-jpackage

View File

@@ -93,10 +93,6 @@ with `sudo service i2p start` then you can run the script:
Including a jpackaged I2P Router(EXPERIMENTAL)
----------------------------------------------
It is strongly advised that you use an up-to-date JDK 17 to build your
jpackage! Releases will be built with an up-to-date OpenJDK LTS. Builds occur
on a Windows 10 laptop, hashed, and transferred to a Linux laptop for signing.
In order to include a jpackaged(dependency-free) I2P router in the Profile
Bundle you will need to build the jpackaged I2P router as an "App Image" on
a Windows system and place it into a directory called `I2P` in your `i2p.firefox`

View File

@@ -13,6 +13,10 @@ if [ "$JAVA" -lt "14" ]; then
echo "Java 14+ must be used to compile with jpackage, java is $JAVA"
exit 1
fi
if [ "$JAVA" -lt "17" ]; then
echo "It is highly recommended that you use Java 17+ to build release packages"
sleep 5s
fi
sleep 2s
if [ -z "${JAVA_HOME}" ]; then
@@ -55,6 +59,10 @@ echo "preparing to invoke jpackage for I2P version $I2P_VERSION"
"$JAVA_HOME"/bin/jpackage --type app-image --name I2P --app-version "$I2P_VERSION" \
--verbose \
--java-options "-Xmx512m" \
--java-options "--add-opens java.base/java.lang=ALL-UNNAMED" \
--java-options "--add-opens java.base/sun.nio.fs=ALL-UNNAMED" \
--java-options "--add-opens java.base/java.nio=ALL-UNNAMED" \
$JPACKAGE_OPTS \
--resource-dir build \
--java-options "--illegal-access=permit" \

View File

@@ -1,3 +1,45 @@
2021-11-1 idk
* HTTPS Everywhere will now self-disable on some Firefox versions. This is not
an issue since HTTPS Everywhere is deprecated in favor of Firefox built-in
HTTPS enforcement features.
* .bat Script: Detect location of C:\Program Files\I2P or
C\Program Files(x86)\I2P in launcher scripts
* NSIS changes
- Make launcher scripts static artifacts instead of generating them during
the install process
- If a jpackaged I2P router is present in $checkout/I2P, include it in an
installer.
- If a running installer doesn't find an I2P router in Program Files, install
the jpackaged I2P router. Mark it as jpackaged so we can quickly determine
from other applications.
* I2P in Private Browsing changes
- bugfix for `reset()` of dynamic theme
- bugfix for erroneous redirect/contain of mis-identified I2PSnark containers
- improve support for in-I2P HTTPS
- use global CSS on pageAction panels for HTTP, HTTPS, and Bittorrent(@sadie)
- improve support for I2PSnark web handler in HTTPS tabs
- icon update(@sadie)
- contain android-incompatible features so they won't be executed on Fennec
- translate into Spanish
- visually conceal/reveal features based on whether they are enabled/configured.
* I2P Jpackage
- support for building an I2P Jpackage has been added to the build system
Note that support is platform-specific, to build a Windows jpackage one must
use a Windows OS, to build a Linux jpackage one must use a Linux OS. Only
Windows jpackages are used for a release product.
- For information about how releases are built see README.md and UPDATES.md
- The jpackaged router has the following differences from mainline I2P:
- The jars are installed to a different directory.
- The native libraries are installed to a different directory
- The wrapper script is not installed and not used, and replaced by the
browser launcher.
- The I2P executable is %programfiles%/I2P/I2P.exe, command-line flags are not
compatible but configuration files are.
- wrapper.config is unused
- The built-by entry will reflect that idk built the package
- Use flags to achieve compatibility with plugins that use Reflection on Java
17 jpackages
2021-01-17 idk
* Use Local Application Data instead of Roaming application data for router.config file
* Use Roaming Application Daya only if a clients.config.d is present, indicating that the

2
debian/files vendored Normal file
View File

@@ -0,0 +1,2 @@
i2p-firefox-profile_1.05.0-1_all.deb net optional
i2p-firefox-profile_1.05.0-1_amd64.buildinfo net optional

View File

@@ -3,8 +3,8 @@
#Comment this out to build from an alternate branch or
# the tip of the master branch.
I2P_VERSION=1.5.0
export I2P_VERSION=1.5.0
I2P_VERSION=1.6.1
export I2P_VERSION=1.6.1
VERSION=i2p-"$I2P_VERSION"
export VERSION="$VERSION"

View File

@@ -26,13 +26,7 @@ import static net.i2p.update.UpdateType.*;
*/
public class WinLauncher {
private static WindowsUpdatePostProcessor wupp = new WindowsUpdatePostProcessor();
private static boolean portable;
public static void main(String[] args) throws Exception {
for (int i = 0; i < args.length; i++) {
if (args[i] == "portable") {
portable = true;
}
}
File programs = wupp.selectProgramFile();
if (!programs.exists())
programs.mkdirs();
@@ -95,7 +89,7 @@ public class WinLauncher {
}
private static File selectHome() { //throws Exception {
if (SystemVersion.isWindows() && !portable) {
if (SystemVersion.isWindows()) {
File home = new File(System.getProperty("user.home"));
File appData = new File(home, "AppData");
File local = new File(appData, "Local");
@@ -106,7 +100,7 @@ public class WinLauncher {
} else {
File jrehome = new File(System.getProperty("java.home"));
File programs = new File(jrehome.getParentFile().getParentFile(), ".i2p");
System.out.println("portable jpackage wrapper started, using: " + programs + " as base config");
System.out.println("Linux portable jpackage wrapper started, using: " + programs + " as base config");
return programs.getAbsoluteFile();
}
}

View File

@@ -1,11 +0,0 @@
should_publish=false
proxy_host=127.0.0.1
proxy_port=4444
update_delay=1
log=../log/addrbook_log.txt
last_modified=../log/addrbook_last_modified.txt
etags=../log/addrbook_etags.txt
subscriptions=subscriptions.txt
local_addressbook=userhosts.txt
router_addressbook=../hosts.txt
published_addressbook=../eepsite/hosts.txt

View File

@@ -1,15 +0,0 @@
clientApp.0.main=net.i2p.router.web.RouterConsoleRunner
clientApp.0.name=I2P Router Console
clientApp.0.args=7657 127.0.0.1 ./webapps/
clientApp.0.delay=0
clientApp.0.startOnLoad=true
clientApp.1.main=net.i2p.i2ptunnel.TunnelControllerGroup
clientApp.1.name=Application tunnels
clientApp.1.args=i2ptunnel.config
clientApp.1.delay=120
clientApp.1.startOnLoad=true
clientApp.2.main=net.i2p.apps.systray.UrlLauncher
clientApp.2.name=Open Router Console in web browser at startup
clientApp.2.args=http://127.0.0.1:7657/index.jsp
clientApp.2.delay=15
clientApp.2.startOnLoad=true

View File

@@ -1,119 +0,0 @@
tunnel.0.description=HTTP proxy for browsing eepsites and the web
tunnel.0.i2cpHost=127.0.0.1
tunnel.0.i2cpPort=7654
tunnel.0.interface=127.0.0.1
tunnel.0.listenPort=4444
tunnel.0.name=I2P HTTP Proxy
tunnel.0.option.i2cp.closeIdleTime=1800000
tunnel.0.option.i2cp.closeOnIdle=false
tunnel.0.option.i2cp.delayOpen=false
tunnel.0.option.i2cp.newDestOnResume=false
tunnel.0.option.i2cp.reduceIdleTime=900000
tunnel.0.option.i2cp.reduceOnIdle=false
tunnel.0.option.i2cp.reduceQuantity=1
tunnel.0.option.i2p.streaming.connectDelay=1000
tunnel.0.option.inbound.backupQuantity=1
tunnel.0.option.inbound.length=2
tunnel.0.option.inbound.lengthVariance=0
tunnel.0.option.inbound.nickname=shared clients
tunnel.0.option.inbound.quantity=2
tunnel.0.option.outbound.backupQuantity=1
tunnel.0.option.outbound.length=2
tunnel.0.option.outbound.lengthVariance=0
tunnel.0.option.outbound.nickname=shared clients
tunnel.0.option.outbound.quantity=2
tunnel.0.option.persistentClientKey=false
tunnel.0.proxyList=false.i2p,blue.proxynet.i2p
tunnel.0.sharedClient=true
tunnel.0.startOnLoad=true
tunnel.0.type=httpclient
tunnel.1.description=IRC proxy to access the anonymous IRC network
tunnel.1.i2cpHost=127.0.0.1
tunnel.1.i2cpPort=7654
tunnel.1.interface=127.0.0.1
tunnel.1.listenPort=6668
tunnel.1.name=IRC Proxy
tunnel.1.option.i2cp.closeIdleTime=1200000
tunnel.1.option.i2cp.closeOnIdle=false
tunnel.1.option.i2cp.delayOpen=true
tunnel.1.option.i2cp.newDestOnResume=false
tunnel.1.option.i2cp.reduceIdleTime=600000
tunnel.1.option.i2cp.reduceOnIdle=true
tunnel.1.option.i2cp.reduceQuantity=1
tunnel.1.option.i2p.streaming.connectDelay=1000
tunnel.1.option.inbound.backupQuantity=0
tunnel.1.option.inbound.length=2
tunnel.1.option.inbound.lengthVariance=0
tunnel.1.option.inbound.nickname=IRC Proxy
tunnel.1.option.inbound.quantity=2
tunnel.1.option.outbound.backupQuantity=0
tunnel.1.option.outbound.length=2
tunnel.1.option.outbound.lengthVariance=0
tunnel.1.option.outbound.nickname=IRC Proxy
tunnel.1.option.outbound.quantity=2
tunnel.1.option.persistentClientKey=false
tunnel.1.privKeyFile=i2ptunnel1-privKeys.dat
tunnel.1.sharedClient=false
tunnel.1.startOnLoad=true
tunnel.1.targetDestination=irc.postman.i2p,irc.freshcoffee.i2p
tunnel.1.type=ircclient
tunnel.2.description=smtp server
tunnel.2.i2cpHost=127.0.0.1
tunnel.2.i2cpPort=7654
tunnel.2.interface=127.0.0.1
tunnel.2.listenPort=7659
tunnel.2.name=smtp.postman.i2p
tunnel.2.option.i2cp.closeIdleTime=1800000
tunnel.2.option.i2cp.closeOnIdle=false
tunnel.2.option.i2cp.delayOpen=true
tunnel.2.option.i2cp.newDestOnResume=false
tunnel.2.option.i2cp.reduceIdleTime=900000
tunnel.2.option.i2cp.reduceOnIdle=true
tunnel.2.option.i2cp.reduceQuantity=1
tunnel.2.option.i2p.streaming.connectDelay=1000
tunnel.2.option.inbound.backupQuantity=1
tunnel.2.option.inbound.length=2
tunnel.2.option.inbound.lengthVariance=0
tunnel.2.option.inbound.nickname=shared clients
tunnel.2.option.inbound.quantity=2
tunnel.2.option.outbound.backupQuantity=1
tunnel.2.option.outbound.length=2
tunnel.2.option.outbound.lengthVariance=0
tunnel.2.option.outbound.nickname=shared clients
tunnel.2.option.outbound.quantity=2
tunnel.2.option.persistentClientKey=false
tunnel.2.privKeyFile=i2ptunnel4-privKeys.dat
tunnel.2.sharedClient=true
tunnel.2.startOnLoad=true
tunnel.2.targetDestination=smtp.postman.i2p
tunnel.2.type=client
tunnel.3.description=pop3 server
tunnel.3.i2cpHost=127.0.0.1
tunnel.3.i2cpPort=7654
tunnel.3.interface=127.0.0.1
tunnel.3.listenPort=7660
tunnel.3.name=pop3.postman.i2p
tunnel.3.option.i2cp.closeIdleTime=1800000
tunnel.3.option.i2cp.closeOnIdle=false
tunnel.3.option.i2cp.delayOpen=false
tunnel.3.option.i2cp.newDestOnResume=false
tunnel.3.option.i2cp.reduceIdleTime=900000
tunnel.3.option.i2cp.reduceOnIdle=true
tunnel.3.option.i2cp.reduceQuantity=1
tunnel.3.option.i2p.streaming.connectDelay=1000
tunnel.3.option.inbound.backupQuantity=1
tunnel.3.option.inbound.length=2
tunnel.3.option.inbound.lengthVariance=0
tunnel.3.option.inbound.nickname=shared clients
tunnel.3.option.inbound.quantity=2
tunnel.3.option.outbound.backupQuantity=1
tunnel.3.option.outbound.length=2
tunnel.3.option.outbound.lengthVariance=0
tunnel.3.option.outbound.nickname=shared clients
tunnel.3.option.outbound.quantity=2
tunnel.3.option.persistentClientKey=false
tunnel.3.privKeyFile=i2ptunnel5-privKeys.dat
tunnel.3.sharedClient=true
tunnel.3.startOnLoad=true
tunnel.3.targetDestination=pop.postman.i2p
tunnel.3.type=client

View File

@@ -1,10 +0,0 @@
logger.format=d p [t] c: m
logger.dateFormat=HH:mm:ss.SSS
logger.displayOnScreen=TRUE
logger.logFileName=logs/log-#.txt
logger.logFileSize=10m
logger.logRotationLimit=2
logger.defaultLevel=WARN
logger.minimumOnScreenLevel=CRIT
logger.consoleBufferSize=20
# log limit overrides:

View File

@@ -1,27 +0,0 @@
# NOTE: This I2P config file must use UTF-8 encoding
i2np.bandwidth.inboundBurstKBytes=22520
i2np.bandwidth.inboundBurstKBytesPerSecond=128
i2np.bandwidth.inboundKBytesPerSecond=128
i2np.bandwidth.outboundBurstKBytes=22520
i2np.bandwidth.outboundBurstKBytesPerSecond=128
i2np.bandwidth.outboundKBytesPerSecond=128
i2np.laptopMode=false
i2np.ntcp.autoip=true
i2np.ntcp.enable=true
i2np.udp.addressSources=local,upnp,ssu
i2np.upnp.enable=true
i2p.dir.config=.
prng.buffers=16
router.dynamicKeys=false
router.maxParticipatingTunnels=150
router.newsRefreshFrequency=86400000
router.sharePercentage=80
router.updatePolicy=notify
router.updateProxyHost=127.0.0.1
router.updateProxyPort=4444
router.updateThroughProxy=true
router.updateURL=http://echelon.i2p/i2p/i2pupdate.sud,http://stats.i2p/i2p/i2pupdate.sud,http://www.i2p2.i2p/_static/i2pupdate.sud,http://update.postman.i2p/i2pupdate.sud
router.updateUnsigned=false
routerconsole.lang=en
routerconsole.summaryRefresh=30
time.disabled=false

View File

@@ -1,14 +0,0 @@
# NOTE: The system tray control currently only works on Windows and KDE.
# The filename (with full path if needed) of the browser to be used by the
# system tray control to launch the router console. You may also append command
# line parameters like so:
#
# browser=/usr/bin/opera -newpage
#
# If you set this value to 'default', systray will attempt to identify and use
# your system's default browser.
browser=default
# The port the router console listens on.
port=7657

View File

@@ -1,4 +0,0 @@
# NOTE: This I2P config file must use UTF-8 encoding
webapps.addressbook.startOnLoad=true
webapps.i2ptunnel.startOnLoad=true
webapps.routerconsole.startOnLoad=true

View File

@@ -1 +1 @@
1.05.0
1.06.1

View File

@@ -1 +1 @@
!define I2P_VERSION 0.9.50
!define I2P_VERSION 1.6.1

View File

@@ -1,3 +1,3 @@
!define VERSIONMAJOR 1
!define VERSIONMINOR 05
!define VERSIONBUILD 0
!define VERSIONMINOR 06
!define VERSIONBUILD 1

View File

@@ -1 +1 @@
1.05.0
1.06.1

View File

@@ -1,58 +1,42 @@
@echo on
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%ProgramFiles%\I2P\"
set "I2PProfilePath=%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p"
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%I2PProfilePath%\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%I2PProfilePath%" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
set "I2PProfilePath=%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
if exist "%ProgramFiles(x86)%\I2P\" {
if exist "%ProgramFiles(x86)%\I2P" (
set "I2PPath=%ProgramFiles(x86)%\I2P"
set "I2PProfilePath=%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p"
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%I2PProfilePath%\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%I2PProfilePath%" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
set "I2PProfilePath=%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
}
set "scriptPath=%~dp0"
if exist "%scriptPath%\I2P\" (
set "I2PPath=%scriptPath%\I2P\"
set "I2PProfilePath=%scriptPath%\"
set "PortableArg=portable"
)
if exist "%I2PPath%\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" "%PortableArg%"
if exist "%ProgramFiles%\I2P\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe"
) else (
start "i2p" "%I2PPath%\i2p.exe"
)
timeout /t 3
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
if exist "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" (
start "i2pbrowser" "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
start "i2pbrowser" "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -private-window about:blank
exit
)
if exist "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" (
start "i2pbrowser" "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
start "i2pbrowser" "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -private-window about:blank
exit
)
if exist "%ProgramFiles%\Mozilla Firefox\firefox.exe" (
start "i2pbrowser" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
start "i2pbrowser" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -private-window about:blank
exit
)

View File

@@ -1,46 +1,30 @@
@echo on
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%ProgramFiles%\I2P\"
set "I2PProfilePath=%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p"
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%I2PProfilePath%\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%I2PProfilePath%" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
set "I2PProfilePath=%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
if exist "%ProgramFiles(x86)%\I2P\" {
if exist "%ProgramFiles(x86)%\I2P" (
set "I2PPath=%ProgramFiles(x86)%\I2P"
set "I2PProfilePath=%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p"
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%I2PProfilePath%\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%I2PProfilePath%" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
set "I2PProfilePath=%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
}
set "scriptPath=%~dp0"
if exist "%scriptPath%\I2P\" (
set "I2PPath=%scriptPath%\I2P\"
set "I2PProfilePath=%scriptPath%\"
set "PortableArg=portable"
)
if exist "%I2PPath%\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" "%PortableArg%"
if exist "%ProgramFiles%\I2P\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe"
) else (
start "i2p" "%I2PPath%\i2p.exe"
)
timeout /t 3
if exist "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\" (
echo "profile is configured, updating extensions"
xcopy /s /i /y "%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p\extensions" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p\extensions"
) else (
echo "configuring profile"
xcopy /s /i /y "%ProgramFiles%\I2P\I2PBrowser-Launcher\firefox.profile.i2p" "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p"
)
if exist "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" (
start "i2pbrowser" "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -url %1
exit