Files
i2p.firefox/index.html

783 lines
20 KiB
HTML
Raw Normal View History

2022-07-31 16:36:24 -04:00
<html>
<head>
<title>
2022-08-27 11:32:55 -04:00
I2P Easy-Install...
2022-07-31 16:36:24 -04:00
</title>
<meta name="author" content="eyedeekay" />
<meta name="description" content="i2p.firefox" />
<meta name="keywords" content="master" />
<link rel="stylesheet" type="text/css" href="style.css" />
2022-08-27 11:32:55 -04:00
<link rel="stylesheet" type="text/css" href="showhider.css" />
2022-07-31 16:36:24 -04:00
</head>
<body>
<div id="navbar">
<a href="#shownav">
Show navigation
</a>
<div id="shownav">
<div id="hidenav">
<ul>
2022-09-16 18:04:01 -04:00
<li>
<a href="..">
Up one level ^
</a>
</li>
2022-07-31 16:36:24 -04:00
<li>
<a href="index.html">
index
</a>
</li>
<li>
<a href="LICENSE.html">
LICENSE
</a>
</li>
<li>
<a href="UPDATES.html">
UPDATES
</a>
</li>
</ul>
<br>
<a href="#hidenav">
Hide Navigation
</a>
</div>
</div>
</div>
2022-09-16 18:04:01 -04:00
<a id="returnhome" href="/">
/
</a>
2022-07-31 16:36:24 -04:00
<h1>
2022-08-27 11:32:55 -04:00
I2P Easy-Install Bundle for Windows(Also/formerly)I2P Browsing Profile for Firefox
2022-07-31 16:36:24 -04:00
</h1>
<h2>
Features:
</h2>
<ul>
<li>
2022-09-18 16:43:19 -04:00
Automatically select an up-to-date, secure browser from the host platform, with Tor Browser and Firefox preferred.
2022-07-31 16:36:24 -04:00
</li>
<li>
Automatically configure a profile for I2P
</li>
<li>
Automatically block-list all non-I2P local destinations
</li>
<li>
2022-09-18 16:43:19 -04:00
Enable first-party isolation, anti-fingerprinting, letterboxing, fusion, other privacy and security options
2022-07-31 16:36:24 -04:00
</li>
<li>
Automatically sandbox I2P, Non-I2P, and I2P-Application cookiestores
</li>
</ul>
<h2>
Build Dependencies:
</h2>
<p>
2022-09-18 16:43:19 -04:00
To build this, you will need the following software packages
(all available in Debian and Ubuntu, see WSL section below):
2022-07-31 16:36:24 -04:00
</p>
<ul>
<li>
make
</li>
<li>
nsis
</li>
<li>
dos2unix
</li>
<li>
curl
</li>
<li>
jq
</li>
</ul>
2022-09-18 16:43:19 -04:00
<p>
These need to be installed in the environment where the NSIS
Package is build, NOT the environment where the java package
is built. These may be different, because you will need to
use a system which provides a Unix-like environment on top of
a Windows system. You can use WSL or Cygwin, and more detailed
instructions are provided below.
</p>
<p>
Building for Windows target from Linux is not possible unless
you obtain a Windows package from my github.
</p>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
In addition, you will need the NSIS plugin &ldquo;ShellExecAsUser&rdquo; which you can get from the
<a href="https://nsis.sourceforge.io/ShellExecAsUser_plug-in">
2022-07-31 16:36:24 -04:00
NSIS Wiki Page
</a>
. In order to install
the plugin on Debian, Ubuntu, or using
<code>
WSL
</code>
, you can download the:
2022-09-16 18:04:01 -04:00
<a href="https://nsis.sourceforge.io/mediawiki/images/6/68/ShellExecAsUser_amd64-Unicode.7z">
2022-07-31 16:36:24 -04:00
7zip release
</a>
and copy the content of
<code>
Plugins
</code>
to
<code>
/usr/share/nsis/Plugins
</code>
.
</p>
2022-09-16 18:04:01 -04:00
<pre><code class="language-sh">cp -rv Plugins/* /usr/share/nsis/Plugins/
2022-07-31 16:36:24 -04:00
</code></pre>
<h2>
2022-09-16 18:04:01 -04:00
Including a jpackaged I2P Router
2022-07-31 16:36:24 -04:00
</h2>
<p>
2022-09-16 18:04:01 -04:00
<strong>
Prerequisites:
</strong>
You need to have OpenJDK 14 or greater installed and configured
with your
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%JAVA_HOME%
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
environment variable configured and
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%JAVA_HOME%/bin
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
on
your
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%PATH%
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
. You need to have Apache Ant installed and configured with
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%ANT_HOME%
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
environment variable configured and
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%ANT_HOME%/bin
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
on your
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%PATH%
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
. You must have
Cygwin installed. You must have
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
NSIS.exe
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
installed and
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
makensis
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
available on your
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
%PATH%
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
. You must have Git for Windows installed. When installing git for Windows,
you should select &ldquo;Checkout as is, commit as is&rdquo; and leave line-endings alone.
2022-07-31 16:36:24 -04:00
</p>
2022-09-18 16:43:19 -04:00
<p>
The Windows build tools listed above must be installed on the Windows host machine.
</p>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
TODO: Add links to the respective instructions for each of these.
2022-07-31 16:36:24 -04:00
</p>
<p>
2022-09-16 18:04:01 -04:00
<strong>
Note that after the dependencies are installed, this step is automated
</strong>
<strong>
with
<code>
./build.sh
</code>
.
</strong>
2022-07-31 16:36:24 -04:00
</p>
<p>
In order to include a jpackaged(dependency-free) I2P router in the Profile
2022-09-16 18:04:01 -04:00
Bundle you will need to build the jpackaged I2P router as an &ldquo;App Image&rdquo; on
2022-07-31 16:36:24 -04:00
a Windows system and place it into a directory called
<code>
I2P
</code>
in your
<code>
i2p.firefox
</code>
2022-09-16 18:04:01 -04:00
checkout. Building without a jpackage is no longer supported.
2022-07-31 16:36:24 -04:00
</p>
<p>
Assuming a working java and jpackage environment on your Windows system, the
2022-09-16 18:04:01 -04:00
following command should generate a suitable &ldquo;App Image&rdquo; in a directory
called &ldquo;I2P.&rdquo;
2022-07-31 16:36:24 -04:00
</p>
<pre><code> export I2P_VERSION=0.9.49
cp -R ../i2p.i2p/pkg-temp/lib build/lib
2022-09-16 18:04:01 -04:00
jpackage --type app-image --name I2P --app-version &quot;$I2P_VERSION&quot; \
2022-07-31 16:36:24 -04:00
--verbose \
--resource-dir build/lib \
--input build/lib --main-jar router.jar --main-class net.i2p.router.RouterLaunch
</code></pre>
<p>
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
2022-09-16 18:04:01 -04:00
isn&rsquo;t present to use at build time, the inclusion will be skipped automatically
2022-07-31 16:36:24 -04:00
with a non-fatal warning.
</p>
<p>
2022-09-16 18:04:01 -04:00
Pre-built app-images are available from my daily releases at:
2022-07-31 16:36:24 -04:00
</p>
2022-09-16 18:04:01 -04:00
<pre><code> https://github.com/eyedeekay/i2p.plugins.firefox/releases/
</code></pre>
2022-07-31 16:36:24 -04:00
<h2>
2022-09-16 18:04:01 -04:00
Windows Build
2022-07-31 16:36:24 -04:00
</h2>
<p>
2022-09-16 18:04:01 -04:00
After installing the dependencies and completing the preparations,
just run
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
make
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
. This will produce the install.exe - the windows
installer, which sets up the shortcuts to launch Firefox on Windows.
Building without a jpackage is no longer supported.
2022-07-31 16:36:24 -04:00
</p>
<p>
2022-09-16 18:04:01 -04:00
When generating a build it&rsquo;s important to make sure that the
licenses for all the bundled softare are included. This should happen
automatically. When bundling software, describe the terms and where
they are applied in the
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
LICENSE.index
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
, then add the full license
to the
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
licenses
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
directory. Then, add the full license to the
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
cat
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
command in the
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
build/licenses
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
make target. The build/licenses
target is run automatically during the build process.
</p>
<h2>
End-to-End Windows build process using WSL(
<strong>
Recommended
</strong>
)
</h2>
<p>
<strong>
See
<code>
config.sh
</code>
and
<code>
i2pversion
</code>
for instructions on how to tweak
</strong>
<strong>
the build process. File an issue if you need help.
</strong>
</p>
<p>
<strong>
If you&rsquo;ve already done this once, you can just use:
</strong>
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
./unsigned.sh
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
<strong>
in
<code>
git bash
</code>
</strong>
to automatically build an installer. If you
are using this method, you may use the
2022-07-31 16:36:24 -04:00
<code>
makensis
</code>
2022-09-16 18:04:01 -04:00
and
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
make
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
from
Ubuntu in WSL.
2022-07-31 16:36:24 -04:00
</p>
<ol>
<li>
<p>
2022-09-16 18:04:01 -04:00
<a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10#manual-installation-steps">
Set up Windows Subsystem for Linux per Microsoft&rsquo;s instructions
2022-07-31 16:36:24 -04:00
</a>
</p>
</li>
<li>
<p>
2022-09-16 18:04:01 -04:00
<a href="https://www.microsoft.com/store/apps/9n6svws3rx71">
Install Ubuntu Focal per Microsoft&rsquo;s instructions
2022-07-31 16:36:24 -04:00
</a>
</p>
</li>
<li>
<p>
Open Git Bash.
</p>
</li>
<li>
<p>
Install prerequisites
<code>
2022-09-18 16:43:19 -04:00
wsl sudo apt-get update &amp;&amp; sudo apt-get install make nsis nsis-pluginapi dos2unix curl jq
2022-07-31 16:36:24 -04:00
</code>
</p>
</li>
<li>
<p>
Clone
<code>
i2p.i2p
</code>
and
<code>
i2p.firefox
</code>
</p>
<pre><code>git clone https://github.com/i2p/i2p.i2p
git clone https://github.com/i2p/i2p.firefox
</code></pre>
</li>
<li>
<p>
Move to the i2p.i2p directory. Build the .jar files required to build the App Image
inside i2p.i2p. Return to home.
</p>
<pre><code>cd i2p.i2p
ant clean pkg
cd ..
</code></pre>
</li>
<li>
<p>
Move into the i2p.firefox directory. Run the
<code>
./build.sh
</code>
script.
</p>
<pre><code>cd i2p.firefox
./build.sh
</code></pre>
</li>
<li>
<p>
Compile the NSIS installer using WSL.
</p>
<pre><code>wsl make
</code></pre>
</li>
</ol>
<h2>
2022-09-16 18:04:01 -04:00
End-to-End Windows build process using Cygwin(More difficult than WSL for now)
2022-07-31 16:36:24 -04:00
</h2>
<p>
I highly recommend you look into the Chocolatey package manager, which makes it much
easier to configure these tools and keep them up to date.
</p>
<p>
<strong>
Prerequisites:
</strong>
2022-09-16 18:04:01 -04:00
In addition to the other prerequisites, you will need to to have
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
make
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
installed with
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
cygwin
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
. If you are using this method, you cannot use the
automated build scripts without a hack. You will need to create a file called
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
wsl
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
in a place that is in the path used by
2022-07-31 16:36:24 -04:00
<code>
2022-09-16 18:04:01 -04:00
git-bash.exe
2022-07-31 16:36:24 -04:00
</code>
2022-09-16 18:04:01 -04:00
sessions, with the content:
2022-07-31 16:36:24 -04:00
</p>
2022-09-16 18:04:01 -04:00
<pre><code>#! /usr/bin/env bash
$@
</code></pre>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
For our purposes, as long as everything else is set up and you&rsquo;re using git bash,
that is enough to make the scripts compatible with
<code>
cygwin
</code>
. Cygwin builds without
git bash are not likely to work.
2022-07-31 16:36:24 -04:00
</p>
<ol>
<li>
<p>
Run the Cygwin
<code>
setup-$arch.exe
</code>
for your platform to set up new packages. Select the
<code>
make
</code>
<code>
jq
</code>
<code>
dos2unix
</code>
and
<code>
curl
</code>
packages.
</p>
</li>
<li>
<p>
Open a cygwin terminal.
</p>
</li>
<li>
<p>
Clone
<code>
i2p.i2p
</code>
and
<code>
i2p.firefox
</code>
</p>
<pre><code>git clone https://github.com/i2p/i2p.i2p
git clone https://github.com/i2p/i2p.firefox
</code></pre>
</li>
<li>
<p>
Move to the i2p.i2p directory. Build the .jar files required to build the App Image
inside i2p.i2p. Return to home.
</p>
<pre><code>cd i2p.i2p
ant clean pkg
cd ..
</code></pre>
</li>
<li>
<p>
Move into the i2p.firefox directory. Run the
<code>
./build.sh
</code>
script.
</p>
<pre><code>cd i2p.firefox
./build.sh
</code></pre>
</li>
<li>
<p>
Run
<code>
make
</code>
to build the installer.
</p>
</li>
</ol>
<h2>
Doing a Release
</h2>
<p>
Once you have the installer
<code>
.exe
</code>
2022-09-16 18:04:01 -04:00
file produced by NSIS, you&rsquo;re almost ready to
2022-07-31 16:36:24 -04:00
do a release. As a final step, someone must sign the
<code>
.exe
</code>
file using a
Certificate which Windows will recognize. The current signer of the Windows
bundle is Zlatinb. Standard Windows signing tools are used.
</p>
2022-09-16 18:04:01 -04:00
<pre><code class="language-sh">./release.sh
2022-07-31 16:36:24 -04:00
</code></pre>
2022-09-16 18:04:01 -04:00
<p>
produces the binary.
</p>
2022-07-31 16:36:24 -04:00
<h2>
Building a signed update file
</h2>
<p>
Building a signed update file for automatically updating a Windows I2P router
requires you to either be using linux, or have Go installed in your Cygwin or WSL environment.
On Linux(Where I sign the su3 files), this works:
</p>
<pre><code> make su3
</code></pre>
<p>
to run the signing tool if necessary and then package the installer in a
signed update file.
</p>
<h2>
Docker Support
</h2>
<p>
2022-09-16 18:04:01 -04:00
<strong>
MOVED, DEPRECATION NOTICE:
</strong>
Most of this functionality has been moved
to
2022-09-18 00:40:30 -04:00
<a href="http://git.idk.i2p/idk/i2p.plugins.firefox">
http://git.idk.i2p/idk/i2p.plugins.firefox
2022-09-16 18:04:01 -04:00
</a>
which is more stable,
easier to build and use, and easier to incorporate into other
projects.
2022-07-31 16:36:24 -04:00
</p>
2022-09-16 18:04:01 -04:00
<ul>
<li>
2022-09-17 16:23:20 -04:00
<a href="https://git.idk.i2p/idk/i2p.plugins.firefox/-/blob/main/docker.sh">
https://git.idk.i2p/idk/i2p.plugins.firefox/-/blob/main/docker.sh
2022-09-16 18:04:01 -04:00
</a>
</li>
</ul>
<h2>
Unix Support
</h2>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
<strong>
MOVED. DEPRECATION NOTICE:
</strong>
Most of this functionality has been moved
to
2022-09-18 00:40:30 -04:00
<a href="http://git.idk.i2p/idk/i2p.plugins.firefox">
http://git.idk.i2p/idk/i2p.plugins.firefox
2022-09-16 18:04:01 -04:00
</a>
which is more stable,
easier to build and use, and easier to incorporate into other
projects. It is the better option for nearly every non-Windows case
right now. You can get binary packages from:
</p>
<ul>
<li>
<a href="https://github.com/eyedeekay/i2p.plugins.firefox/releases">
https://github.com/eyedeekay/i2p.plugins.firefox/releases
</a>
</li>
</ul>
<p>
or look at
</p>
<ul>
<li>
<a href="https://i2pgit.org/idk/i2p.plugins.firefox/-/blob/master/PACKAGES.md">
https://i2pgit.org/idk/i2p.plugins.firefox/-/blob/master/PACKAGES.md
</a>
</li>
</ul>
<p>
for instructions on how to build your own packages. These packages are
unofficial! Although I do dogfood most of them and the
<code>
.jar
</code>
gets thorough
testing.
2022-07-31 16:36:24 -04:00
</p>
<p>
2022-09-16 18:04:01 -04:00
<strong>
The only remotely interesting Unix functionality that remains in this
</strong>
<strong>
repository is the construction of a portable. You can use
<code>
targz.sh
</code>
to
</strong>
<strong>
generate that.
</strong>
2022-07-31 16:36:24 -04:00
</p>
<h2>
Issues
</h2>
<p>
To report issues against this browser profile, please file issues
at
2022-09-16 18:04:01 -04:00
<a href="https://i2pgit.org/i2p-hackers/i2p.firefox">
2022-07-31 16:36:24 -04:00
the official Gitlab
</a>
or the
2022-09-16 18:04:01 -04:00
<a href="https://github.com/i2p/i2p.firefox">
2022-07-31 16:36:24 -04:00
Github Mirror
</a>
. Issues
pertaining to the plugins may be reported to their upstream
2022-09-16 18:04:01 -04:00
maintainers if it&rsquo;s determined that our configuration is not at
2022-07-31 16:36:24 -04:00
fault.
</p>
2022-09-16 18:04:01 -04:00
<h2>
Credits
</h2>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
This profile manager makes use of a set of browser extensions which are largely the work of others.
It makes use of dependencies that are the work of others. In many ways, it&rsquo;s merely an elaborate
configuration tool. A smart one, but a configuration tool nonetheless. Many thanks to the following
projects, developers, and communities:
2022-07-31 16:36:24 -04:00
</p>
2022-09-16 18:04:01 -04:00
<h3>
Firefox and Chrome Extensions
</h3>
<ul>
<li>
<a href="https://noscript.net">
NoScript - Giorgio Maone and others
</a>
</li>
<li>
<a href="https://www.eff.org/https-everywhere">
HTTPS Everywhere - Electronic Frontier Foundation
</a>
</li>
<li>
<a href="https://ublockorigin.com/">
uBlock Origin - Raymond Gorhill and others
</a>
</li>
<li>
<a href="https://www.localcdn.org/">
LocalCDN - nobody and others
</a>
</li>
<li>
<a href="https://jshelter.org/">
jShelter - Libor Polčák and others
</a>
</li>
</ul>
<h3>
Firefox Configuration Modifiations
</h3>
<ul>
<li>
<a href="https://github.com/arkenfox/user.js/">
Arkenfox - Thorin Oakenpants and Others
</a>
</li>
</ul>
2022-07-31 16:36:24 -04:00
<p>
2022-09-16 18:04:01 -04:00
You can find the license files for each of the these projects in the
<code>
src/i2p.firefox.*.profile/extensions/*
</code>
directory for Firefox, and the
<code>
src/i2p.chromium.*.profile/extensions/*.js/*
</code>
directories for Chromium within
the
<a href="https://i2pgit.org/idk/i2p.plugins.firefox">
<code>
i2p.plugins.firefox
</code>
2022-07-31 16:36:24 -04:00
</a>
2022-09-16 18:04:01 -04:00
project.
2022-07-31 16:36:24 -04:00
</p>
<p>
I2P in Private Browsing is developed on Gitlab and Github by idk and the community:
-
2022-09-16 18:04:01 -04:00
<a href="https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox">
2022-07-31 16:36:24 -04:00
https://i2pgit.org/idk/I2P-in-Private-Browsing-Mode-Firefox
</a>
-
2022-09-16 18:04:01 -04:00
<a href="https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox">
2022-07-31 16:36:24 -04:00
https://github.com/eyedeekay/I2P-in-Private-Browsing-Mode-Firefox
</a>
</p>
2022-09-16 18:04:01 -04:00
<div id="sourcecode">
<span id="sourcehead">
<strong>
Get the source code:
</strong>
</span>
<ul>
<li>
<a href="https://github.com/eyedeekay/i2p.firefox">
Source Repository: (https://github.com/eyedeekay/i2p.firefox)
</a>
</li>
</ul>
</div>
2022-07-31 16:36:24 -04:00
<div>
<a href="#show">
Show license
</a>
<div id="show">
<div id="hide">
<pre><code>Copyright 2018
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</code></pre>
<a href="#hide">
Hide license
</a>
</div>
</div>
</div>
<div>
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
</div>
2022-07-31 18:00:50 -04:00
<div>
<a href="https://geti2p.net/">
2022-08-27 11:32:55 -04:00
<img src="i2plogo.png"></img>
2022-07-31 18:00:50 -04:00
I2P
</a>
</div>
2022-07-31 16:36:24 -04:00
</body>
</html>