5.0 KiB
5.0 KiB
Feature Goals
For information about the "Goals guiding the Goals" see: [PRINCIPLES].
While Windows is the primary platform, some goals may represent cross-platform utility as well. Since a portable jpackage really only needs slightly different arguments on different platforms, cross-platform support is often low-cost.
- See Also:
- Browser Integrations are provided by browser extensions which are contained in their own repositories.
- Firefox:
- git.idk.i2p/idk/I2P-in-Private-Browsing-Mode-Firefox
- i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox
- github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox
- Chromium:
- git.idk.i2p/idk/I2P-Configuration-For-Chromium
- i2pgit.org/idk/I2P-Configuration-For-Chromium
- github.com/eyedeekay/I2P-Configuration-For-Chromium
- Browser profile management are provided by a freestanding, cross-platform library which is contained in its own repository.
- git.idk.i2p/idk/i2p.plugins.firefox
- i2pgit.org/idk/i2p.plugins.firefox
- github.com/eyedeekay/i2p.plugins.firefox
Build Methods
[X]Cleanly separate jpackage generation phase from NSIS generation phase[X]Enable archive builds for generating Windows.exe's from Linux hosts
Installation Methods
[X]NSIS installer[X]Portable, directory-based install[ ]Windows Service Support
Update Methods
[X]NSIS installer in Default Directory[X]NSIS installer in Portable Directory[X]Handle admin and non-admin updates automatically[ ]Zip-Only portable updater
Launcher
[X]Detect and handle un-bundled routers on the host system, policy of non-interference[X]Wait for router console to be ready to launch router-console browser[X]Wait for proxy to be ready to launch I2P Web Browser[X]Launch browser instead of router when a repeat-launch is detected[X]GUI component for launching each available component[X]Introducebrowser.propertiesfor customization[ ]Registry-based browser discovery Firefox Chromium
Browser Configuration All
[X]Use identical extensions in Firefox-based and Chromium-based browsers wherever possible[X]Always use a dedicated, I2P Easy-Install specific profile directory[X]Always configure an HTTP Proxy, and safe access to the router console[X]Provide I2P-Specific integrations to the browser UI through WebExtensions[X]Operate in "Strict" mode where the maximum level of defenses are up[X]Operate in "Usability" mode where defense is balanced with utility[X]Operate in "App" mode where we work as a single-purpose window where it is hard to access arbitrary, potentially malicious resources[X]All I2P-Specific profiles should be possible to generate automatically, sight-unseen
Browser Configuration Firefox
[X]When using Firefox, download extension updates automatically, from AMO, using an outproxy[X]Integrate I2P in Private Browsing for to provide UI for I2P within Firefox[X]Prevent WebRTC proxy escapes by setting mode4disable_non_proxied_udpor higher[X]Customize panel for FirefoxAppmode(Not required for Chromiums)
Browser Configuration Chromium
[X]When using Chromium, load extensions from source and freeze them without updates to prevent unproxied updating.[X]IntegrateI2PChrome.jsto provide UI for I2P within Chrome[X]Prevent WebRTC proxy escapes by setting mode4disable_non_proxied_udp
Browser Configuration Strict Mode
[X]Disable Javascript by default with NoScript[X]Enforce HTTPS where available with HTTPS Everywhere OR HTTPS only Mode[ ]Proactively enumerate and disable "Fine" fingerprinting vectors where possible(ongoing)[ ]When running in Tor Browser, look as much like Tor Browser as possible but use an outproxy(ongoing)
Browser Configuration Usability Mode
[X]Enable Javascript by default but limit it with jShelter[X]Enforce HTTPS where available with HTTPS Everywhere OR HTTPS only Mode[X]Limit attempts to fetch useless junk like advertising with an up-to-date uBlock Origin[X]Limit attempts to reach clearnet CDN's with LocalCDN[X]Isolate.oniontraffic fromoutproxytraffic and.i2ptraffic using Onion in Container Tabs