81 lines
6.2 KiB
HTML
81 lines
6.2 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>I2P Configuration for Chromium</title>
|
||
<link rel="stylesheet" type="text/css" href ="home.css" />
|
||
</head>
|
||
<body>
|
||
<h1 id="how-to-tweak-a-chromium-based-web-browser-to-work-with-i2p">How to tweak a Chromium-Based Web Browser to work with I2P</h1>
|
||
<p>This is not a recommendation! This is a much more complicated procedure than we wish to recommend to anyone. A great deal of thought went into the design of the <a href="https://eyedeekay.github.io/I2P-in-Private-Browsing-Mode-Firefox/">Firefox extension</a>, which is safer and better because of the way Mozilla has designed and maintained it’s webextension privacy API’s. Moreover, Chrome is bad for the Internet. So is Google. If you <strong>must</strong>, absolutely must, use Chrome, then you are part of a different anonymity set, and in all likelihood, unique. You are subject to changes in the way Chrome is configured, including possibly unstable command-line flags which you might use to configure the proxy. This procedure does not make these risks, which are inherent to the use of Chromium, any greater or lesser, rather it teaches you to encapsulate a Chromium-based browsing profile for I2P which is the best that is possible to create with technology available across all Chromium variants. Also use Chromium or even better, ungoogled-chromium because Chrome is an advertising delivery vehicle with trivial browser-like characteristics.</p>
|
||
<p>This is an <em>EXPERIMENTAL</em> Procedure.</p>
|
||
<h2 id="privacy-policy">Privacy Policy</h2>
|
||
<p>This browser extension does not collect any personal information. It requires access to local storage and browsing data permissions in order to delete them when directed to by the user. This browser extension does not transmit any information to any third party, nor will it, ever.</p>
|
||
<p>This browser extension cannot influence telemetry carried out by browser vendors to determine performance in their distribution channels, nor can it mitigate any other browser vendor telemetry.</p>
|
||
<p>This browser extension is entirely Free, Open-Source software.</p>
|
||
<h3 id="dont-enable-syncing-for-this-profile">Don’t enable syncing for this Profile</h3>
|
||
<p>You should not enable the use of a google account or plugin syncing for this profile. If you see something like these:</p>
|
||
<ul>
|
||
<li><strong>Syncing Options:</strong></li>
|
||
<li><img src="sync.png" alt="sync" /> No!</li>
|
||
<li><img src="plugins.png" alt="plugins" /> No!</li>
|
||
</ul>
|
||
<p>Say no, otherwise you will be sharing your profile data with google!</p>
|
||
<h2 id="profileplugin-solution-all-platforms">Profile+Plugin Solution, All Platforms</h2>
|
||
<p>This solution is probably the easiest for the majority of people, but it may not have the best privacy characteristics because it relies on API’s and tooling that Google makes available via extensions, which is pretty narrow.</p>
|
||
<p><strong>Step 1: Create an I2P Browsing Profile</strong></p>
|
||
<ul>
|
||
<li><strong>1A:</strong> Open the people manager to create your I2P persona within Chromium.</li>
|
||
<li><img src="people.png" title="fig:" alt="Open the people manager." /></li>
|
||
<li><strong>1B:</strong> Add a person named I2P Browsing Mode.</li>
|
||
<li><img src="manager.png" title="fig:" alt="Add a person." /></li>
|
||
<li><strong>1C:</strong> Give the person some cool shades to protect them on the <em>darkweb</em>.</li>
|
||
<li><img src="shades.png" title="fig:" alt="Give them some cool shades." /></li>
|
||
<li><strong>1D:</strong> Awwwwwww…</li>
|
||
<li><img src="done.png" title="fig:" alt="Feels bad." /></li>
|
||
</ul>
|
||
<p><strong>Step 2: Install Extension on profile</strong></p>
|
||
<ul>
|
||
<li><strong>2A:</strong> Open the following link in your I2P Browsing Mode persona and install the extension like you normally would, by clicking the “Install in Chrome” button. This is an <em>experimental</em> extension. <a href="https://chrome.google.com/webstore/detail/i2pchromejs/ikdjcmomgldfciocnpekfndklkfgglpe">i2pchrome.js</a></li>
|
||
</ul>
|
||
<h2 id="pure-terminal-solution-unix-only">Pure Terminal Solution, Unix-Only</h2>
|
||
<p>This solution uses a shell script to wrap the Chromium executable and apply I2P-ready settings.</p>
|
||
<p><strong>Step 1: Create a file named /usr/bin/chromium-i2p with the following</strong> <strong>contents.</strong></p>
|
||
<pre><code> #! /usr/bin/env sh
|
||
# Launches Chromium, pre-configured for I2P
|
||
#
|
||
CHROMIUM_I2P="$HOME/i2p/chromium"
|
||
mkdir -p "$CHROMIUM_I2P"
|
||
/usr/bin/chromium --user-data-dir="$CHROMIUM_I2P" \
|
||
--proxy-server="http://127.0.0.1:4444" \
|
||
--proxy-bypass-list=127.0.0.1:7657 \
|
||
--user-data-dir=$HOME/WebApps/i2padmin \
|
||
--safebrowsing-disable-download-protection \
|
||
--disable-client-side-phishing-detection \
|
||
--disable-3d-apis \
|
||
--disable-accelerated-2d-canvas \
|
||
--disable-remote-fonts \
|
||
--disable-sync-preferences \
|
||
--disable-sync \
|
||
--disable-speech \
|
||
--disable-webgl \
|
||
--disable-reading-from-canvas \
|
||
--disable-gpu \
|
||
--disable-32-apis \
|
||
--disable-auto-reload \
|
||
--disable-background-networking \
|
||
--disable-d3d11 \
|
||
--disable-file-system \
|
||
--app=http://127.0.0.1:7657 $@</code></pre>
|
||
<h3 id="notes">Notes</h3>
|
||
<p>As you can see, it simply sets a group of flags. Of particular note are the <code>--user-data-dir=$CHROMIUM_I2P</code> flag, which forces Chromium to treat a new directory as the user data directory and prevents your clearnet Chromium profile from polluting your I2P Chromium profile, and <code>--proxy-server="http://127.0.0.1:4444" --proxy-bypass-list=127.0.0.1:7657</code> which configure Chromium to use I2P’s HTTP Proxy for everything <em>except</em> for router console administration. The rest is just disabling telemetry and features which may be fingerprintable in an effort to reduce the granularity available to an attacker trying to measure Chromium.</p>
|
||
<p><strong>Step 2: To also add a shortcut for incognito mode, create another file named</strong> <strong>/usr/bin/chromium-i2p-incognito with the following contents:</strong></p>
|
||
<pre><code> #! /usr/bin/env sh
|
||
# Launches Chromium, pre-configured for I2P
|
||
#
|
||
CHROMIUM_I2P="$HOME/i2p/chromium"
|
||
mkdir -p "$CHROMIUM_I2P"
|
||
/usr/bin/chromium-i2p --incognito \
|
||
$@</code></pre>
|
||
</body>
|
||
</html>
|