Compare commits

...

21 Commits

Author SHA1 Message Date
idk
82104baa5a set probable default path before checking list of paths in windows bat file 2021-12-08 10:33:08 -05:00
idk
57a8f6a1a0 Fix bug, bump version 2021-12-07 22:25:42 -05:00
idk
a96d33027c Update router version 2021-12-07 14:40:43 -05:00
idk
3125f13138 Sign with my Router News keys instead of my plugin keys 2021-11-07 15:14:07 -05:00
idk
d53974d5b9 bump NSIS build to 1.05.1 2021-11-06 15:49:28 -04:00
idk
4d6c1d4df1 zip should be recursive 2021-11-06 13:57:14 -04:00
idk
de6c0dfd2f Add upload targets for the jpackage zips 2021-11-06 13:49:39 -04:00
idk
187cf7dfef Add upload targets for the jpackage zips 2021-11-06 13:48:41 -04:00
idk
a9563fd763 update version in build system 2021-11-06 13:21:24 -04:00
idk
060db1cff6 update changelog entries 2021-11-01 14:26:42 -04:00
idk
28fc12d1be update the changelog 2021-11-01 14:25:26 -04:00
idk
1aba1177c2 Add flags to jpackage for plugins that use reflection to work. Add a warning if compiling with less than Java 17 and sleep longer if using less than java 17. 2021-10-30 20:38:55 -04:00
idk
3c01ebd094 generate releases.json from make target. 2021-10-20 16:37:08 -04:00
idk
60ac2d7ec4 generate releases.json from make target. 2021-10-20 00:50:49 -04:00
idk
3d51872275 Set path to %ProgramFiles%/I2P correctly per-platform and without depending on global envars 2021-10-06 14:17:49 -04:00
idk
a793e11176 add missing release instruction to README.md 2021-09-14 16:32:27 -04:00
idk
b50cd8c55b Switch I2P_VERSION back to using tags. New bundle was build with i2pversion_override 1.5.0 2021-09-14 12:22:47 -04:00
idk
3c5208d50e Make some of the make targets a little better for releasing 2021-09-14 12:11:56 -04:00
idk
42eb5fdecd bump version number to 1.05.0 since it's embedding a 1.5 I2P router and it is version 04 of the profile. Embedding a router being a huge milestone, after all. 2021-09-13 22:11:45 -04:00
idk
ec700d725d upgrade i2pipb version 2021-09-09 19:15:22 -04:00
idk
6dbee9db3c Merge branch 'EXPERIMENTAL-docker' into 'master'
Add a Dockerfile and Docker instructions

Closes #6

See merge request i2p-hackers/i2p.firefox!4
2021-08-22 21:46:59 +00:00
17 changed files with 172 additions and 46 deletions

3
.gitignore vendored
View File

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

View File

@ -1 +0,0 @@
https://addons.mozilla.org/firefox/downloads/file/3716461/2021.7.13/https_everywhere-2021.7.13-an+fx.xpi

View File

