Compare commits

..

5 Commits

21 changed files with 295 additions and 117 deletions

1
.gitignore vendored
View File

@@ -6,4 +6,3 @@ i2pversion_override
*.crl *.crl
*.crt *.crt
*.pem *.pem
*.p12

View File

@@ -8,6 +8,7 @@ preset=`rm .version; make .version`
include .version include .version
PROFILE_VERSION=$(MAJOR).$(MINOR).$(BUILD) PROFILE_VERSION=$(MAJOR).$(MINOR).$(BUILD)
OS=`uname -s | tr '[:upper:]' '[:lower:]'`
all: .version install.exe all: .version install.exe
@@ -34,7 +35,7 @@ help: .version
@echo "$(MAJOR).$(MINOR).$(BUILD)" @echo "$(MAJOR).$(MINOR).$(BUILD)"
@echo "$(preset)" @echo "$(preset)"
prep: profile.tgz app-profile.tgz profile build/licenses build/I2P build/I2P/config launchers prep: profile.tgz app-profile.tgz build/licenses build/I2P build/I2P/config launchers
cp src/nsis/*.nsi build cp src/nsis/*.nsi build
cp src/nsis/*.nsh build cp src/nsis/*.nsh build
cp src/icons/*.ico build cp src/icons/*.ico build
@@ -92,12 +93,18 @@ build/licenses: build
unix2dos build/licenses/LICENSE.index unix2dos build/licenses/LICENSE.index
clean: 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: build:
@echo "creating build directory" @echo "creating build directory"
mkdir -p build 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: build/profile/user.js build/profile/prefs.js build/profile/bookmarks.html build/profile/storage-sync.sqlite copy-xpi
profile.tgz: .version profile profile.tgz: .version profile
@@ -124,6 +131,13 @@ 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/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 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: .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 app-profile.tgz: app-profile
@@ -263,7 +277,6 @@ $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools:
su3: $(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)" $(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:
docker build -t geti2p/i2p.firefox . docker build -t geti2p/i2p.firefox .
@@ -307,27 +320,3 @@ 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 @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,6 +93,10 @@ with `sudo service i2p start` then you can run the script:
Including a jpackaged I2P Router(EXPERIMENTAL) 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 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 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` a Windows system and place it into a directory called `I2P` in your `i2p.firefox`

View File

@@ -13,10 +13,6 @@ if [ "$JAVA" -lt "14" ]; then
echo "Java 14+ must be used to compile with jpackage, java is $JAVA" echo "Java 14+ must be used to compile with jpackage, java is $JAVA"
exit 1 exit 1
fi 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 sleep 2s
if [ -z "${JAVA_HOME}" ]; then if [ -z "${JAVA_HOME}" ]; then
@@ -59,10 +55,6 @@ echo "preparing to invoke jpackage for I2P version $I2P_VERSION"
"$JAVA_HOME"/bin/jpackage --type app-image --name I2P --app-version "$I2P_VERSION" \ "$JAVA_HOME"/bin/jpackage --type app-image --name I2P --app-version "$I2P_VERSION" \
--verbose \ --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 \ $JPACKAGE_OPTS \
--resource-dir build \ --resource-dir build \
--java-options "--illegal-access=permit" \ --java-options "--illegal-access=permit" \

View File

@@ -1,45 +1,3 @@
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 2021-01-17 idk
* Use Local Application Data instead of Roaming application data for router.config file * 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 * Use Roaming Application Daya only if a clients.config.d is present, indicating that the

2
debian/files vendored
View File

@@ -1,2 +0,0 @@
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 #Comment this out to build from an alternate branch or
# the tip of the master branch. # the tip of the master branch.
I2P_VERSION=1.6.1 I2P_VERSION=1.5.0
export I2P_VERSION=1.6.1 export I2P_VERSION=1.5.0
VERSION=i2p-"$I2P_VERSION" VERSION=i2p-"$I2P_VERSION"
export VERSION="$VERSION" export VERSION="$VERSION"

View File

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

View File

@@ -0,0 +1,11 @@
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

@@ -0,0 +1,15 @@
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

@@ -0,0 +1,119 @@
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

@@ -0,0 +1,10 @@
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

@@ -0,0 +1,27 @@
# 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

@@ -0,0 +1,14 @@
# 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

@@ -0,0 +1,4 @@
# 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.06.1 1.05.0

View File

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

View File

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

View File

@@ -1 +1 @@
1.06.1 1.05.0

View File

@@ -1,42 +1,58 @@
@echo on @echo on
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" ( if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%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 "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 "%ProgramFiles%\I2P\jpackaged" ( if exist "%I2PPath%\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" "%PortableArg%"
) else ( ) else (
start "i2p" "%I2PPath%\i2p.exe" start "i2p" "%I2PPath%\i2p.exe"
) )
timeout /t 3 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" ( 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" -private-window about:blank start "i2pbrowser" "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
exit exit
) )
if exist "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" ( if exist "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" (
start "i2pbrowser" "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -private-window about:blank start "i2pbrowser" "%USERPROFILE%/OneDrive/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
exit exit
) )
if exist "%ProgramFiles%\Mozilla Firefox\firefox.exe" ( if exist "%ProgramFiles%\Mozilla Firefox\firefox.exe" (
start "i2pbrowser" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -private-window about:blank start "i2pbrowser" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -profile "%I2PProfilePath%" -private-window about:blank
exit exit
) )

View File

@@ -1,30 +1,46 @@
@echo on @echo on
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" ( if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%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 "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 "%ProgramFiles%\I2P\jpackaged" ( if exist "%I2PPath%\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" "%PortableArg%"
) else ( ) else (
start "i2p" "%I2PPath%\i2p.exe" start "i2p" "%I2PPath%\i2p.exe"
) )
timeout /t 3 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" ( 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 start "i2pbrowser" "%USERPROFILE%/Desktop/Tor Browser/Browser/firefox.exe" -no-remote -profile "%LOCALAPPDATA%\I2PBrowser-Launcher\firefox.profile.i2p" -url %1
exit exit