Files
I2P_Website/i2p2www/pages/site/about/intro.html

141 lines
9.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{% extends "global/layout.html" %}
{% block title %}{{ _('Intro') }}{% endblock %}
{% block content %}
<h1>{{ _('The Invisible Internet Project') }} (I2P)</h1>
<p>{% trans ip='http://en.wikipedia.org/wiki/Internet_Protocol',
tcp='http://en.wikipedia.org/wiki/Transmission_Control_Protocol',
pke='http://en.wikipedia.org/wiki/Public_key_encryption' -%}
I2P is an anonymous network, exposing a simple layer that applications can
use to anonymously and securely send messages to each other. The network itself is
strictly message based (a la <a href="{{ ip }}">IP</a>), but there is a
library available to allow reliable streaming communication on top of it (a la
<a href="{{ tcp }}">TCP</a>).
All communication is end to end encrypted (in total there are four layers of
encryption used when sending a message), and even the end points ("destinations")
are cryptographic identifiers (essentially a pair of <a href="{{ pke }}">public keys</a>).
{%- endtrans %}</p>
<h2>{{ _('How does it work?') }}</h2>
<p>{% trans tunnelrouting=site_url('docs/how/tunnel-routing') -%}
To anonymize the messages sent, each client application has their I2P "router"
build a few inbound and outbound "<a href="{{ tunnelrouting }}">tunnels</a>" - a
sequence of peers that pass messages in one direction (to and from the client,
respectively). In turn, when a client wants to send a message to another client,
the client passes that message out one of their outbound tunnels targeting one of the
other client's inbound tunnels, eventually reaching the destination. Every
participant in the network chooses the length of these tunnels, and in doing so,
makes a tradeoff between anonymity, latency, and throughput according to their
own needs. The result is that the number of peers relaying each end to end
message is the absolute minimum necessary to meet both the sender's and the
receiver's threat model.
{%- endtrans %}</p>
<p>{% trans netdb=site_url('docs/how/network-database'),
dht='http://en.wikipedia.org/wiki/Distributed_hash_table',
kad='http://en.wikipedia.org/wiki/Kademlia' -%}
The first time a client wants to contact another client, they make a query
against the fully distributed "<a href="{{ netdb }}">network
database</a>" - a custom structured <a href="{{ dht }}">
distributed hash table (DHT)</a> based off the
<a href="{{ kad }}">Kademlia algorithm</a>. This is done
to find the other client's inbound tunnels efficiently, but subsequent messages
between them usually includes that data so no further network database lookups
are required.
{%- endtrans %}</p>
<p>{% trans docs=site_url('docs') -%}
More details about how I2P works are <a href="{{ docs }}">available</a>.
{%- endtrans %}</p>
<h2>{{ _('What can you do with it?') }}</h2>
<p>{% trans %}When you install the I2P software made available at geti2p.net, you are
actually installing an I2P router and an accompanying bundle of basic
applications. The I2P Java distribution is the first I2P software gateway and
has been actively developed since 2001.{%- endtrans %}</p>
<p>{% trans %}The applications are made available through a webUI, which listens at
127.0.0.1:7657, and the main page of which is called the “Router Console,”
where you monitor the health of your connection to the network and access
applications that to use on the network.{%- endtrans %}</p>
<h3>{% trans %}What is included:{%- endtrans %}</h3>
<p>{% trans %}<strong>The Set Up Wizard</strong>: When you download the
I2P software, a set up wizard will guide you through a few configuration steps
while your router is making its first connections to the network. This happens
the same way that your home router connects you to the Internet. During the set
up process, you will be given the option to test your bandwidth and set your
bandwidth limits in order to ensure a good connection as a network peer.{%- endtrans %}</p>
<p>{% trans %}<strong>The I2P Router Console</strong>: Here is where you can see your
network connections and information about your router. You will be able to see how many peers you
have, and other information that will help if you need to troubleshoot. You can
stop and start the router as well. You will see the applications that the
software includes, as well as links to some community forums and sites on the
I2P network. You will receive news when there is a a new software release, and
will be able to download the latest version here as well. Additionally, you can
find shortcuts to other available applications. The console is customizable and
includes a default light theme with a dark theme option.{%- endtrans %}</p>
<p>{% trans %}<strong>SusiMail</strong>: SusiMail is a secure email client. It is primarily
intended for use with Postmans email servers inside of the I2P network . It
is designed to avoid leaking information about email use to other networks.
SusiMail is bridged so it can send and receive email from the internet as well.
Occasionally you may see some services like Gmail classifying it as spam, which
you can correct in your Internet email service providers settings.{%- endtrans %}</p>
<p>{% trans bittorrent='http://www.bittorrent.com/' -%}<strong><a href="{{ bittorrent }}">I2PSnark</a></strong>: Snark is an I2P network only BitTorrent client.
It never makes a connection to a peer over any other network.{%- endtrans %}</p>
<p>{% trans addressbook='docs/naming' -%}<strong><a href="{{ addressbook }}">The AddressBook</a></strong>: This is a locally-defined list of
human-readable addresses ( ie: i2p-projekt.i2p) and corresponding I2P addresses.(udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna.b32.i2p) It integrates with other applications to
allow you to use those human-readable addresses in place of those I2P
addresses. It is more similar to a hosts file or a contact list than a network
database or a DNS service. There is no recognized global namespace, you decide
what any given .i2p domain maps to in the end.{%- endtrans %}</p>
<p><strong>The QR Code Generator</strong>: Besides the Addressbook, I2P
addresses can be shared by converting them into QR codes and scanning them with
a camera. This is especially useful for Android devices.</p>
<p>{% trans i2ptunnel=site_url('docs/api/i2ptunnel') -%}<strong><a href="{{ i2ptunnel }}">I2P Hidden Services Manager</a></strong> This is a general-purpose
adapter for forwarding services ( ie SSH ) into I2P and proxying client
requests to and from I2P. It provides a variety of “Tunnel Types” which are
able able to do advance filtering of traffic before it reaches I2P.{%- endtrans %}</p>
<h3>{% trans %}Applications Outside I2P to use with I2P{%- endtrans %}</h3>
<p>{% trans browser=site_url('about/browser-config') %}<strong><a href="{{ browser }}">Mozilla Firefox</a></strong>: A web browser with advanced privacy and
security features, this is the best browser to configure to browse I2P
sites.{%- endtrans %}</p>
<p>{% trans browser=site_url('about/browser-config') %}<strong><a href="{{ browser }}">Chromium</a></strong>: A web browser developed by Google that is the
Open-Source base of Google Chrome, this is sometimes used as an alternative to
Firefox.{%- endtrans %}</p>
<p>{% trans %}<strong><a href="https://biglybt.com">BiglyBT</a></strong>: A Feature-Rich bittorrent client including I2P
support and the unique ability to “Bridge” regular torrents in-to I2P so
people can download them anonymously.{%- endtrans %}</p>
<p><strong>OpenSSH</strong>: OpenSSH is a popular program used by systems
administrators to remotely administer a server, or to provide “Shell”
accounts for users on the server.</p>
<p>{% trans git=site_url('docs/applications/git'), gitlab=site_url('docs/applications/gitlab') %}<strong><a href="{{ git }}">Git</a>/<a href="{{ gitlab}}">Gitlab</a></strong>: Git is a source-code control tool which is
distributed, and often recommends a fork-first workflow. Hosting source code on
I2P is an important activity, so Gitlab-specific instructions are available for
all to use.{%- endtrans %}</p>
<p>{% trans %}<strong>Debian and Ubuntu GNU/Linux</strong>: It is possible to obtain
packages for Debian and Ubuntu GNU/Linux over I2P using <a href="https://i2pgit.org/idk/apt-transport-i2p">apt-transport-i2p</a> and
<a href="https://i2pgit.org/idk/apt-transport-i2phttp">apt-transport-i2phttp</a>. In the future, a bittorrent-based transport may also be
developed. {%- endtrans %}</p>
<h3>{% trans %} Applications for Developers to create new things{%- endtrans %}</h3>
<p>{% trans sam=site_url('docs/api/sam') %}<strong><a href="{{ sam }}">The SAM API Bridge</a></strong>: The SAM API is a language-independent
API for writing applications that are I2P-native by communicating with the
local I2P router. It can provide Streaming-like capabilities, Anonymous
Datagrams, or Repliable Datagrams.{%- endtrans %}</p>
<p>{% trans bob=site_url('docs/api/bob') %}<strong><a href="{{ bob }}">The BOB API Bridge</a></strong>: This is a deprecated technology, BOB
users should migrate to SAM if it is possible for them to do so.{%- endtrans %}</p>
<p>{% trans i2cp=site_url('docs/protocol/i2cp') %}<strong><a href="{{ i2cp }}">The I2CP API</a></strong>: Not strictly an application, this is how Java
applications communicate with the I2P router to set up tunnels, generate and
manage keys, and communicate with other peers on the network.{%- endtrans %}</p>
<p>{% trans team=site_url('about/team'), volunteer=site_url('get-involved'),
licenses=site_url('get-involved/develop/licenses'), sam=site_url('docs/api/sam'),
roadmap=site_url('get-involved/roadmap') -%}
The I2P development <a href="{{ team }}">team</a> is an open group, welcome to all
who are interested in <a href="{{ volunteer }}">getting involved</a>, and all of
the code is <a href="{{ licenses }}">open source</a>. The core I2P SDK and the
current router implementation is done in Java. The network is actively being developed
and has not yet reached the 1.0 release, but the current <a href="{{ roadmap }}">roadmap</a>
describes our schedule.
{%- endtrans %}</p>
{% endblock %}