@ -46,7 +46,7 @@ export RES_DIR="../i2p.i2p/installer/resources"
export PKG_DIR="../i2p.i2p/pkg-temp"
export I2P_JBIGI="../i2p.i2p/installer/lib/jbigi"
distclean: clean
distclean: clean clean-extensions
rm -rf I2P
I2P:
@ -67,7 +67,7 @@ src/I2P/config:
cp -v $(RES_DIR)/i2ptunnel.config src/I2P/config/
cp -v $(RES_DIR)/wrapper.config src/I2P/config/
#grep -v 'router.updateURL' $(RES_DIR)/router.config > src/I2P/config/router.config
cat router.config >> src/I2P/config/router.config
cat router.config >> src/I2P/config/router.config
cp -v $(RES_DIR)/hosts.txt src/I2P/config/hosts.txt
cp -R $(RES_DIR)/certificates src/I2P/config/certificates
cp -R $(RES_DIR)/eepsite src/I2P/config/eepsite
@ -92,7 +92,7 @@ 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
rm -rf build app-profile-*.tgz profile-*.tgz I2P-Profile-Installer-*.exe *.deb src/I2P/config *.su3 .version
build:
@echo "creating build directory"
@ -119,10 +119,10 @@ build/profile/bookmarks.html: build/profile src/profile/bookmarks.html
build/profile/storage-sync.sqlite: build/profile src/profile/storage-sync.sqlite
cp src/profile/storage-sync.sqlite build/profile/storage-sync.sqlite
copy-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2prhz@eyedeekay.github.io.xpi build/profile/extensions
copy-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.github.io.xpi build/profile/extensions
cp build/NoScript.xpi "build/profile/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
cp build/HTTPSEverywhere.xpi "build/profile/extensions/https-everywhere-eff@eff.org.xpi"
cp build/i2prhz@eyedeekay.github.io.xpi build/profile/extensions/i2prhz@eyedeekay.github.io.xpi
cp build/i2ppb@eyedeekay.github.io.xpi build/profile/extensions/i2ppb@eyedeekay.github.io.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
@ -148,14 +148,14 @@ build/app-profile/bookmarks.html: build/app-profile src/app-profile/bookmarks.ht
build/app-profile/storage-sync.sqlite: build/app-profile src/app-profile/storage-sync.sqlite
cp src/app-profile/storage-sync.sqlite build/app-profile/storage-sync.sqlite
copy-app-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2prhz@eyedeekay.github.io.xpi build/app-profile/extensions
copy-app-xpi: build/NoScript.xpi build/HTTPSEverywhere.xpi build/i2ppb@eyedeekay.github.io.xpi build/app-profile/extensions
cp build/HTTPSEverywhere.xpi "build/app-profile/extensions/https-everywhere-eff@eff.org.xpi"
cp build/i2prhz@eyedeekay.github.io.xpi build/app-profile/extensions/i2prhz@eyedeekay.github.io.xpi
cp build/i2ppb@eyedeekay.github.io.xpi build/app-profile/extensions/i2ppb@eyedeekay.github.io.xpi
build-extensions: build/i2prhz@eyedeekay.github.io.xpi build/NoScript.xpi build/HTTPSEverywhere.xpi
build-extensions: build/i2ppb@eyedeekay.github.io.xpi build/NoScript.xpi build/HTTPSEverywhere.xpi
build/i2prhz@eyedeekay.github.io.xpi: i2psetproxy.url
curl -L `cat i2psetproxy.url` > build/i2prhz@eyedeekay.github.io.xpi
build/i2ppb@eyedeekay.github.io.xpi: i2psetproxy.url
curl -L `cat i2psetproxy.url` > build/i2ppb@eyedeekay.github.io.xpi
build/NoScript.xpi: NoScript.url
curl -L `cat NoScript.url` > build/NoScript.xpi
@ -169,14 +169,15 @@ clean-extensions:
extensions:HTTPSEverywhere.url NoScript.url i2psetproxy.url
HTTPSEverywhere.url:
@echo "https://addons.mozilla.org/firefox/downloads/file/3716461/"`./amo-version.sh https-everywhere`"/https_everywhere-"`./amo-version.sh https-everywhere`"-an+fx.xpi" > HTTPSEverywhere.url
@echo "https://addons.mozilla.org/firefox/downloads/file/3809748/"`./amo-version.sh https-everywhere`"/https-everywhere-eff@eff.org.xpi" > HTTPSEverywhere.url
NoScript.url:
@echo "https://addons.mozilla.org/firefox/downloads/file/3534184/"`./amo-version.sh noscript`"/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" > NoScript.url
i2psetproxy.url:
@echo "https://addons.mozilla.org/firefox/downloads/file/3784917/"`./amo-version.sh i2pipb-rhizome-variant`"/i2prhz@eyedeekay.github.io" > i2psetproxy.url
@echo "https://addons.mozilla.org/firefox/downloads/file/3821635/"`./amo-version.sh i2p-in-private-browsing`"/i2ppb@eyedeekay.github.io.xpi" > i2psetproxy.url
#https://addons.mozilla.org/firefox/downloads/file/3821635/i2p_in_private_browsing-0.112.1-an+fx.xpi
#i2ppb@eyedeekay.github.io.xpi
build/profile/extensions: build/profile
@ -234,7 +235,7 @@ uninstall:
/usr/share/applications/i2pbrowser.desktop \
/usr/share/applications/i2pconfig.desktop
checkinstall: version
checkinstall: .version
checkinstall \
--default \
--install=no \
@ -261,7 +262,8 @@ $(GOPATH)/src/i2pgit.org/idk/su3-tools/su3-tools:
go mod vendor && go build
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)" -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 build -t geti2p/i2p.firefox .
@ -275,4 +277,57 @@ run: docker xhost
-e DISPLAY=unix$(DISPLAY) \
-v /tmp/.X11-unix:/tmp/.X11-unix \
geti2p/i2p.firefox firefox --profile /src/build/profile
I2P_DATE=`date +%Y-%m-%d`
prepupdate:
cp -v "I2P-Profile-Installer-$(PROFILE_VERSION)-signed.exe" i2pwinupdate.su3
i2pwinupdate.su3.torrent: prepupdate
mktorrent --announce=http://mb5ir7klpc2tj6ha3xhmrs3mseqvanauciuoiamx2mmzujvg67uq.b32.i2p/a i2pwinupdate.su3
torrent: i2pwinupdate.su3
MAGNET=`bttools torrent printinfo i2pwinupdate.su3.torrent | grep 'MagNet' | sed 's|MagNet: ||g'`
releases.json: torrent
@echo "[" | tee ../i2p.newsxml/data/win/beta/releases.json
@echo " {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"date\": \"$(I2P_DATE)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"version\": \"$(I2P_VERSION)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minVersion\": \"1.5.0\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"minJavaVersion\": \"1.8\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"updates\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"su3\": {" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"torrent\": \"$(MAGNET)\"," | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"url\": [" | tee -a ../i2p.newsxml/data/win/beta/releases.json
@echo " \"http://ekm3fu6fr5pxudhwjmdiea5dovc3jdi66hjgop4c7z7dfaw7spca.b32.i2p/i2pwinupdate.su3\"" | 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

