2019-02-05 10:53:26 -05:00
|
|
|
i2psetproxy.js
|
|
|
|
==============
|
|
|
|
|
2019-12-24 11:21:07 -05:00
|
|
|
This is an **Experimental** webextension which introduces a set of new "Private
|
|
|
|
Browsing" modes to Firefox-based browsers(Supporting webextensions) that makes
|
|
|
|
it easier to configure a browser to use I2P securely and adds features for
|
|
|
|
making I2P applications easier to use. It does this by isolating I2P-specific
|
|
|
|
settings to Contextual Identities within Firefox, then loading them
|
|
|
|
automatically when the user requests them. It also adds convenience and
|
|
|
|
management features specific to I2P like protocol handlers and native messaging
|
|
|
|
systems.
|
2019-06-19 10:44:03 -04:00
|
|
|
|
2019-12-24 12:11:06 -05:00
|
|
|
addons.mozilla.org
|
|
|
|
------------------
|
2019-06-19 10:44:03 -04:00
|
|
|
|
2019-12-24 12:11:06 -05:00
|
|
|
For desktop users this addon is available from addons.mozilla.org, where you
|
|
|
|
will be able to recive automatic updates:
|
|
|
|
https://addons.mozilla.org/en-US/firefox/addon/i2p-in-private-browsing/.
|
2019-06-19 10:44:03 -04:00
|
|
|
|
2019-11-11 01:48:37 -05:00
|
|
|
Debian usage:
|
|
|
|
-------------
|
|
|
|
|
|
|
|
Should you prefer, it is possible to install this extension system-wide by
|
|
|
|
side-loading it into Debian. You can generate your own deb file by running the
|
|
|
|
command:
|
|
|
|
|
|
|
|
make deb
|
|
|
|
|
2019-12-24 12:11:06 -05:00
|
|
|
and then you can install it with:
|
|
|
|
|
|
|
|
sudo apt install ../i2psetproxy.js_*.deb
|
|
|
|
|
2019-06-19 10:44:03 -04:00
|
|
|
### Features
|
|
|
|
|
2019-10-16 23:59:12 -04:00
|
|
|
* [done] **Provide** a way to launch into an I2P-Specific contextual identity
|
|
|
|
(container). Intercept requests to .i2p domains and automatically route them
|
|
|
|
to the I2P container. Isolate the router console from other local
|
|
|
|
applications by automatically intercepting requests to the router console to
|
|
|
|
another container.
|
2019-12-24 13:46:09 -05:00
|
|
|
* 
|
2019-11-25 20:42:46 -05:00
|
|
|
* [done] **Indicate** the I2P browser is in use visually. Find an
|
2019-10-16 23:59:12 -04:00
|
|
|
acceptable way to indicate it on Android.
|
2019-12-24 13:46:09 -05:00
|
|
|
* 
|
2019-10-16 23:59:12 -04:00
|
|
|
* [done] **Set** the http proxy to use the local I2P proxy automatically.
|
|
|
|
Provide specific configuration for other types of I2P proxies(SOCKS,
|
|
|
|
isolating HTTP)
|
2019-11-25 20:42:46 -05:00
|
|
|
* [done] **Disable** risky webRTC features/offer the option to re-enable
|
2019-10-16 23:59:12 -04:00
|
|
|
them with the proxy enforced.
|
2019-10-31 12:22:19 -04:00
|
|
|
* [done] **Change** the color of the browser window to indicate that I2P is in
|
|
|
|
use
|
2019-12-24 13:46:09 -05:00
|
|
|
* 
|
2019-12-24 12:11:06 -05:00
|
|
|
* [ready/broken/wip] **Provide** help in a variety of languages.
|
2019-10-07 18:45:52 -04:00
|
|
|
* [wip] **Monitor** the health and readiness of the I2P router it is
|
2019-11-10 22:28:16 -05:00
|
|
|
instructed to use. Currently the plugin checks whether the HTTP Proxy is
|
|
|
|
working by fetching an image from "http://proxy.i2p" and displaying a result.
|
|
|
|
A work-in-progress binding to i2pcontrol is available in ./i2pcontrol, it is
|
|
|
|
inert at this time.
|
2019-11-25 20:42:46 -05:00
|
|
|
* [Done] **Handle** router console applications under their own origins and
|
2019-10-16 19:45:16 -04:00
|
|
|
within their own contextual identity. (1) The router console is automatically
|
|
|
|
confined to it's own container tab. (2) Use a custom protocol handler to
|
|
|
|
place each i2p application/plugin under it's own origin, shortening router
|
|
|
|
console URL's and placing applications under their own origin.
|
2019-12-24 13:46:09 -05:00
|
|
|
* 
|
2019-11-25 20:42:46 -05:00
|
|
|
* [wip] **Handle Torrents** by talking to i2psnark-rpc plugin and then
|
2019-10-16 19:45:16 -04:00
|
|
|
adding them directly into the Firefox downloads drop-downs, menus, etc. If I
|
2019-11-26 22:45:49 -05:00
|
|
|
can. Right now instead of talking to snark-rpc, it uses a web-based protocl
|
|
|
|
handler that simply auto-fills the torrent into i2psnark.
|
2019-12-24 13:46:09 -05:00
|
|
|
* 
|
2019-11-26 22:45:49 -05:00
|
|
|
* [barely started] **Isolate** traffic by contextual identity to it's own HTTP
|
|
|
|
Proxy tunnel, each reflecting it's own pseudonymous identity within I2P. The
|
|
|
|
contextual identities. For now, the contextual identities used to manage
|
|
|
|
browsing are "I2P Browsing" and "Web Browsing" where I2P Browsing is capable
|
|
|
|
of using an outproxy but in the case of traffic destined for the clearnet
|
|
|
|
does not do header rewriting, and Web Browsing falls back to the Proxy
|
|
|
|
configured in Firefox. The I2P Browsing will be expanded to
|
|
|
|
- I2P Amnesiac Browsing: Use for General Browsing, stores no history and
|
|
|
|
uses an HTTP Proxy with a very short tunnel-close timeout and no key-reuse.
|
|
|
|
- I2P Social Networking: Use this for logging into social network accounts,
|
|
|
|
forums, and other interactive asynchronous public communication platforms
|
|
|
|
where your identity is behaviorally linkable. This has a very long
|
|
|
|
tunnel-close timeout and key-reuse until specifically invoked.
|
|
|
|
- I2P Blogging: Use this for posting content to the web interface of your
|
|
|
|
blog or to other similar websites that you create content on.
|
2019-12-24 12:11:06 -05:00
|
|
|
* 
|
2019-02-19 15:46:25 -05:00
|
|
|
|
2019-12-24 12:11:06 -05:00
|
|
|
### Video
|
2019-11-10 22:24:10 -05:00
|
|
|
|
2019-10-16 19:10:24 -04:00
|
|
|

