I2P Browsing Profile for Firefox

Features:

Build Dependencies:

To build this, you will need the following software packages (all available in Debian) :

In addition, you will need the NSIS plugin “ShellExecAsUser” which you can get from the NSIS Wiki Page. In order to install the plugin on Debian, Ubuntu, or using WSL, you can download the: 7zip release and copy the content of Plugins to /usr/share/nsis/Plugins.

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.

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

Including a jpackaged I2P Router(EXPERIMENTAL)

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: You need to have OpenJDK 14 or greater installed and configured with your %JAVA_HOME% environment variable configured and %JAVA_HOME%/bin on your %PATH%. You need to have Apache Ant installed and configured with %ANT_HOME% environment variable configured and %ANT_HOME%/bin on your %PATH%. You must have Cygwin 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.

  1. Set up Windows Subsystem for Linux per Microsoft’s instructions
  2. Install Ubuntu Focal per Microsoft’s instructions
  3. Open Git Bash.
  4. Install prerequisites wsl sudo apt-get update && sudo apt-get install make nsis dos2unix curl jq
  5. Clone i2p.i2p and i2p.firefox

    git clone https://github.com/i2p/i2p.i2p
    git clone https://github.com/i2p/i2p.firefox
  6. Move to the i2p.i2p directory. Build the .jar files required to build the App Image inside i2p.i2p. Return to home.

    cd i2p.i2p
    ant clean pkg
    cd ..
  7. Move into the i2p.firefox directory. Run the ./build.sh script.

    cd i2p.firefox
    ./build.sh
  8. Compile the NSIS installer using WSL.

    wsl make

End-to-End Windows build process using Cygwin

Prerequisites: You need to have OpenJDK 14 or greater installed and configured with your %JAVA_HOME% environment variable configured and %JAVA_HOME%/bin on your %PATH%. You need to have Apache Ant installed and configured with %ANT_HOME% 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.

TODO: Add links to the respective instructions for each of these.

  1. Run the Cygwin setup-$arch.exe for your platform to set up new packages. Select the make jq dos2unix and curl packages.
  2. Open a cygwin terminal.
  3. Clone i2p.i2p and i2p.firefox

    git clone https://github.com/i2p/i2p.i2p
    git clone https://github.com/i2p/i2p.firefox
  4. Move to the i2p.i2p directory. Build the .jar files required to build the App Image inside i2p.i2p. Return to home.

    cd i2p.i2p
    ant clean pkg
    cd ..
  5. Move into the i2p.firefox directory. Run the ./build.sh script.

    cd i2p.firefox
    ./build.sh
  6. 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

Building a signed update file for automatically updating a Windows I2P router requires you to also have Go installed in your Cygwin or WSL environment. With WSL, you can do this using the command:

    wsl sudo apt-get install golang-go

With that dependency satisfied, you can then run:

    wsl make su3

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

You can use a Docker container to install this browser profile as well. In order to do this, you can run the commands:

    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

To build and run the container locally, clone this repository and run the

    make run

target.

Issues

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

NoScript is developed on Github by hackademix and the community: - https://github.com/hackademix/noscript

HTTPS Everywhere is developed on Github by the EFF: - https://github.com/EFForg/https-everywhere

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

git repository: ./i2p.firefox

Git Summary


 project  : i2p.firefox
 repo age : vor 3 Jahren, und 3 Monaten
 active   : 80 days
 commits  : 281
 files    : 73
 authors  : 
99ef12a 2022-02-23 Use the shortcuts to launch the link, fix ShellExecAsUser based on some testing
b24caf1 2022-02-23 do a quick check of 7657 before running the router from the bat script. It won't run a second router in any case, but it's probably better to skip it if we know a router is already there.
e50fae0 2022-02-23 Add Ubuntu, WSL to NSIS plugin section
2776609 2022-02-23 Add information about how to install ShellExecAsUser NSIS plugin
91728cd 2022-02-23 bump version for pull on Windows build machine
7172b05 2022-02-23 bump version for pull on Windows build machine
2afeee3 2022-02-17 make build.sh forcibly change to i2p.firefox directory before running, it won't work from anywhere else
cedacc6 2022-02-11 pull the whole addon URL from the AMO API
cef159a 2022-02-11 fix build-extensions target
f910ec2 2022-02-11 Get rid of WindowsUpdatePostProcessor() constructor with no arguments, since this will lead to a null context which will break everything and is not useful/used anyway
36b0618 2022-02-11 Loop on the CAM until the CAM is non-null to prevent a situation where the null CAM is used to call getRegisteredApp, apparenly due to a race condition somewhere
8200d65 2022-02-11 Don't use a static global UPP
565ac41 2022-02-10 re-apply I2P_VERSION, fix new-extensions target
bee6a1b 2022-02-10 start writing my changelog
c7be165 2022-02-10 start writing my changelog
1f0cb37 2022-02-10 fix make targets for experimental extension loadout
1c4761f 2022-02-10 drastically simplify NSIS builds
77c7aed 2022-02-09 Install directory construction should take place inside of build/
f58944b 2022-02-09 remove url files on make clean target
56a8397 2022-02-09 Split the Makefile up into a bunch of categorized sub-files.
34197f0 2022-02-09 Add a testing-releases.json target.
ec68e62 2022-02-09 add unsigned target
5f8dcd5 2022-02-09 Add a testing-releases.json target.
a152a14 2022-02-09 s/_/-/g, gitignore fixes
8121d08 2022-02-06 More windows launcher fine-tuning
0da515e 2022-02-06 apply patch brought over from Windows machine, fixes some build issues
dc219e6 2022-02-05 Make sure the gitignore is right
e7cee0b 2022-02-05 Enable fission.autostart and gfx.webrender.all by default. Allow users to electively enable canvas.
ab8424c 2022-02-05 Enable fission.autostart and gfx.webrender.all by default. Allow users to electively enable canvas.
3f89a73 2022-02-05 git clean src a nd build directories when running the make clean targets, including ignored files. make i2pbrowser_jpackage target always run regardless of whether it ran before.
7a79341 2022-02-04 Switch myself to the primary news provider and switch the primary news provider to me
6128b98 2022-01-31 Merge branch 'master' of 127.0.0.1:i2p-hackers/i2p.firefox
7636ab2 2022-01-30 Merge branch 'EXPERIMENTAL-debian' into 'master'
3d45bde 2022-01-30 Merge branch 'master' into 'EXPERIMENTAL-debian'
30f24f6 2022-01-14 use git clean to clean up workspace in distclean target. Add todo.
b9c7a7d 2022-01-14 ignore jpackage config generations error when an I2P jpackage isn't being included.
e1e84bf 2021-12-20 Un-escape the URL which comes escaped from bttools(TODO: fix issue in bttools).
ef45bf3 2021-12-20 Un-escape the URL which comes escaped from bttools(TODO: fix issue in bttools).
7ce35e0 2021-12-09 fix issue in torrent generation line
22e22c8 2021-12-08 fix torrent generator targets
82104ba 2021-12-08 set probable default path before checking list of paths in windows bat file
57a8f6a 2021-12-07 Fix bug, bump version
a96d330 2021-12-07 Update router version
3125f13 2021-11-07 Sign with my Router News keys instead of my plugin keys
d53974d 2021-11-06 bump NSIS build to 1.05.1
4d6c1d4 2021-11-06 zip should be recursive
de6c0df 2021-11-06 Add upload targets for the jpackage zips
187cf7d 2021-11-06 Add upload targets for the jpackage zips
a9563fd 2021-11-06 update version in build system
060db1c 2021-11-01 update changelog entries
28fc12d 2021-11-01 update the changelog
1aba117 2021-10-30 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.
461d138 2021-10-28 Merge branch 'master' into 'EXPERIMENTAL-debian'
3ee7e44 2021-10-21 checkin debian/files
3c01ebd 2021-10-20 generate releases.json from make target.
60ac2d7 2021-10-20 generate releases.json from make target.
3d51872 2021-10-06 Set path to %ProgramFiles%/I2P correctly per-platform and without depending on global envars
76899ca 2021-09-14 Indicate how to push to launchpad in the makefile
6a898b4 2021-09-14 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-debian
a793e11 2021-09-14 add missing release instruction to README.md
b50cd8c 2021-09-14 Switch I2P_VERSION back to using tags. New bundle was build with i2pversion_override 1.5.0
3c5208d 2021-09-14 Make some of the make targets a little better for releasing
42eb5fd 2021-09-13 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.
ec700d7 2021-09-09 upgrade i2pipb version
e0a1b93 2021-08-23 add dput targets for ppa
f924c2c 2021-08-22 Make it build on Launchpad
5340809 2021-08-22 Fix most of the lintian errors
40de7a8 2021-08-22 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-debian
6dbee9d 2021-08-22 Merge branch 'EXPERIMENTAL-docker' into 'master'
34452b9 2021-08-22 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-debian
220b675 2021-08-22 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-docker
7f7f021 2021-08-22 Merge branch 'EXPERIMENTAL-jpackage' into 'master'
f9b02fe 2021-08-22 Re-update extension URL's
6026ee3 2021-08-22 Merge branch 'EXPERIMENTAL-jpackage' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-jpackage
3c508f4 2021-08-22 Merge branch 'master' of i2pgit.org:i2p-hackers/i2p.firefox into EXPERIMENTAL-jpackage
91abc57 2021-08-22 Merge branch 'master' into 'EXPERIMENTAL-jpackage'
bae0412 2021-08-20 add newsURL and backupNewsURL to router.config
e73a596 2021-08-20 Merge branch 'EXPERIMENTAL-jpackage' of 127.0.0.1:i2p-hackers/i2p.firefox into EXPERIMENTAL-docker
3440bff 2021-08-20 Merge branch 'EXPERIMENTAL-jpackage' of 127.0.0.1:i2p-hackers/i2p.firefox into EXPERIMENTAL-debian
e764c7b 2021-08-20 Add Dockerfile
7c62c8e 2021-08-20 Add a target for creating light tags at release time
d13e231 2021-08-20 Make it run in Docker too
7ff4eb5 2021-08-19 Set autodisabledscopes to 0
e6928d6 2021-08-19 Uninstall a jpackaged router if found
ad373ef 2021-08-19 Add update server basics
d52e79c 2021-08-19 don't fail if cloneing su3-tools fails, don't delete router.config in clean.sh
71b9b9c 2021-08-19 check in basic router.config with update url, build su3-tools if it isn't yet
f8ff48f 2021-08-19 work on getting it signed on Windows
8b089ad 2021-08-19 Put update config url into it's own file
afdb513 2021-08-19 configure the router.updateURL by default
2ff2e46 2021-08-19 configure the router.updateURL by default
41f4f80 2021-08-19 configure the router.updateURL by default
aee8cdb 2021-08-19 add --java-options --illega-access=permit to support MuWire plugin
15a2386 2021-08-19 Use a "static" filename, ending in exe, in moveUpdateInstaller in case of differences in file-extension handling across various Windows platforms and configurations
8aefcff 2021-08-18 Check return value of renameTo, if false throw an IOException.
1b35c8d 2021-08-18 use a supplier to get the file path when starting the WinUpdateProcess, fix logging issues
e7ea163 2021-08-17 More intelligible shortcut label text
2b95573 2021-08-15 Fix working directory which was still copied over from zab's
51aa9a9 2021-08-15 Build the process with processbuilder, check the I2P version when upgrading from NSIS in silent mode, check the RESTART_I2P environment variable when upgrading from NSIS in silent mode
8737093 2021-08-14 add WinUpdateProcess.java to the java src's
688b9ca 2021-08-14 Fixes for many, but not all the things from zab's code review
ac7336f 2021-08-02 mix in eepsite config
51a63df 2021-08-02 mix in eepsite config
2c328be 2021-08-02 Try and get it to use a native jbigi
fa54305 2021-08-02 Try and get it to use a native jbigi
d7036f7 2021-08-02 Try and get it to use a native jbigi
111eceb 2021-08-02 Try and get it to use a native jbigi
272ff68 2021-08-02 Try and get it to use a native jbigi
3b544d0 2021-08-02 Try and get it to use a native jbigi
7b24afb 2021-08-02 fix quotes on set
5b8c3e4 2021-08-02 Wait 3 seconds after starting I2P
86b6413 2021-08-02 echo on for a little while
cd15ee0 2021-08-02 Force a non-x86 ProgramFiles path
59ca9d1 2021-08-02 Exec the bat file directly rather than using the shortcut
94feece 2021-08-02 Use the copy of the profile from inside the %programfiles%/i2p
fc1cce1 2021-08-02 Make sure working config dir is created. Add Tor Browser support to .bat scripts. Register UPP in a thread, see @zlatinb's example in i2p-jpackage-mac.
5218f18 2021-08-02 Make sure working config dir is created. Add Tor Browser support to .bat scripts. Register UPP in a thread, see @zlatinb's example in i2p-jpackage-mac.
b79044b 2021-08-02 fix static references in Winlauncher And WindowsUpdatePostProcessor
8453c40 2021-08-02 fix up new launcher scripts with the right paths
a90e7db 2021-08-02 Make some targets more reliable
eacb190 2021-08-02 No need anymore to generate launcher scripts at install time, so move them to src/win directory
14b4017 2021-07-28 checkin UPDATES.md doc, but also force gitlab to send me a notification email normally
f54d989 2021-07-23 Remove unix changes, they can go in EXPERIMENTAL-debian
99f6029 2021-07-15 Always use i2pbrowser-version.nsi as the source of the version of the profile
50097f3 2021-07-15 add su3 signing to makefile
d943bf9 2021-07-15 Tabs to spaces
1504d65 2021-07-15 fix path in Makefile
7ef6e91 2021-07-15 fix build issues, allow overriding i2p version with a file
a8117ce 2021-07-13 move the updated installer to the application directory, pass the renamed file the the thing that starts the process. Don't start the shutdown or monitor it in any way.
1430d73 2021-07-06 remove superfluous files from checkin, automatically import them from the sibling i2p.i2p repository
b5de7de 2021-07-06 update jpackages, remove debian dir, that will be merged from EXPERIMENTAL-debian
0575913 2021-07-06 update where it places the desktop files
59dc5d6 2021-07-04 Add missing line to while loop
f384477 2021-07-04 Lay out the basics of a Debian or Ubuntu package
3af9c06 2021-07-03 Start a Debian package
6165131 2021-07-03 When a Silent installer is run, loop until there isn't an I2P.exe process anymore.
a5db548 2021-07-01 Get the exe path not the dir
7dfd857 2021-07-01 Cancel if shutdownGracefullyAndRerun returns false
008025d 2021-07-01 Don't pass the /D flag it's not required
755a47d 2021-07-01 Make WinLauncher extend WindowsUpdatePostProcessor
97f3dbd 2021-07-01 OK I think that registers it
ffd7bfb 2021-07-01 Set up NSIS to be silennt
ab58ec3 2021-07-01 I think that might be a working UpdatePostProcessor, now to figure out how to register it
da9f769 2021-07-01 Start working on an updater thing for the jpackage builds
a6481d7 2021-07-01 switch to Rhizome variant of IPB plugin. Update extensions at install time
d9025e5 2021-06-01 Switch to alternate version of I2PIPB which automatically configures home page to be extension-owned help page
27328d5 2021-05-31 Update the version numbers
b396752 2021-05-31 Merge branch 'diff-languages-admin-acct' into 'master'
5e55b90 2021-05-31 update extension download urls
c467296 2021-05-31 update .gitignore
dfe9ff5 2021-05-31 update .gitignore
72ca56e 2021-05-31 move LICENSE to LICENSE.md to work around case-sensitivity issues on Windows
b62d64b 2021-05-31 fix include optional jpackage install in profile.tgz line
8424727 2021-05-25 Windows does not *seem* to have an application power saving mode that would affect I2P at this time.
10f0214 2021-05-25 Make it possible to optionally generate jpackage which can be added to a Linux tar.gzipped firefox profile+script. If a Firefox is added to this .tar.gz in a directory called ./firefox/, and that Firefox is configured to be portable and avoid the disk, the launching script will favor the local Firefox and it *should* never need to touch anything outside the directory it's unpacked in, making it usable from a flash drive without touching the disk on a host, for instance. More generally, forming the basis of a TBB-like package
c66d08d 2021-05-23 updater isn't enough, it needs to go all the way to preppkg. For now ignore a build error which doesn't matter to the jpackaged router
bf9e8ca 2021-05-23 Set i2pversion and version tag in i2version file
5ce0477 2021-05-23 Set i2pversion and version tag in i2version file
13af013 2021-05-22 Ant updater is faster and good enough
ff1451c 2021-05-22 Correct version number
986b003 2021-05-22 Make sure the build script enforces the use of a tagged, released version
9171c45 2021-05-09 backport the different languages issue fix from EXPERIMENTAL-jpackage
2099c1f 2021-04-04 No need to run i2p.exe from i2pconfig.bat
1edb0c3 2021-04-04 Make sure curl gets the L flag
ca89bc0 2021-04-04 Try and limit the xcopy prompt
d5fd31e 2021-04-04 Install profiles to %PROGRAMFILES% and copy afterward, if necessary, using batch scripts. This eliminates all *essential* use of %LOCALAPPDATA% by NSIS. One place still uses it technically, but it can recover from failure there.
12f124d 2021-04-04 Install profiles to %PROGRAMFILES% and copy afterward, if necessary, using batch scripts. This eliminates all *essential* use of %LOCALAPPDATA% by NSIS. One place still uses it technically, but it can recover from failure there.
55a7be9 2021-04-04 Install profiles to %PROGRAMFILES% and copy afterward, if necessary, using batch scripts. This eliminates all *essential* use of %LOCALAPPDATA% by NSIS. One place still uses it technically, but it can recover from failure there.
98d1a80 2021-04-04 Install profiles to %PROGRAMFILES% and copy afterward, if necessary, using batch scripts. This eliminates all *essential* use of %LOCALAPPDATA% by NSIS. One place still uses it technically, but it can recover from failure there.
8aae087 2021-04-03 check router.config when in program files too
d2d272f 2021-04-03 check for i2p.exe at install time
0429c2b 2021-04-03 Reference localappdata from bat scripts instead of at install time
2d24c57 2021-04-03 Just use LOCALAPPDATA since when we elevate in the NSIS script has no effect
f0a4001 2021-04-03 Fix conflicting files for case-insensitive filesystems.
b678d14 2021-04-03 Fix conflicting files for case-insensitive filesystems.
ee2a7cc 2021-04-03 Install the config files to %PROGRAMFILES% since it should avoid the multiple-encodings error
0c3fe5b 2021-04-03 Find the path by finding the JRE and traversing up
b8a4633 2021-04-03 Find the path by finding the JRE and traversing up
b4b09ea 2021-04-03 Try not setting the base dir for now since that seems to be causing it to stall on my wiwindows machine
4df4059 2021-04-03 Print some stuff for debugging
cb821a7 2021-04-03 set i2p.dir.base to PROGRAMFILES/i2p
8218591 2021-04-03 Configure for ProgramFiles based installs
9a03137 2021-04-03 Start a WinLauncher
03bba27 2021-04-03 Start a WinLauncher
9998692 2021-04-03 Start a WinLauncher
506d203 2021-04-03 backward slashes so it compiles on windows
5783feb 2021-04-03 do not show the 'where is i2p' page if we are about to deploy jpackage
afb3ca8 2021-04-03 always set UniCode true
dc08fda 2021-04-03 ant updater does not include jetty jars
c3c0a8a 2021-03-30 correctly unpacked jpackaged file
2e95100 2021-03-29 make configdir an alias for src/I2P/config so we don't call it all the time. Only a convenience target to update the config files in the experimental branch for now.
cd02426 2021-03-29 make src/I2P/config a target for now, so it doesn't accidentally recreate directories
1eece32 2021-03-29 make build a dependency of build/I2P
a4b9969 2021-03-29 make build/I2P/config a separate target
075d5e4 2021-03-29 Remove the config stuff from I2P directory, which is gitignored
8b3d0ba 2021-03-29 Remove the config stuff from I2P directory, which is gitignored
ac3036e 2021-03-27 Work on jpackage detailed build instructions
0e60f15 2021-03-27 Work on jpackage detailed build instructions
e438fff 2021-03-27 Work on jpackage detailed build instructions
c244dc9 2021-03-27 Work on jpackage detailed build instructions
ddc6704 2021-03-26 Make it so debs can be built without running NSIS
8adf9b8 2021-03-26 Add default start command
e22abb8 2021-03-26 Make the launcher command it accepts variable so I can pass arguments in the snap
8f70bc3 2021-03-26 Add a note to the readme about pre-built images
30909d1 2021-03-26 Give it a way to know it's working on a jpackaged router and if so update itself
a218f0d 2021-03-26 This one **Actually Works(tm)**
0a0f063 2021-03-26 This one **Actually Works(tm)**
50ab03e 2021-03-26 copy resources from sibling branch for jpackaged router experiment
3cdc0d6 2021-03-25 Start an experimental jpackage-included branch
c71bdbb 2021-03-22 Make the batch scripts launch the router on Windows. If it's already running nothing happens when you run i2p.exe so it's safe to just start it from the .bat script.
a5540bc 2021-03-20 More README
845c369 2021-03-20 check in description for deb
3d23770 2021-03-20 Find and launch a router if one is not started on Windows
509f9a9 2021-03-20 Find and launch a router if one is not started on Unixes
1b3fd56 2021-03-19 Minor readme edits
2307beb 2021-03-19 setup configuring browser for package installs that opt into it
936344c 2021-03-19 beautify readme a little. Add a script to fetch the latest addon updates at build time. Outline the Unix support. Priortize local appdata, then roaming appdata, then program files for router.config.
0f04323 2021-03-19 beautify readme a little. Add a script to fetch the latest addon updates at build time. Outline the Unix support. Priortize local appdata, then roaming appdata, then program files for router.config.
65361e8 2021-03-13 Fix formatting on setup script
231c60d 2021-03-13 Add a setup script which will configure i2pconfig as Router Console UI for Debian-like systems.
9bd9764 2021-03-13 Set it up so that the Unix version of i2pconfig will be used if i2pconfig is installed in /usr/local/bin and the ~/.i2p/router.config is present. Does not work for service installs yet.
2b4466a 2021-03-07 check in some fixes after spending the day testing it, it should now work for all likely windows configurations
67654f8 2021-03-06 Make sure ROUTER_CONSOLE is set in Unix config launcher script
0bfbef9 2021-03-06 Add an uninstaller for Linuxes
449653b 2021-03-06 improve the activitystream defaults
39486bd 2021-03-06 add the userChrome to the configuring profile on Windows
44c82c0 2021-03-06 Create an installer which will work on Linux
f29e5ed 2021-03-06 Create an installer which will work on Linux
747db01 2021-03-06 App-ify the routerconsole.browser script by stripping away browser UI elements from the underlying firefox. This effectively separates the profile used to browse I2P and the profile used to configure I2P, and reconfigures the "Configuration Profile" to more closely imitate an application UI by hiding the nav bar, back bar, and other potentially confusing elements
c045eb9 2021-01-17 fix misuse of Roaming application data when Local application data is preferred
2c59bf6 2021-01-13 Use  for  because  is Roaming
5367021 2020-12-21 Allow passing arguments to Unix shell script
3887966 2020-12-21 Update extension to include todays fixes
17497df 2020-12-21 Update extension to include todays fixes
6406405 2020-12-21 Clean and finalize
365f3c5 2020-12-21 allow extensions when using private mode
a1394be 2020-12-21 Add MIT license for my I2P in Private Browsing extension
5d71698 2020-12-21 add script to linux profile
b477d3d 2020-12-21 fix URL for plugin
c322a85 2020-12-21 disable keyword searches from the URL bar completely to restore compatibility with Tor Browser
ae97dde 2020-12-21 update plugins
23fe6b6 2020-12-21 add router console URLS, zzzot, and BRB URLs to Proxy Exceptions list now that container-tab powered isolation is also enabled on I2P apps
dd9b762 2020-12-20 Merge branch 'extension'
d3be266 2020-12-20 check in the extension url
94d7286 2020-12-20 Merge branch 'extension' into 'master'
9ac180d 2020-12-20 Disable HTTPS-only mode in the profile we control, we're using HTTPS-Everywhere instead since we don't have the ability to deny upgrades to https from .i2p hostnames yet(tor does, though, via dom.security.https_only_mode.upgrade_onion=false, which is probably easy to adapt for us
2c2934f 2020-09-29 update version to v 0.03
e3500fb 2020-09-29 add I2P function-enabling extension to Firefox profile
3ff2a2b 2020-07-24 fix what it does when it tries to launch Tor Browser by setting torlauncher.start_tor false
38658a7 2019-02-10 Update changelog
408e595 2019-02-10 Fix the Finish button text for all languages
e5bba1e 2019-02-10 Fix blank Finish button
f82ddc2 2019-02-09 update changelog
d44f4f1 2019-02-09 latest versions of plugins
57e1001 2019-02-09 update Makefile for storage-sync target
35c5c85 2019-02-08 Enable js on localhost by default, disable everywhere else.  Detect installation of zero installer as well.
1e866f3 2019-01-08 add language selection dialog
6dd39a2 2019-01-08 use Toopie as an icon
b7dc6e8 2019-01-08 check for 32-bit firefox install even if it should have been 64-bit
5574f60 2019-01-08 Make text in Firefox and I2P prompts more descriptive
1d171b6 2019-01-08 Rename installer.exe to include version number
49d85da 2019-01-07 Remove unneded parts of Tor license Add note about max license size Fix makefile dependencies so xpis aren't downloaded every time
11ec936 2019-01-07 Put licenses in a directory to avoid nsis v3 crash
706d9d1 2019-01-06 add changelog
f077245 2019-01-06 add version to the profile
c90dd8e 2018-12-19 make the non-private shortcut launch the console by default
0b9e4ae 2018-12-14 prevent mkdir from failing if existing
5451c0f 2018-12-13 launch provided url
2b1cfd0 2018-12-13 surround path in quotes
78b7e9c 2018-12-12 Modify router.config to set the browser to the I2P browser
1ae08bd 2018-12-11 fix I2P install path detection
5b38ae6 2018-12-11 fix clean target
9c7fbae 2018-12-11 Add nsis code from IDK.  Update makefile to build an installer
69940f7 2018-12-11 xpis need to be named specific way
7cc9080 2018-12-11 makefile target for building a tarball of the profile
0a97b59 2018-12-11 url files for the plugins, update readme
6ead1b0 2018-12-11 add a README
2c198c2 2018-12-11 add a makefile with a license target
a41672f 2018-12-11 add licenses for everything
f18a4c1 2018-12-11 add firefox profile version 0.03b from IDK
7218cac 2018-12-10 test creation of a firefox repo```

## Files

.gitignore Dockerfile LICENSE.md Makefile README.md UPDATES.md amo-version.sh build.sh changelog.txt clean.sh config.mk debian/README.Debian debian/changelog debian/control debian/copyright debian/files debian/i2p-firefox-profile-docs.docs debian/install debian/rules debian/source/format description-pak i2pversion java/net/i2p/router/WinLauncher.java java/net/i2p/router/WinUpdateProcess.java java/net/i2p/router/WindowsUpdatePostProcessor.java license/HTTPS-Everywhere.txt license/LICENSE.index license/LICENSE.tor license/MPL2.txt license/NSS.txt license/NoScript.txt license/i2ppb.txt makefiles/app-profile.mk makefiles/build.mk makefiles/debian.mk makefiles/docker.mk makefiles/extensions.mk makefiles/install.mk makefiles/new-extensions.mk makefiles/profile.mk makefiles/su-unsigned.mk makefiles/su.mk router.config src/app-profile/bookmarks.html src/app-profile/chrome/userChrome.css src/app-profile/prefs.js src/app-profile/storage-sync.sqlite src/app-profile/user.js src/app-profile/version.txt src/icons/ui2pbrowser_icon.ico src/nsis/FindProcess.nsh src/nsis/i2pbrowser-installer.nsi src/nsis/i2pbrowser-jpackage.nsi src/nsis/i2pbrowser-mozcompat.nsi src/nsis/i2pbrowser-strrep.nsh src/nsis/i2pbrowser-version.nsi src/profile/bookmarks.html src/profile/prefs.js src/profile/storage-sync.sqlite src/profile/user.js src/profile/version.txt src/unix/desktop/i2pbrowser-debian.desktop src/unix/desktop/i2pbrowser.desktop src/unix/desktop/i2pconfig-debian.desktop src/unix/desktop/i2pconfig.desktop src/unix/i2p-config-service-setup.sh src/unix/i2pbrowser.sh src/unix/i2pbrowserdebianrc src/unix/i2pbrowserrc src/unix/i2pconfig.sh src/win/i2pbrowser-private.bat src/win/i2pbrowser.bat src/win/i2pconfig.bat


## Branches

## Tags

0.04.0 i2p-firefox-1.06.1 i2p-firefox-1.07.0 i2p-firefox-1.07.1 i2p-firefox-1.07.2


## Remotes

origin https://github.com/i2p/i2p.firefox (fetch) origin https://github.com/i2p/i2p.firefox (push) ```