diff --git a/index.html b/index.html index cf2344b..42a3108 100644 --- a/index.html +++ b/index.html @@ -17,6 +17,11 @@
+ + / +- To build this, you will need the following software packages (all available in Debian) : + To build this, you will need the following software packages (all available in Debian and Ubuntu, see WSL section below) :
- In addition, you will need the NSIS plugin “ShellExecAsUser” which you can get from the - + In addition, you will need the NSIS plugin “ShellExecAsUser” which you can get from the + NSIS Wiki Page . In order to install @@ -97,7 +105,7 @@ WSL , you can download the: - + 7zip release and copy the content of @@ -110,215 +118,11 @@ .
-cp -rv Plugins/* /usr/share/nsis/Plugins/
-
- - To build a Debian package, you’ll also need -
-- Before you build, run the targets -
- make clean-extensions
- make extensions
-
- - to update the extensions to point to their latest versions. -
-
- After installing the dependencies and completing the preparations,
- just run
-
- make
-
- . This will produce three files:
-
- profile.tgz - the firefox profile, plus a shell script which will - launch it if Firefox is found in the $PATH on Unix-Like operating - systems. - app-profile.tgz - the Firefox profile plus a launcher shell script, - which will launch a - - modified - - Firefox without a URL bar as a router - console wrapper. - install.exe - the windows installer, which sets up shortcuts to - launch Firefox on Windows. -
-
- When generating a Windows build it’s important to make sure that the
- licenses for all the bundled softare are included. This should happen
- automatically. When bundling software, describe the terms and where
- they are applied in the
-
- LICENSE.index
-
- , then add the full license
- to the
-
- licenses
-
- directory. Then, add the full license to the
-
- cat
-
- command in the
-
- build/licenses
-
- make target. The build/licenses
- target is run automatically during the build process.
-
- It is possible to use these profiles on Linux and possibly other
- Unixes, if Firefox is already installed on the system. It can be
- installed system-wide using the
-
- make install
-
- target. Running
-
- make install
-
- requires root, and requires
-
- make
-
- to have been run
- first. To install on Unix, system-wide, run:
-
make
- sudo make install
-
-
- To run without installing them system wide, unpack the
-
- profile*.tgz
-
- to a location of your choice and run the
-
- i2pbrowser.sh
-
- script. This
- will start a Firefox profile configured to use I2P.
-
tar xvf profile-0.3.tgz
- cd profile
- ./i2pbrowser.sh
-
- - If you want to run the app-like i2pconfig browser, then follow the - same steps with app-profile*.tgz. -
- tar xvf app-profile-0.3.tgz
- cd app-profile
- ./i2pconfig.sh
-
-
- To generate a
-
- deb
-
- package, install the package
-
- checkinstall
-
- and run
- the
-
- make checkinstall
-
- target after building with
-
- make
-
- .
-
make
- make checkinstall
- sudo apt install ./i2p-firefox*.deb
-
-
- If you want to set up i2pconfig to run when you start the service
- with
-
- sudo service i2p start
-
- then you can run the script:
-
/usr/local/bin/i2p-config-service-setup +. You must have Git for Windows installed. When installing git for Windows, - you should select “Checkout as is, commit as is” and leave line-endings alone. + you should select “Checkout as is, commit as is” and leave line-endings alone. + +cp -rv Plugins/* /usr/share/nsis/Plugins/Including a jpackaged I2P Router
-- 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 -- checkout. -- Assuming a working java and jpackage environment on your Windows system, the - following command should generate a suitable “App Image” in a directory - called “I2P.” -
--export I2P_VERSION=0.9.49 - cp -R ../i2p.i2p/pkg-temp/lib build/lib - jpackage --type app-image --name I2P --app-version "$I2P_VERSION" \ - --verbose \ - --resource-dir build/lib \ - --input build/lib --main-jar router.jar --main-class net.i2p.router.RouterLaunch -- Transfer the I2P directory to the machine where you build i2p.firefox if - necessary, then complete the regular build instructions. If a jpackaged I2P router - isn’t present to use at build time, the inclusion will be skipped automatically - with a non-fatal warning. -
-- In the near future, I’ll start providing a pre-built app image to ease the - build process for non-Windows users. -
-- End-to-End Windows build process using WSL -
-- - If you’ve already done this once, you can just use: - -
- ./build.sh && wsl make -- - in -- git bash -- - to automatically build an installer. -Prerequisites: @@ -363,20 +167,156 @@ %PATH%
+ TODO: Add links to the respective instructions for each of these. +
++ + Note that after the dependencies are installed, this step is automated + + + with +
++ ./build.sh ++ . + ++ 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 ++ checkout. Building without a jpackage is no longer supported. ++ Assuming a working java and jpackage environment on your Windows system, the + following command should generate a suitable “App Image” in a directory + called “I2P.” +
++export I2P_VERSION=0.9.49 + cp -R ../i2p.i2p/pkg-temp/lib build/lib + jpackage --type app-image --name I2P --app-version "$I2P_VERSION" \ + --verbose \ + --resource-dir build/lib \ + --input build/lib --main-jar router.jar --main-class net.i2p.router.RouterLaunch ++ Transfer the I2P directory to the machine where you build i2p.firefox if + necessary, then complete the regular build instructions. If a jpackaged I2P router + isn’t present to use at build time, the inclusion will be skipped automatically + with a non-fatal warning. +
++ Pre-built app-images are available from my daily releases at: +
++https://github.com/eyedeekay/i2p.plugins.firefox/releases/ ++ Windows Build +
++ After installing the dependencies and completing the preparations, + just run +
++ make ++ . This will produce the install.exe - the windows + installer, which sets up the shortcuts to launch Firefox on Windows. + Building without a jpackage is no longer supported. ++ When generating a build it’s important to make sure that the + licenses for all the bundled softare are included. This should happen + automatically. When bundling software, describe the terms and where + they are applied in the +
++ LICENSE.index ++ , then add the full license + to the ++ licenses ++ directory. Then, add the full license to the ++ cat ++ command in the ++ build/licenses ++ make target. The build/licenses + target is run automatically during the build process. ++ End-to-End Windows build process using WSL( + + Recommended + + ) +
++ + See +
++ config.sh ++ and ++ i2pversion ++ for instructions on how to tweak + + + the build process. File an issue if you need help. + ++ + If you’ve already done this once, you can just use: + +
+ ./unsigned.sh ++ + in ++ git bash ++ + to automatically build an installer. If you + are using this method, you may use the ++ makensis ++ and ++ make ++ from + Ubuntu in WSL.
- - Set up Windows Subsystem for Linux per Microsoft’s instructions + + Set up Windows Subsystem for Linux per Microsoft’s instructions
- @@ -439,7 +379,7 @@ cd ..
- - Install Ubuntu Focal per Microsoft’s instructions + + Install Ubuntu Focal per Microsoft’s instructions
- End-to-End Windows build process using Cygwin + End-to-End Windows build process using Cygwin(More difficult than WSL for now)
I highly recommend you look into the Chocolatey package manager, which makes it much @@ -449,50 +389,36 @@ cd .. Prerequisites: - You need to have OpenJDK 14 or greater installed and configured - with your + In addition to the other prerequisites, you will need to to have
+- %JAVA_HOME% + make- environment variable configured and + installed with- %JAVA_HOME%/bin + cygwin- on - your + . If you are using this method, you cannot use the + automated build scripts without a hack. You will need to create a file called- %PATH% + wsl- . You need to have Apache Ant installed and configured with + in a place that is in the path used by- %ANT_HOME% + git-bash.exe- environment variable configured and -- %ANT_HOME%/bin -- on your -- %PATH% -- . You must have - WSL and git bash installed. You must have -- NSIS.exe -- installed and -- makensis -- available on your -- %PATH% -- . You must have Git for Windows installed. When installing git for Windows, you should - select “Checkout as is, commit as is” and leave line-endings alone. + sessions, with the content:#! /usr/bin/env bash +$@ +- TODO: Add links to the respective instructions for each of these. + For our purposes, as long as everything else is set up and you’re using git bash, + that is enough to make the scripts compatible with +
+ cygwin ++ . Cygwin builds without + git bash are not likely to work.
- @@ -578,7 +504,7 @@ cd ..
.exe- file produced by NSIS, you’re almost ready to + file produced by NSIS, you’re almost ready to do a release. As a final step, someone must sign the.exe @@ -587,15 +513,11 @@ cd .. Certificate which Windows will recognize. The current signer of the Windows bundle is Zlatinb. Standard Windows signing tools are used. -# Release Copypasta -./clean.sh -wsl make distclean -wsl make clean-extensions -wsl make extensions -./build.sh -wsl make -./sign.sh ++./release.sh+ produces the binary. +
Building a signed update file
@@ -614,23 +536,82 @@ wsl make Docker Support- You can use a Docker container to install this browser profile as well. In order - to do this, you can run the commands: + + MOVED, DEPRECATION NOTICE: + + Most of this functionality has been moved + to + + http://git.idk.i2p/idk/i2p.plugins.native + + which is more stable, + easier to build and use, and easier to incorporate into other + projects.
-+ +xhost + local:docker - docker run -it --rm \ - --net=host \ - -e DISPLAY=unix$(DISPLAY) \ - -v /tmp/.X11-unix:/tmp/.X11-unix \ - geti2p/i2p.firefox firefox --profile /src/build/profile -+ Unix Support +
- To build and run the container locally, clone this repository and run the + + MOVED. DEPRECATION NOTICE: + + Most of this functionality has been moved + to + + http://git.idk.i2p/idk/i2p.plugins.native + + which is more stable, + easier to build and use, and easier to incorporate into other + projects. It is the better option for nearly every non-Windows case + right now. You can get binary packages from:
-+make run -- target. + or look at +
+ ++ for instructions on how to build your own packages. These packages are + unofficial! Although I do dogfood most of them and the +
++ .jar ++ gets thorough + testing. ++ + The only remotely interesting Unix functionality that remains in this + + + repository is the construction of a portable. You can use +
+ targz.sh ++ to + + + generate that. +Issues @@ -638,47 +619,110 @@ wsl make
To report issues against this browser profile, please file issues at - + the official Gitlab or the - + Github Mirror . Issues pertaining to the plugins may be reported to their upstream - maintainers if it’s determined that our configuration is not at + maintainers if it’s determined that our configuration is not at fault.
++ Credits +
- NoScript is developed on Github by -
+- hackademix -- and the community: - - - - https://github.com/hackademix/noscript - + This profile manager makes use of a set of browser extensions which are largely the work of others. + It makes use of dependencies that are the work of others. In many ways, it’s merely an elaborate + configuration tool. A smart one, but a configuration tool nonetheless. Many thanks to the following + projects, developers, and communities:+ Firefox and Chrome Extensions +
++
+- + + NoScript - Giorgio Maone and others + +
+- + + HTTPS Everywhere - Electronic Frontier Foundation + +
+- + + uBlock Origin - Raymond Gorhill and others + +
+- + + LocalCDN - nobody and others + +
+- + + jShelter - Libor Polčák and others + +
++ Firefox Configuration Modifiations +
+- HTTPS Everywhere is developed on Github by the EFF: - - - - https://github.com/EFForg/https-everywhere + You can find the license files for each of the these projects in the +
+ src/i2p.firefox.*.profile/extensions/* ++ directory for Firefox, and the ++ src/i2p.chromium.*.profile/extensions/*.js/* ++ directories for Chromium within + the + ++ i2p.plugins.firefox ++ project.I2P in Private Browsing is developed on Gitlab and Github by idk and the community: - - + https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox - - + https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox
++ + + Get the source code: + + + +