diff --git a/.gitignore b/.gitignore index daa2630..13c15f0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ build i2pversion_override *.crl *.crt -*.pem \ No newline at end of file +*.pem +*.p12 diff --git a/Makefile b/Makefile index e410f6c..3b3c4c6 100644 --- a/Makefile +++ b/Makefile @@ -259,6 +259,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 I2P-Profile-Installer-$(PROFILE_VERSION)-signed.exe 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 . @@ -332,14 +333,14 @@ launchpad: bionic I2P_DATE=`date +%Y-%m-%d` prepupdate: - cp -v "I2P-Profile-Installer-$(PROFILE_VERSION)-signed.exe" i2pwinupdate.su3 + cp -v "I2P-Profile-Installer-$(PROFILE_VERSION)-signed.su3" i2pwinupdate.su3 i2pwinupdate.su3.torrent: prepupdate - mktorrent --announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a i2pwinupdate.su3 + mktorrent --announce=http://tracker2.postman.i2p/announce.php --announce=http://w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a --announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a i2pwinupdate.su3 -torrent: i2pwinupdate.su3 +torrent: i2pwinupdate.su3.torrent -MAGNET=`bttools torrent printinfo i2pwinupdate.su3.torrent | grep 'MagNet' | sed 's|MagNet: ||g'` +MAGNET=`bttools torrent printinfo i2pwinupdate.su3.torrent | grep 'MagNet' | sed 's|MagNet: ||g' | sed 's|%3A|:|g'| sed 's|%2F|/|g'` releases.json: torrent @echo "[" | tee ../i2p.newsxml/data/win/beta/releases.json @@ -359,3 +360,26 @@ releases.json: torrent @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 diff --git a/build.sh b/build.sh index 3a3ba16..2abf6f5 100755 --- a/build.sh +++ b/build.sh @@ -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" \ diff --git a/changelog.txt b/changelog.txt index a1af88d..0c9b41b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -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 diff --git a/debian/files b/debian/files index c610283..d24626b 100644 --- a/debian/files +++ b/debian/files @@ -1 +1,2 @@ -i2p-firefox-profile_1.05.0-1_source.buildinfo net optional +i2p-firefox-profile_1.05.0-1_all.deb net optional +i2p-firefox-profile_1.05.0-1_amd64.buildinfo net optional diff --git a/i2pversion b/i2pversion index 96c59a0..a721b68 100644 --- a/i2pversion +++ b/i2pversion @@ -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" diff --git a/src/app-profile/version.txt b/src/app-profile/version.txt index 0a928bc..1c5c4af 100644 --- a/src/app-profile/version.txt +++ b/src/app-profile/version.txt @@ -1 +1 @@ -1.05.0 +1.06.1 diff --git a/src/nsis/i2pbrowser-jpackage.nsi b/src/nsis/i2pbrowser-jpackage.nsi index c5c464a..5742586 100644 --- a/src/nsis/i2pbrowser-jpackage.nsi +++ b/src/nsis/i2pbrowser-jpackage.nsi @@ -1 +1 @@ -!define I2P_VERSION 0.9.50 \ No newline at end of file +!define I2P_VERSION 1.6.1 \ No newline at end of file diff --git a/src/nsis/i2pbrowser-version.nsi b/src/nsis/i2pbrowser-version.nsi index 6bd9046..ee60787 100644 --- a/src/nsis/i2pbrowser-version.nsi +++ b/src/nsis/i2pbrowser-version.nsi @@ -1,3 +1,3 @@ !define VERSIONMAJOR 1 -!define VERSIONMINOR 05 -!define VERSIONBUILD 0 +!define VERSIONMINOR 06 +!define VERSIONBUILD 1 diff --git a/src/profile/version.txt b/src/profile/version.txt index 0a928bc..1c5c4af 100644 --- a/src/profile/version.txt +++ b/src/profile/version.txt @@ -1 +1 @@ -1.05.0 +1.06.1 diff --git a/src/win/i2pbrowser-private.bat b/src/win/i2pbrowser-private.bat index 8f927e9..d37a3fd 100644 --- a/src/win/i2pbrowser-private.bat +++ b/src/win/i2pbrowser-private.bat @@ -1,12 +1,13 @@ @echo on +set "I2PPath=%ProgramFiles%\I2P\" if exist "%ProgramFiles%\I2P\" ( set "I2PPath=%ProgramFiles%\I2P\" ) -if exist "%ProgramFiles(x86)%\I2P" { +if exist "%ProgramFiles(x86)%\I2P" ( set "I2PPath=%ProgramFiles(x86)%\I2P" -} +) if exist "%ProgramFiles%\I2P\jpackaged" ( start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe" diff --git a/src/win/i2pbrowser.bat b/src/win/i2pbrowser.bat index a7f1a02..3156c57 100644 --- a/src/win/i2pbrowser.bat +++ b/src/win/i2pbrowser.bat @@ -1,12 +1,13 @@ @echo on +set "I2PPath=%ProgramFiles%\I2P\" if exist "%ProgramFiles%\I2P\" ( set "I2PPath=%ProgramFiles%\I2P\" ) -if exist "%ProgramFiles(x86)%\I2P" { +if exist "%ProgramFiles(x86)%\I2P" ( set "I2PPath=%ProgramFiles(x86)%\I2P" -} +) if exist "%ProgramFiles%\I2P\jpackaged" ( start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe"