Post 2.0.0 goal: Unzip-and-Go Portables #8

Open
opened 2025-04-21 14:30:58 -04:00 by idk · 2 comments
Owner

There is non-zero demand for I2P portable installs, which i2p.firefox is uniquely suited to deliver as a jpackage-based distribution with a built-in browser profile manager. As it stands right now, the NSIS Installer simply unpacks a portable I2P install into the default install directory, the directory itself is entirely relocatable(to a flash drive, for instance). Just packaging with zip instead of nsis is enough to get a basic portable install now. But for a portable where the host browser doesn't have to come into play which I'm calling an "Unzip-and-Go" portable we need to bring a browser and since I'm not getting sucked back into building and delivering a browser, I need to find one that has the time and interest to work with me and come up with some requirements for it. Librewolf seems like a very likely option with some caveats. Others could be: regular Firefox, IceCat, Tor Browser, Waterfox.

Requirements

  1. It should be possible to update the browser in place, automatically, without updating the I2P router
  2. The update should ask the user before continuing
  3. It should be possible to discover updates in-network, without the use of an outproxy
  4. The browser should update at nearly the same pace as any upstreams they use
  5. To be determined/refined
There is non-zero demand for I2P portable installs, which i2p.firefox is uniquely suited to deliver as a jpackage-based distribution with a built-in browser profile manager. As it stands right now, the NSIS Installer simply unpacks a portable I2P install into the default install directory, the directory itself is entirely relocatable(to a flash drive, for instance). Just packaging with `zip` instead of `nsis` is enough to get a basic portable install now. But for a portable where the host browser doesn't have to come into play which I'm calling an "Unzip-and-Go" portable we need to bring a browser and since I'm **not** getting sucked back into building and delivering a browser, I need to find one that has the time and interest to work with me and come up with some requirements for it. Librewolf seems like a very likely option with some caveats. Others could be: regular Firefox, IceCat, Tor Browser, Waterfox. # Requirements 1. It should be possible to update the browser in place, automatically, without updating the I2P router 2. The update should ask the user before continuing 3. It should be possible to discover updates in-network, without the use of an outproxy 4. The browser should update at nearly the same pace as any upstreams they use 5. To be determined/refined
idk self-assigned this 2025-04-21 14:30:58 -04:00
Author
Owner

I actually already manage that, here's how it works:

  • When the last I2P Browsing tab is closed and private browsing is not engaged, the extension clears all history which includes an .i2p domain, a more aggressive approach would be to delete history proactively as the user browses, which is also possible and maybe desirable.
  • When using Private Browsing mode, I2P Container tabs are superseded by private browsing mode and the proxy is set globally in user.js/about:config, allowing Private Browsing mode to operate normally. In this mode, the WebExtension only serves to provide UI integrations and no longer needs to provide history/cache management or proxy settings.

Right now the default is to use a semi-long-term profile with history managed by container tabs. However, by adding the -private flag to the launcher shortcuts and the -app flag to the routerconsole.browser option then we can encourage separate profiles for browsing and console management, where the browsing profile is always in private browsing mode. This is the most cautious set of defaults we could apply universally using the existing code.

I actually already manage that, here's how it works: - When the last I2P Browsing tab is closed and private browsing is *not* engaged, the extension clears all history which includes an `.i2p` domain, a more aggressive approach would be to delete history proactively as the user browses, which is also possible and maybe desirable. - When using Private Browsing mode, I2P Container tabs are superseded by private browsing mode and the proxy is set globally in `user.js/about:config`, allowing Private Browsing mode to operate normally. In this mode, the WebExtension only serves to provide UI integrations and no longer needs to provide history/cache management or proxy settings. Right now the default is to use a semi-long-term profile with history managed by container tabs. However, by adding the `-private` flag to the launcher shortcuts and the `-app` flag to the `routerconsole.browser` option then we can encourage separate profiles for browsing and console management, where the browsing profile is always in private browsing mode. This is the most cautious set of defaults we could apply universally using the existing code.
Author
Owner

It's obvious: Tor Browser is more secure. But in order to support tab containers it is necessary to turn off private browsing mode... It might be possible to achieve a similar effect like private browsing with other settings such as not recording browsing history and clearing all information when closing the browser. This should also counteract fingerprinting for private browsing

It's obvious: Tor Browser is more secure. But in order to support tab containers it is necessary to turn off private browsing mode... It might be possible to achieve a similar effect like private browsing with other settings such as not recording browsing history and clearing all information when closing the browser. This should also counteract fingerprinting for private browsing
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: I2P_Developers/i2p.firefox#8
No description provided.