@ -1 +0,0 @@
https://addons.mozilla.org/firefox/downloads/file/3534184/11.2.11/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi

View File

@ -184,13 +184,21 @@ TODO: Add links to the respective instructions for each of these.
ant clean pkg
cd ..
7. Move into the i2p.firefox directory. Run the `./build.sh` script.
4. Move into the i2p.firefox directory. Run the `./build.sh` script.
cd i2p.firefox
./build.sh
5. Run `make` to build the installer.
Doing a Release
---------------
Once you have the installer `.exe` file produced by NSIS, you're almost ready to
do a release. As a final step, someone must sign the `.exe` file using a
Certificate which Windows will recognize. The current signer of the Windows
bundle is Zlatinb. Standard Windows signing tools are used.
Building a signed update file
-----------------------------
@ -207,6 +215,9 @@ With that dependency satisfied, you can then run:
to build the signing tool if necessary and then package the installer in a
signed update file.
It's also probably possible to do this with the Java I2P distribution and a
`.bat` script.
Docker Support
--------------

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

@ -1 +0,0 @@
https://addons.mozilla.org/firefox/downloads/file/3784917/0.108/i2prhz@eyedeekay.github.io

View File

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

View File

@ -1 +1 @@
0.04.0
1.06.1

View File

@ -310,7 +310,7 @@ Section Install
SetOutPath "$INSTDIR\firefox.profile.i2p\extensions"
File "profile\extensions\{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
File profile\extensions\https-everywhere-eff@eff.org.xpi
File profile\extensions\i2prhz@eyedeekay.github.io.xpi
File profile\extensions\i2ppb@eyedeekay.github.io.xpi
# Install the config profile
createDirectory "$INSTDIR\firefox.profile.config.i2p"
@ -324,7 +324,7 @@ Section Install
createDirectory "$INSTDIR\firefox.profile.config.i2p\extensions"
SetOutPath "$INSTDIR\firefox.profile.config.i2p\extensions"
File profile\extensions\https-everywhere-eff@eff.org.xpi
File profile\extensions\i2prhz@eyedeekay.github.io.xpi
File profile\extensions\i2ppb@eyedeekay.github.io.xpi
# Install the config userChrome
createDirectory "$INSTDIR\firefox.profile.config.i2p\chrome"
@ -414,10 +414,10 @@ Section "uninstall"
# Uninstall the extensions
Delete "$INSTDIR\firefox.profile.i2p\extensions\{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
Delete "$INSTDIR\firefox.profile.i2p\extensions\https-everywhere-eff@eff.org.xpi"
Delete "$INSTDIR\firefox.profile.i2p\extensions\i2prhz@eyedeekay.github.io.xpi"
Delete "$INSTDIR\firefox.profile.i2p\extensions\i2ppb@eyedeekay.github.io.xpi"
Delete "$INSTDIR\firefox.profile.config.i2p\extensions\https-everywhere-eff@eff.org.xpi"
Delete "$INSTDIR\firefox.profile.config.i2p\extensions\i2prhz@eyedeekay.github.io.xpi"
Delete "$INSTDIR\firefox.profile.config.i2p\extensions\i2ppb@eyedeekay.github.io.xpi"
Delete "$INSTDIR\firefox.profile.config.i2p\config\userChrome.css"

View File

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

View File

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

View File

@ -1 +1 @@
0.04.0
1.06.1

View File

@ -1,13 +1,18 @@
@echo on
if not exist "%ProgramFiles%\I2P\" (
set "ProgramFiles=C:\Program Files"
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%ProgramFiles%\I2P\"
)
if exist "%ProgramFiles(x86)%\I2P" (
set "I2PPath=%ProgramFiles(x86)%\I2P"
)
if exist "%ProgramFiles%\I2P\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%ProgramFiles%\I2P\i2p.exe"
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe"
) else (
start "i2p" "%ProgramFiles%\I2P\i2p.exe"
start "i2p" "%I2PPath%\i2p.exe"
)
timeout /t 3

View File

@ -1,13 +1,18 @@
@echo on
if not exist "%ProgramFiles%\I2P\" (
set "ProgramFiles=C:\Program Files"
set "I2PPath=%ProgramFiles%\I2P\"
if exist "%ProgramFiles%\I2P\" (
set "I2PPath=%ProgramFiles%\I2P\"
)
if exist "%ProgramFiles(x86)%\I2P" (
set "I2PPath=%ProgramFiles(x86)%\I2P"
)
if exist "%ProgramFiles%\I2P\jpackaged" (
start "i2p" /D "%LOCALAPPDATA%\I2P" "%ProgramFiles%\I2P\i2p.exe"
start "i2p" /D "%LOCALAPPDATA%\I2P" "%I2PPath%\i2p.exe"
) else (
start "i2p" "%ProgramFiles%\I2P\i2p.exe"
start "i2p" "%I2PPath%\i2p.exe"
)
timeout /t 3