|
|
|
|
|
2019-12-24 13:25:19 -05:00
|
|
|
Documents
|
|
|
|
------------
|
|
|
|
|
2019-12-24 13:32:57 -05:00
|
|
|
* **[Browser Outline](browser.pdf)**: This document is an outline of each of
|
|
|
|
the browser extension's feature panels in presentation form.
|
|
|
|
* **[Smart Lander Design](smartlander.pdf)**: This is the original outline of
|
|
|
|
the smart landing page which became the I2P home page within the browser and
|
|
|
|
the drop-down control panel.
|
2019-12-24 13:25:19 -05:00
|
|
|
|
2019-10-16 15:31:30 -04:00
|
|
|
Super Extra Important Background Info:
|
|
|
|
--------------------------------------
|
|
|
|
|
|
|
|
This plugin's viability is directly related to the viability of Mozilla and
|
|
|
|
Tor's work on hardening Firefox itself and of particular interest are the
|
|
|
|
"Uplift" and "Fusion(Firefox Using Onions)" projects.
|
|
|
|
|
|
|
|
### Links about Project Uplift
|
|
|
|
|
|
|
|
* https://wiki.mozilla.org/Security/Tor_Uplift
|
|
|
|
* https://wiki.mozilla.org/Security/FirstPartyIsolation
|
|
|
|
* https://wiki.mozilla.org/Security/Fingerprinting
|
|
|
|
* https://wiki.mozilla.org/Security/Fennec%2BTor_Project
|
|
|
|
* https://wiki.mozilla.org/Security/Tor_Uplift/Tracking
|
|
|
|
|
|
|
|
Project uplift seems to have largely been accomplished?
|
|
|
|
|
|
|
|
### Links about Project Fusion
|
|
|
|
|
|
|
|
* https://wiki.mozilla.org/Security/Fusion
|
|
|
|
* https://trac.torproject.org/projects/tor/wiki/org/meetings/2018Rome/Notes/FusionProject
|
2019-12-24 12:11:06 -05:00
|
|
|
* https://blog.torproject.org/tor-heart-firefox
|
|
|
|
|
|
|
|
The Old Version
|
|
|
|
---------------
|
|
|
|
|
|
|
|
New versions of this extension create an I2P in Private Browsing mode instead.
|
|
|
|
Since this is a drastic change to the behavior of the old plugin, a new entry
|
|
|
|
for the new plugin has been made at a new location on addons.mozilla.org.
|
|
|
|
|
|
|
|
* This is the new version: [[link]](https://addons.mozilla.org/en-US/firefox/addon/i2p-in-private-browsing/)
|
|
|
|
|
|
|
|
* This is the old version: [[link]](https://addons.mozilla.org/en-US/firefox/addon/I2P-Proxy/)
|
|
|
|
|
|
|
|
Android usage:
|
|
|
|
--------------
|
|
|
|
|
|
|
|
Open the following link
|
|
|
|
[Github Releases Version](https://github.com/eyedeekay/i2psetproxy.js/releases/)
|
|
|
|
in the browser you want to use for I2P. Firefox will warn you that it is about
|
|
|
|
to install an extension and indicate the permissions required. Read them over
|
|
|
|
and when you're ready, accept them. That's all it should take, your browser is
|
|
|
|
now configured to use I2P.
|
|
|
|
|
|
|
|
### Android addons.mozilla.org(Temporarily Disabled)
|
|
|
|
|
|
|
|
If you would prefer to recieve automatic updates from AMO, the correct product
|
|
|
|
page for this plugin is
|
|
|
|
[I2P In Private Browsing](https://addons.mozilla.org/en-US/firefox/addon/i2p-in-private-browsing/).
|
|
|
|
This absolutely requires a working outproxy. If you want to avoid the use of AMO
|
|
|
|
for updates, you can download the identical plugin from this repository's
|
|
|
|
releases page. The latest AMO Plugin will always be identical to the latest
|
|
|
|
github release, except for the version number, which must be incremented for
|
|
|
|
submission to AMO.
|