forked from I2P_Developers/i2p.www
Moved supported_applications and bittorrent pages into docs/applications
This commit is contained in:
@@ -27,6 +27,12 @@
|
||||
<li><a href="{{ site_url('docs/how/elgamalaes') }}"><span>{{ _('ElGamal/AES+SessionTags') }}</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="has-sub"><a href="#"><span>{{ _('Applications') }}</span></a>
|
||||
<ul>
|
||||
<li><a href="{{ site_url('docs/applications/supported') }}"><span>{{ _('Supported applications') }}</span></a></li>
|
||||
<li><a href="{{ site_url('docs/applications/bittorrent') }}"><span>{{ _('Bittorrent') }}</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="has-sub"><a href="#"><span>{{ _('API') }}</span></a>
|
||||
<ul>
|
||||
<li><a href="{{ site_url('docs/api/i2ptunnel') }}"><span>{{ _('I2PTunnel') }}</span></a></li>
|
||||
@@ -48,7 +54,6 @@
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="howto.html"><span>{{ _('Howto docs') }}</span></a></li>
|
||||
<li><a href="applications.html"><span>{{ _('Applications') }}</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="has-sub"><a href="#"><span>{{ _('Support') }}</span></a>
|
||||
|
276
i2p2www/pages/site/docs/applications/bittorrent.html
Normal file
276
i2p2www/pages/site/docs/applications/bittorrent.html
Normal file
@@ -0,0 +1,276 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}Bittorrent over I2P{% endblock %}
|
||||
{% block content %}
|
||||
Updated September 2012, current as of router version 0.9.2
|
||||
|
||||
|
||||
<p>There are several bittorrent clients and trackers on I2P.
|
||||
As I2P addressing uses a Destination instead of an IP and port, minor
|
||||
changes are required to tracker and client software for operation on I2P.
|
||||
These changes are specified below.
|
||||
Note carefully the guidelines for compatibility with older I2P clients and trackers.
|
||||
</p>
|
||||
<p>
|
||||
This page specifies protocol details common to all clients and trackers.
|
||||
Specific clients and trackers may implement other unique features or protocols.
|
||||
</p>
|
||||
<p>
|
||||
We welcome additional ports of client and tracker software to I2P.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Announces</h2>
|
||||
<p>
|
||||
Clients generally include a fake port=6881 parameter in the announce, for compatibility with older trackers.
|
||||
Trackers may ignore the port parameter, and should not require it.
|
||||
</p>
|
||||
<p>
|
||||
The ip parameter is the base 64 of the client's
|
||||
<a href="common_structures_spec.html#struct_Destination">Destination</a>,
|
||||
using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.
|
||||
<a href="common_structures_spec.html#struct_Destination">Destinations</a>
|
||||
are 387+ bytes, so the Base 64 is 516+ bytes.
|
||||
Clients generally append ".i2p" to the Base 64 Destination for compatibility with older trackers.
|
||||
Trackers should not require an appended ".i2p".
|
||||
</p>
|
||||
<p>
|
||||
Other parameters are the same as in standard bittorrent.
|
||||
</p>
|
||||
<p>
|
||||
While all current Destinations for clients are exactly 387 bytes, a tracker should not
|
||||
presume that will always be so. A reasonable maximum to assume, for now, is 475 bytes.
|
||||
As the tracker must decode the Base64 to deliver compact responses (see below),
|
||||
the tracker should probably decode and reject bad Base64 when announced.
|
||||
</p>
|
||||
<p>
|
||||
The default response type is non-compact. Clients may request a compact response with
|
||||
the parameter compact=1. A tracker may, but is not required to, return
|
||||
a compact response when requested.
|
||||
</p>
|
||||
<p>
|
||||
Developers of new I2P clients
|
||||
are strongly encouraged to implemenent announces over their own tunnel rather than
|
||||
the HTTP client proxy at port 4444. Doing so is both more efficient and it allows
|
||||
destination enforcement by the tracker (see below).
|
||||
</p>
|
||||
<p>
|
||||
There are no known I2P clients or trackers that currently support UDP announce/responses.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Non-Compact Tracker Responses</h2>
|
||||
<p>
|
||||
The non-compact response is just as in standard bittorrent, with an I2P "ip".
|
||||
</p>
|
||||
<p>
|
||||
Trackers generally include a fake port key, or use the port from the announce, for compatibility with older clients.
|
||||
Clients must ignore the port parameter, and should not require it.
|
||||
</p>
|
||||
<p>
|
||||
The value of the ip key is the base 64 of the client's
|
||||
<a href="common_structures_spec.html#struct_Destination">Destination</a>, as described above.
|
||||
Trackers generally append ".i2p" to the Base 64 Destination if it wasn't in the announce ip, for compatibility with older clients.
|
||||
Clients should not require an appended ".i2p" in the responses.
|
||||
</p>
|
||||
<p>
|
||||
Other response keys and values are the same as in standard bittorrent.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Compact Tracker Responses</h2>
|
||||
<p>
|
||||
In the compact response, the value of the "peers" dictionary key is a single byte string,
|
||||
whose length is a multiple of 32 bytes.
|
||||
This string contains the concatenated
|
||||
<a href="common_structures_spec.html#type_Hash">32-byte SHA-256 Hashes</a>
|
||||
of the binary
|
||||
<a href="common_structures_spec.html#struct_Destination">Destinations</a>
|
||||
of the peers.
|
||||
This hash must be computed by the tracker, unless destination enforcement
|
||||
(see below) is used, in which case the hash delivered in the X-I2P-DestHash
|
||||
or X-I2P-DestB32 HTTP headers may be converted to binary and stored.
|
||||
The peers key may be absent, or the peers value may be zero-length.
|
||||
</p>
|
||||
<p>
|
||||
While compact response support is optional for both clients and trackers, it is highly
|
||||
recommended as it reduces the nominal response size by over 90%.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Destination Enforcement</h2>
|
||||
<p>
|
||||
Some, but not all, I2P bittorrent clients announce over their own tunnels.
|
||||
Trackers may choose to prevent spoofing by requiring this, and verifying the
|
||||
client's
|
||||
<a href="common_structures_spec.html#struct_Destination">Destination</a>
|
||||
using HTTP headers added by the I2PTunnel HTTP Server tunnel.
|
||||
The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which are
|
||||
different formats for the same information.
|
||||
These headers cannot be spoofed by the client.
|
||||
A tracker enforcing destinations need not require the ip announce parameter at all.
|
||||
</p>
|
||||
<p>
|
||||
As several clients use the HTTP proxy instead of their own tunnel for announces,
|
||||
destination enforcement will prevent usage by those clients unless or until
|
||||
those clients are converted to announcing over their own tunnel.
|
||||
</p>
|
||||
<p>
|
||||
Unfortunately, as the network grows, so will the amount of maliciousness,
|
||||
so we expect that all trackers will eventually enforce destinations.
|
||||
Both tracker and client developers should anticipate it.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Announce Host Names</h2>
|
||||
<p>
|
||||
Announce URL host names in torrent files generally follow the
|
||||
<a href="naming.html">I2P naming standards</a>.
|
||||
In addition to host names from address books and ".b32.i2p" Base 32 hostnames,
|
||||
the full Base 64 Destination (with [or without?] ".i2p" appended) should be supported.
|
||||
Non-open trackers should recognize their own host name in any of these formats.
|
||||
</p>
|
||||
<p>
|
||||
To preserve anonymity,
|
||||
clients should generally ignore non-I2P announce URLs in torrent files.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>Client Connections</h2>
|
||||
<p>
|
||||
Client-to-client connections use the standard protocol over TCP.
|
||||
There are no known I2P clients that currently support uTP communication.
|
||||
</p>
|
||||
<p>
|
||||
I2P uses 387+ byte
|
||||
<a href="common_structures_spec.html#struct_Destination">Destinations</a> for addresses, as explained above.
|
||||
</p>
|
||||
<p>
|
||||
If the client has only the hash of the destination (such as from a compact response or PEX), it must perform a lookup
|
||||
by encoding it with Base 32, appending ".b32.i2p", and querying the Naming Service,
|
||||
which will return the full Destination if available.
|
||||
</p>
|
||||
<p>
|
||||
If the client has a peer's full Destination it received in a non-compact response, it should use it
|
||||
directly in the connection setup.
|
||||
Do not convert a Destination back to a Base 32 hash for lookup, this is quite inefficient.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Cross-Network Prevention</h2>
|
||||
<p>
|
||||
To preserve anonymity,
|
||||
I2P bittorrent clients generally do not support non-I2P announces or peer connections.
|
||||
I2P HTTP outproxies often block announces.
|
||||
There are no known SOCKS outproxies supporting bittorrent traffic.
|
||||
</p>
|
||||
<p>
|
||||
To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers often
|
||||
block accesses or announces that contain an X-Forwarded-For HTTP header.
|
||||
Trackers should reject standard network announces with IPv4 or IPv6 IPs, and not deliver them in responses.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>PEX</h2>
|
||||
<p>
|
||||
I2P PEX is based on ut_pex.
|
||||
As there does not appear to be a formal specification of ut_pex available,
|
||||
it may be necessary to review the libtorrent source for assistance.
|
||||
It is an extension message, identified as "i2p_pex" in
|
||||
<a href="http://www.bittorrent.org/beps/bep_0010.html">the extension handshake</a>.
|
||||
It contains a bencoded dictionary with up to 3 keys, "added", "added.f", and "dropped".
|
||||
The added and dropped values are each a single byte string, whose length is a multiple of 32 bytes.
|
||||
These byte strings are the concatenated SHA-256 Hashes of the binary
|
||||
<a href="common_structures_spec.html#struct_Destination">Destinations</a>
|
||||
of the peers.
|
||||
This is the same format as the peers dictionary value in the i2p compact response format specified above.
|
||||
The added.f value, if present, is the same as in ut_pex.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<h2>DHT</h2>
|
||||
<p>
|
||||
DHT support is included in the i2psnark client as of version 0.9.2.
|
||||
Preliminary differences from
|
||||
<a href="http://www.bittorrent.org/beps/bep_0005.html">BEP 5</a>
|
||||
are described below, and are subject to change.
|
||||
Contact the I2P developers if you wish to develop a client supporting DHT.
|
||||
</p>
|
||||
<p>
|
||||
Unlike standard DHT, I2P DHT does not use a bit in the options handshake, or the PORT message.
|
||||
It is advertised with an extension message, identified as "i2p_dht" in
|
||||
<a href="http://www.bittorrent.org/beps/bep_0010.html">the extension handshake</a>.
|
||||
It contains a bencoded dictionary with two keys, "port" and "rport", both integers.
|
||||
</p>
|
||||
<p>
|
||||
The UDP (datagram) port listed in the compact node info is used
|
||||
to receive repliable (signed) datagrams.
|
||||
This is used for queries, except for announces.
|
||||
We call this the "query port".
|
||||
This is the "port" value from the extension message.
|
||||
Queries use I2CP protocol number 17.
|
||||
</p>
|
||||
<p>
|
||||
In addition to that UDP port, we use a second datagram
|
||||
port equal to the query port + 1. This is used to receive
|
||||
unsigned (raw) datagrams for replies, errors, and announces.
|
||||
This port provides increased efficiency since replies
|
||||
contain tokens sent in the query, and need not be signed.
|
||||
We call this the "response port".
|
||||
This is the "rport" value from the extension message.
|
||||
It must be 1 + the query port.
|
||||
Responses and announces use I2CP protocol number 18.
|
||||
</p>
|
||||
<p>
|
||||
Compact peer info is 32 bytes (32 byte SHA256 Hash)
|
||||
instead of 4 byte IP + 2 byte port. There is no peer port.
|
||||
In a response, the "values" key is a list of strings, each containing a single compact peer info.
|
||||
</p>
|
||||
<p>
|
||||
Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + 2 byte port)
|
||||
instead of 20 byte SHA1 Hash + 4 byte IP + 2 byte port.
|
||||
In a response, the "nodes" key is a
|
||||
single byte string with concatenated compact node info.
|
||||
</p>
|
||||
<p>
|
||||
Secure node ID requirement: To make various DHT attacks more difficult,
|
||||
the first 4 bytes of the Node ID must match the first 4 bytes of the destination Hash,
|
||||
and the next two bytes of the Node ID must match the next two bytes of the
|
||||
destination hash exclusive-ORed with the port.
|
||||
</p>
|
||||
<p>
|
||||
In a torrent file,
|
||||
the trackerless torrent dictionary "nodes" key is TBD.
|
||||
It could be a list of
|
||||
32 byte binary strings (SHA256 Hashes) instead of a list of lists
|
||||
containing a host string and a port integer.
|
||||
Alternatives: A single byte string with concatenated hashes,
|
||||
or a list of strings alone.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>Additional Information</h2>
|
||||
<ul>
|
||||
<li>
|
||||
I2P bittorrent standards are generally discussed on <a href="http://zzz.i2p/">zzz.i2p</a>.
|
||||
</li>
|
||||
<li>
|
||||
A chart of current tracker software capabilities is <a href="http://zzz.i2p/files/trackers.html">also available there</a>.
|
||||
</li>
|
||||
<li>
|
||||
The
|
||||
<a href="http://forum.i2p2.de/viewtopic.php?t=2068">I2P bittorrent FAQ</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://zzz.i2p/topics/812">DHT on I2P discussion</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock %}
|
621
i2p2www/pages/site/docs/applications/supported.html
Normal file
621
i2p2www/pages/site/docs/applications/supported.html
Normal file
@@ -0,0 +1,621 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}Supported Applications{% endblock %}
|
||||
{% block content %}
|
||||
|
||||
<h1 class="title">Supported Applications</h1>
|
||||
|
||||
<div id="TOC">
|
||||
<ul>
|
||||
<li><a href="#blogging-and-forums">Blogging, Forums, and Wikis</a></li>
|
||||
|
||||
<li><a href="#decentralized-file-storage">Decentralized File
|
||||
Storage</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#development-tools">Development Tools</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#version-control">Version control</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li><a href="#domain-naming">Domain Naming</a></li>
|
||||
|
||||
<li><a href="#email">Email</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#file-sharing">File Sharing</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#bittorrent-clients">BitTorrent clients</a></li>
|
||||
|
||||
<li><a href="#bittorrent-trackers-and-indexers">BitTorrent trackers
|
||||
and indexers</a></li>
|
||||
|
||||
<li><a href="#ed2k">ED2K</a></li>
|
||||
|
||||
<li><a href="#gnutella">Gnutella</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#network-administration">Network Administration</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#general-purpose-socket-utilities">General-purpose
|
||||
socket utilities</a></li>
|
||||
|
||||
<li><a href="#sshscpsftp">SSH/SCP/SFTP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#real-time-chat">Real-time Chat</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#instant-messaging-clients">Instant messaging
|
||||
clients</a></li>
|
||||
|
||||
<li><a href="#irc-clients">IRC clients</a></li>
|
||||
|
||||
<li><a href="#irc-servers">IRC servers</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#web-browsing">Web Browsing</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#anonymous-websites">Anonymous websites</a></li>
|
||||
|
||||
<li><a href="#proxy-software">Proxy software</a></li>
|
||||
|
||||
<li><a href="#inproxies">Inproxies</a></li>
|
||||
|
||||
<li><a href="#outproxies">Outproxies</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="#website-hosting">Website Hosting</a>
|
||||
|
||||
<ul>
|
||||
<li><a href="#web-servers">Web servers</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>This is intended to be a comprehensive listing of applications used with
|
||||
I2P. If you know of something that's missing please submit a ticket on
|
||||
<a href="http://trac.i2p2.de/report//">Trac</a>, and be sure to select the
|
||||
“www” component in the submission form.</p>
|
||||
|
||||
<p>Supported applications are tagged with one or more of the following:</p>
|
||||
|
||||
<dl>
|
||||
<dt><em>bundled</em></dt>
|
||||
|
||||
<dd>
|
||||
<p><em>Bundled application</em> — I2P ships with a few officially
|
||||
supported applications that let new users take immediate advantage of
|
||||
some of I2P's more useful capabilities.</p>
|
||||
</dd>
|
||||
|
||||
<dt><em>plugin</em></dt>
|
||||
|
||||
<dd>
|
||||
<p><em>Third-party plugin</em> — I2P's plugin system provides convenient
|
||||
deployment of I2P-enabled applications and allows tighter integration
|
||||
with the router. Plugins are [reviewed by the community](<a href=
|
||||
"http://plugins.i2p">http://plugins.i2p</a>) to identify security and
|
||||
anonymity issues.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<dl>
|
||||
<dt><em>standalone, standalone/mod</em></dt>
|
||||
|
||||
<dd>
|
||||
<p><em>Third-party standalone application</em> — Many standard network
|
||||
applications only require careful setup and configuration to communicate
|
||||
anonymously over I2P. These are tagged with <em>standalone</em>. Some
|
||||
applications, tagged with <em>standalone/mod</em>, require patching to
|
||||
function properly over I2P or to prevent inadvertent disclosure of
|
||||
identifying information such as the user's hostname or external IP
|
||||
address.</p>
|
||||
</dd>
|
||||
|
||||
<dt><em>service</em></dt>
|
||||
|
||||
<dd>
|
||||
<p><em>Third-party essential network service</em> — Services which on
|
||||
the I2P network are analogous to those provided on the public Internet
|
||||
by hosting providers, ISPs, and Google: eepsite indexes and jump
|
||||
services, search engines, email, DNS-style name services, hosting,
|
||||
proxies, etc. These services focus on boosting the usefulness of the
|
||||
network as a whole, and making network content more discoverable.</p>
|
||||
</dd>
|
||||
|
||||
<dt><em>unmaintained</em></dt>
|
||||
|
||||
<dd>
|
||||
<p><em>Unmaintained</em> — This is used to tag plugins, applications,
|
||||
and services which appear to be unmaintained and may be removed from
|
||||
this listing in the future.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p><strong>Warning: Using an application, plugin, or service with I2P
|
||||
doesn't automatically protect your anonymity. I2P is merely a set of tools
|
||||
which can help you mitigate certain <a href="{{ site_url('docs/how/threatmodel') }}">identified
|
||||
threats to anonymity</a>. We do not and cannot make any guarantees about the
|
||||
safety of the applications, plugins, and services listed below. Most
|
||||
applications and plugins must be properly configured, and some will need to
|
||||
be patched — and even then your anonymity might not be assured. Similarly,
|
||||
services could put your anonymity at risk, either by design or through
|
||||
carelessness on their part or your own.</strong></p>
|
||||
|
||||
<p><strong>If you have doubts about the suitability of an application,
|
||||
plugin, or service for use with I2P, you are urged to inquire about privacy
|
||||
issues with its maintainers, to search its mailing lists and bug tracker if
|
||||
one exists, and consult trusted, knowledgeable members of the I2P
|
||||
community.</strong></p>
|
||||
|
||||
<p><strong>Take responsibility for your own anonymity and safety — always
|
||||
seek expert advice, educate yourself, practice good judgment, be mindful of
|
||||
disclosing personally identifying information, and don't take
|
||||
shortcuts.</strong></p>
|
||||
|
||||
<h3 id="blogging-and-forums"><a href="#TOC">Blogging, Forums, and Wikis</a></h3>
|
||||
|
||||
<ul>
|
||||
<!-- let's disable this for now, at least, since it's nearly impossible to
|
||||
find configuration instructions; plus, there certainly isn't a plugin
|
||||
available for this.
|
||||
<li>
|
||||
<p><a href="http://www.blojsom.com/blog/"><strong>Blojsom</strong></a> —
|
||||
Lightweight blogging platform.
|
||||
<sup><em>[plugin, standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
-->
|
||||
|
||||
<li>
|
||||
<p><a href="http://github.com/trevorturk/eldorado/"><strong>El
|
||||
Dorado</strong></a> — Lightweight forum software.
|
||||
<sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://pebble.sourceforge.net/"><strong>Pebble</strong></a>
|
||||
— Another lightweight blogging platform.
|
||||
<sup><em>[plugin, standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.phpbb.com/"><strong>phpBB</strong></a> — Most
|
||||
popular open source forum software.
|
||||
<sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://syndie.i2p2.de/"><strong>Syndie</strong></a> —
|
||||
Distributed forums software, originally developed by jrandom.
|
||||
<sup><em>[plugin, standalone, unmaintained]</em></sup></p>
|
||||
</li>
|
||||
<li>
|
||||
<p><a href="http://jamwiki.org"><strong>JAMWiki</strong></a> —
|
||||
A Java-based MediaWiki clone. No external database needed.
|
||||
Plugin available <a href="http://plugins.i2p/plugins/jamwiki">here</a>.
|
||||
<sup><em>[standalone, plugin]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="decentralized-file-storage"><a href="#TOC">Decentralized File
|
||||
Storage</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href=
|
||||
"http://killyourtv.i2p/tahoe-lafs/"><strong>Tahoe-LAFS-I2P</strong></a> — Port
|
||||
of the <a href="http://tahoe-lafs.org/"><strong>Tahoe-LAFS</strong></a>
|
||||
distributed file system to the I2P network. Controller plugin <a href=
|
||||
"http://stats.i2p/i2p/plugins/">here</a>.
|
||||
<sup><em>[plugin, standalone]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h3 id="development-tools"><a href="#TOC">Development Tools</a></h3>
|
||||
|
||||
<h4 id="version-control"><a href="#TOC">Version control</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://git-scm.com/"><strong>Git</strong></a> — Most popular
|
||||
distributed version control system. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://monotone.ca/"><strong>Monotone</strong></a> — Another
|
||||
distributed version control system. Currently <a href=
|
||||
"monotone.html">used in I2P development</a>.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="domain-naming"><a href="#TOC">Domain Naming</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://127.0.0.1:7657/susidns/"><strong>susidns</strong></a>
|
||||
— Provides management of addressbooks, which are part of a simple,
|
||||
user-controlled <a href="naming.html">I2P naming system</a> somewhat
|
||||
analogous to the Internet's Domain Name System (DNS). Addressbooks map
|
||||
Base64 destinations to short, usually human-readable “domain” names ending
|
||||
with a .i2p suffix which the I2P router's HTTP client can resolve back to
|
||||
Base64 addresses. (<em>Note:</em> While Base64 destinations are globally
|
||||
unique, addressbook “domain” names only resolve to unique destinations
|
||||
locally.) <sup><em>[bundled]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h3 id="email"><a href="#TOC">Email</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://i2pbote.i2p/"><strong>I2P-Bote</strong></a> —
|
||||
Serverless peer-to-peer email application using a distributed hash table
|
||||
(DHT) for secure mail storage. <sup><em>[plugin]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://hq.postman.i2p/"><strong>Postman's anonymous email
|
||||
service</strong></a> — Provides email service within the I2P network via
|
||||
@mail.i2p addresses, and email gateway service between the I2P network
|
||||
and the public Internet via @i2pmail.org addresses. One of the oldest
|
||||
continuous services on I2P. <sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://127.0.0.1:7657/susimail/susimail"><strong>susimail</strong></a>
|
||||
— Simple web browser-based email interface. Configured to use Postman's
|
||||
email service by default. <sup><em>[bundled]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="file-sharing"><a href="#TOC">File Sharing</a></h3>
|
||||
|
||||
<h4 id="bittorrent-clients"><a href="#TOC">BitTorrent clients</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://127.0.0.1:7657/i2psnark/"><strong>I2PSnark</strong></a> — I2P's
|
||||
integrated BitTorrent client. <sup><em>[bundled]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://forum.i2p/viewtopic.php?t=4532"><strong>I2PSnarkXL</strong></a>
|
||||
— Modified version of I2PSnark. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://bob.i2p/Robert.html"><strong>Robert</strong></a> — a
|
||||
fork of rufus that uses the Basic Open Bridge (BOB) and has many
|
||||
improvements, including using the latest wxwidgets and python. It also
|
||||
supports use of seedless if installed for trackerless torrents and
|
||||
magnet-link like fetching of torrents within i2p.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://www.transmissionbt.com/"><strong>Transmission</strong></a> —
|
||||
Clean, full-featured cross-platform BitTorrent client with official
|
||||
ports for several GUI toolkits. <sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.vuze.com/"><strong>Azureus/Vuze</strong></a> —
|
||||
Had a built-in I2P transport for a while.
|
||||
<sup><em>[standalone, unmaintained]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="bittorrent-trackers-and-indexers"><a href="#TOC">BitTorrent trackers
|
||||
and indexers</a></h4>
|
||||
|
||||
<p>For a detailed feature comparison of I2P-enabled trackers/indexers, see
|
||||
<a href="http://zzz.i2p/files/trackers.html">here</a>.</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://echelon.i2p/tracker/"><strong>Bytemonsoon</strong></a> — The
|
||||
code that powered one of the first major tracker/indexer sites on the
|
||||
Internet. Patched for I2P. <sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://erdgeist.org/arts/software/opentracker/"><strong>opentracker</strong></a>
|
||||
— Lightweight tracker/indexer. I2P mod available in the i2p.opentracker
|
||||
branch of the <a href="{{ site_url('volunteer/guides/newdevelopers') }}">I2P Monotone repository</a>.
|
||||
<sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://stats.i2p/i2p/plugins/"><strong>zzzot</strong></a> —
|
||||
<a href="http://zzz.i2p/">zzz's</a> Java-based open tracker. More info
|
||||
<a href="http://zzz.i2p/topics/598?page=1#p2085">here</a>.
|
||||
<sup><em>[plugin]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="ed2k"><a href="#TOC">ED2K</a></h4>
|
||||
|
||||
<ul>
|
||||
<li><a href=
|
||||
"http://forum.i2p/viewtopic.php?t=2213"><strong>iMule</strong></a> — I2P
|
||||
port of the aMule ED2K client. <sup><em>[standalone]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h4 id="gnutella"><a href="#TOC">Gnutella</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://forum.i2p/viewforum.php?f=25"><strong>I2Phex</strong></a> — Port
|
||||
of the <a href="http://www.phex.org/">Phex</a> Gnutella client. Website
|
||||
for plugin version <a href="http://stats.i2p/i2p/plugins/">here</a>.
|
||||
<sup><em>[plugin, standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://forum.i2p/viewtopic.php?p=9486#9486"><strong>jwebcache</strong></a>
|
||||
— Cache for Gnutella peers on I2P. Website for plugin version <a href=
|
||||
"http://stats.i2p/i2p/plugins/">here</a>.
|
||||
<sup><em>[plugin, standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="network-administration"><a href="#TOC">Network
|
||||
Administration</a></h3>
|
||||
|
||||
<h4 id="general-purpose-socket-utilities"><a href="#TOC">General-purpose
|
||||
socket utilities</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://nc110.sourceforge.net/"><strong>netcat</strong></a> —
|
||||
Unix standard tool for socket relaying. Several clones, ports, and forks
|
||||
have appeared over the years. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://www.dest-unreach.org/socat/"><strong>socat</strong></a> — Like
|
||||
netcat but more powerful. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://tsocks.sourceforge.net/"><strong>tsocks</strong></a>
|
||||
— Proxy providing simple, transparent SOCKS-ification of network
|
||||
applications. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="sshscpsftp"><a href="#TOC">SSH/SCP/SFTP</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://www.openssh.com/"><strong>OpenSSH</strong></a> — Most
|
||||
popular implementation of the Secure Shell (SSH) protocol and related
|
||||
tools. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://www.chiark.greenend.org.uk/~sgtatham/putty/"><strong>PuTTY</strong></a>
|
||||
— Open source Secure Shell (SSH) client for Windows.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="real-time-chat"><a href="#TOC">Real-time Chat</a></h3>
|
||||
|
||||
<h4 id="instant-messaging-clients"><a href="#TOC">Instant messaging
|
||||
clients</a></h4>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://forum.i2p/viewtopic.php?t=2474"><strong>I2P
|
||||
Messenger</strong></a> — IM client with multiple incarnations.
|
||||
<sup><em>[standalone]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h4 id="irc-clients"><a href="#TOC">IRC clients</a></h4>
|
||||
|
||||
<p>Many IRC clients leak identifying information to servers or other
|
||||
clients, so I2P's IRC and SOCKS IRC client tunnels filter certain inbound
|
||||
and outbound messages to scrub data such as LAN IP addresses, external IP
|
||||
addresses, local hostnames, and the name and version of the IRC client. Two
|
||||
message types in particular, DCC and CTCP, can't be sufficiently anonymized
|
||||
without changes to the protocols or to IRC client/server code, so they are
|
||||
completely blocked, except for CTCP ACTION (the message emitted by the
|
||||
<code>/me</code> command) which isn't inherently dangerous.</p>
|
||||
|
||||
<p>I2P's IRC filtering may not cover every possible leak — users should also
|
||||
check if their client is sending their real name or local username. Packet
|
||||
sniffers such as <a href="http://www.wireshark.org/">Wireshark</a> are
|
||||
useful here. Eliminating remaining leaks may be as simple as changing the
|
||||
client's default configuration. If that doesn't help, inform the I2P
|
||||
developers; they may be able to solve it via additional filtering.</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://jircii.dashnine.org/"><strong>jIRCii</strong></a> —
|
||||
Small Java-based IRC client. Plugin available <a href=
|
||||
"http://stats.i2p/i2p/plugins/">here</a>.
|
||||
<sup><em>[plugin, standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://xchat.org/"><strong>XChat</strong></a> —
|
||||
Cross-platform graphical IRC client.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.irssi.org/"><strong>irssi</strong></a> — Unixy
|
||||
terminal-based IRC client. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.weechat.org/"><strong>WeeChat</strong></a> —
|
||||
Another Unixy terminal-based IRC client.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="irc-servers"><a href="#TOC">IRC servers</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://ngircd.barton.de/index.php.en"><strong>ngIRCd</strong></a> — IRC
|
||||
server developed from scratch. <sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.unrealircd.com/"><strong>UnrealIRCd</strong></a>
|
||||
— Most popular IRC server. <sup><em>[standalone/mod]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="web-browsing"><a href="#TOC">Web Browsing</a></h3>
|
||||
|
||||
<h4 id="anonymous-websites"><a href="#TOC">Anonymous websites</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><strong>Eepsites</strong> — Any website hosted anonymously on I2P,
|
||||
reachable through the I2P router's HTTP proxy.
|
||||
<sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><strong>Deepsites</strong> — Distributed anonymous websites hosted
|
||||
using Tahoe-LAFS-I2P, currently only reachable with Tahoe-LAFS-I2P
|
||||
clients or through the Tahoe-LAFS-I2P HTTP proxy.
|
||||
<sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://i2host.i2p/"><strong>i2host.i2p</strong></a> —
|
||||
Website for <a href="http://sponge.i2p/">sponge's</a> jump service.
|
||||
Source code available. <sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://i2jump.i2p/"><strong>i2jump.i2p</strong></a> —
|
||||
Another jump service. <sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://perv.i2p/"><strong>perv.i2p</strong></a> —
|
||||
Dynamically updated eepsite index. <sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://stats.i2p/"><strong>stats.i2p</strong></a> — Website
|
||||
for <a href="http://zzz.i2p/">zzz's</a> jump service.
|
||||
<sup><em>[service]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="proxy-software"><a href="#TOC">Proxy software</a></h4>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href=
|
||||
"http://www.pps.jussieu.fr/~jch/software/polipo/"><strong>Polipo</strong></a>
|
||||
— SOCKS-enabled caching web proxy with basic filtering capabilities.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.privoxy.org/"><strong>Privoxy</strong></a> —
|
||||
Privacy-focused non-caching web proxy with advanced filtering
|
||||
capabilities. Excels at removing ads and other junk.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.squid-cache.org/"><strong>Squid</strong></a> —
|
||||
Venerable caching web proxy. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 id="inproxies"><a href="#TOC">Inproxies</a></h4>
|
||||
|
||||
<p>Gateways allowing users on the public Internet to access eepsites.</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://i2p.to/"><strong>i2p.to</strong></a> — <a href=
|
||||
"http://tino.i2p/">tino's</a> inproxy on the public Internet.
|
||||
<sup><em>[service]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h4 id="outproxies"><a href="#TOC">Outproxies</a></h4>
|
||||
|
||||
<p>Gateways allowing I2P users to access content hosted on the public
|
||||
Internet.</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://false.i2p/"><strong>false.i2p</strong></a> — Publicly
|
||||
advertised outproxy running Squid, located in Germany.
|
||||
<sup><em>[service]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h3 id="website-hosting"><a href="#TOC">Website Hosting</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="http://jetty.codehaus.org/jetty/"><strong>Jetty</strong></a>
|
||||
— Lightweight web server and Java servlet container. I2P is tightly
|
||||
integrated with a bundled copy of Jetty which by default is configured to
|
||||
host the <a href="http://127.0.0.1:7658/">user's eepsite</a>. The bundled
|
||||
Jetty also serves the I2P router console and web applications bundled with
|
||||
I2P. <sup><em>[bundled, standalone]</em></sup></li>
|
||||
</ul>
|
||||
|
||||
<h4 id="web-servers"><a href="#TOC">Web servers</a></h4>
|
||||
|
||||
<p>In addition to Jetty, any web server should function over I2P without
|
||||
modification so long as it's HTTP-compliant. Some web servers known to
|
||||
currently serve content on the I2P network are:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<p><a href="http://httpd.apache.org/"><strong>Apache HTTP
|
||||
Server</strong></a> — Most popular web server on the public WWW.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://tomcat.apache.org/"><strong>Apache
|
||||
Tomcat</strong></a> — Web server and Java servlet container. More
|
||||
features than Jetty. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.lighttpd.net/"><strong>lighttpd</strong></a> —
|
||||
Fast lightweight web server. <sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<p><a href="http://www.nginx.org/"><strong>nginx</strong></a> —
|
||||
High-performance lightweight web server.
|
||||
<sup><em>[standalone]</em></sup></p>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- vim: set noai nosi ft=html tw=79 et sw=4 ts=4 spell spelllang=en: -->
|
||||
{% endblock %}
|
Reference in New Issue
Block a user