From 6f5ee3f0f4f75849d0a5c500abb838f046773c14 Mon Sep 17 00:00:00 2001 From: idk Date: Fri, 16 Sep 2022 18:04:01 -0400 Subject: [PATCH] update index.html --- index.html | 622 +++++++++++++++++++++++++++----------------------- showhider.css | 5 + style.css | 9 +- 3 files changed, 346 insertions(+), 290 deletions(-) diff --git a/index.html b/index.html index cf2344b..42a3108 100644 --- a/index.html +++ b/index.html @@ -17,6 +17,11 @@
+ + / +

I2P Easy-Install Bundle for Windows(Also/formerly)I2P Browsing Profile for Firefox

@@ -67,7 +75,7 @@ Build Dependencies:

- 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 -

- -

- Preparation -

-

- Before you build, run the targets -

-
    make clean-extensions
-    make extensions
-
-

- to update the extensions to point to their latest versions. -

-

- Windows Build -

-

- 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. -

-

- Unix Support -

-

- 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
+    
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% . 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. +

+

+ 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.

  1. - - Set up Windows Subsystem for Linux per Microsoft’s instructions + + Set up Windows Subsystem for Linux per Microsoft’s instructions

  2. - - Install Ubuntu Focal per Microsoft’s instructions + + Install Ubuntu Focal per Microsoft’s instructions

  3. @@ -439,7 +379,7 @@ cd ..

- 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.

  1. @@ -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 +

    + +

    + 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

    +