2012-09-11 02:40:52 +00:00
{% extends "global/layout.html" %}
2013-01-30 03:47:49 +00:00
{% block title %}{% trans %}Index to Technical Documentation{% endtrans %}{% endblock %}
2014-01-28 14:51:51 +00:00
{% block lastupdated %}{% trans %}January 2014{% endtrans %}{% endblock %}
{% block accuratefor %}0.9.10{% endblock %}
2008-02-03 02:46:04 +00:00
{% block content %}
2013-01-30 03:47:49 +00:00
< p > {% trans -%}
2010-08-08 13:45:30 +00:00
Following is an index to the technical documentation for I2P.
2013-01-30 03:47:49 +00:00
{%- endtrans %}< / p >
< p > {% trans -%}
2010-08-08 13:45:30 +00:00
This index is ordered from the highest to lowest layers.
The higher layers are for "clients" or applications;
the lower layers are inside the router itself.
The interface between applications and the router is the I2CP (I2P Control Protocol) API.
2013-01-30 03:47:49 +00:00
{%- endtrans %}< / p >
2013-10-26 22:20:13 +00:00
< p > {% trans trac='https://trac.i2p2.de/report/1' -%}
2010-08-08 13:45:30 +00:00
The I2P Project is committed to maintaining accurate, current documentation.
If you find any inaccuracies in the documents linked below, please
2013-10-26 22:20:13 +00:00
< a href = "{{ trac }}" > enter a ticket identifying the problem< / a > .
2013-01-30 03:47:49 +00:00
{%- endtrans %}< / p >
2010-08-08 13:45:30 +00:00
2013-01-30 03:47:49 +00:00
< h2 > {% trans %}Index to Technical Documentation{% endtrans %}< / h2 >
2010-08-08 13:45:30 +00:00
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Overview{% endtrans %}< / h3 >
2009-06-12 20:09:21 +00:00
< ul class = "helplist" >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/how/tech-intro') }}" > {{ _('Technical Introduction') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/intro') }}" > {{ _('A Less-Technical Introduction') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/threat-model') }}" > {{ _('Threat model and analysis') }}< / a > < / li >
< li > < a href = "{{ site_url('comparison') }}" > {{ _('Comparisons to other anonymous networks') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/protocol') }}" > {{ _('Protocol stack chart') }}< / a > < / li >
2013-12-30 05:46:42 +00:00
< li > < a href = "{{ site_url('papers') }}" > {{ _('Papers on I2P') }}< / a > < / li >
2014-02-02 15:50:15 +00:00
< li > < a href = "{{ site_url('about/media') }}" > {{ _('Presentations, articles, tutorials, videos, and interviews') }}< / a > < / li >
2013-01-30 03:47:49 +00:00
< li > {% trans pdf=url_for('static', filename='pdf/i2p_philosophy.pdf') %}< a href = "{{ pdf }}" > Invisible Internet Project (I2P) Project Overview< / a > August 28, 2003 (pdf){% endtrans %}< / li >
2004-07-06 23:46:37 +00:00
< / ul >
2010-08-08 13:45:30 +00:00
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Application-Layer Topics{% endtrans %}< / h3 >
2010-08-08 13:45:30 +00:00
< ul >
2013-06-04 13:09:44 +00:00
< li > < a href = "{{ site_url('get-involved/develop/applications') }}" > Application Development Overview and Guide< / a > < / li >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/naming') }}" > {{ _('Naming and Addressbook') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/plugins') }}" > {{ _('Plugins Overview') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/spec/plugin') }}" > {{ _('Plugin Specification') }}< / a > < / li >
2014-02-11 15:23:18 +00:00
< li > < a href = "{{ site_url('docs/applications/managed-clients') }}" > {{ _('Managed Clients') }}< / a > < / li >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/applications/bittorrent') }}" > {{ _('Bittorrent over I2P') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/api/i2pcontrol') }}" > {{ _('I2PControl Plugin API') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/spec/blockfile') }}" > {{ _('hostsdb.blockfile Format') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/spec/configuration') }}" > {{ _('Configuration File Format') }}< / a > < / li >
2010-08-08 13:45:30 +00:00
< / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Application Layer API and Protocols{% endtrans %}< / h3 >
{% trans %}High-level, easy-to-use APIs for applications written in any language to send and receive data.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/develop/applications') }}" > {{ _('Application Development Overview and Guide') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2012-11-11 05:31:01 +00:00
< a href = "{{ site_url('docs/api/i2ptunnel') }}" > I2PTunnel< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2012-11-11 05:31:01 +00:00
< a href = "{{ site_url('docs/api/socks') }}" > SOCKS Proxy< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
HTTP Proxy
< / li > < li >
2011-05-16 20:51:49 +00:00
CONNECT Proxy
< / li > < li >
2010-08-08 13:45:30 +00:00
IRC Proxy
< / li > < li >
2011-05-16 20:51:49 +00:00
SOCKS IRC Proxy
< / li > < li >
Streamr Proxy
< / li > < li >
HTTP Bidir Proxy
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/api/sam') }}" > {{ _('SAM Protocol') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/api/samv2') }}" > {{ _('SAMv2 Protocol') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/api/samv3') }}" > {{ _('SAMv3 Protocol') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/api/bob') }}" > {{ _('BOB Protocol') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}End-to-End Transport API and Protocols{% endtrans %}< / h3 >
{% trans %}The end-to-end protocols used by clients for reliable and unreliable communication.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/api/streaming') }}" > {{ _('Streaming Library') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2014-01-28 14:51:51 +00:00
< a href = "{{ site_url('docs/spec/streaming') }}" > {{ _('Streaming Protocol Specification') }}< / a >
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/client/streaming/package-summary.html" > {{ _('Streaming Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/datagrams') }}" > {{ _('Datagrams') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/client/datagram/package-summary.html" > {{ _('Datagram Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Client-to-Router Interface API and Protocol{% endtrans %}< / h3 >
{% trans -%}
2010-08-08 13:45:30 +00:00
The lowest-level API used for clients (applications) to send and receive traffic to a router.
Traditionally used only by Java applications and higher-level APIs.
2013-01-30 03:47:49 +00:00
{%- endtrans %}
2010-08-08 13:45:30 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/protocol/i2cp') }}" > {{ _('I2CP - I2P Control Protocol / API overview') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/i2cp') }}" > {{ _('I2CP Specification') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/client/package-summary.html" > {{ _('I2CP API Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/common-structures') }}" > {{ _('Common data structures specification') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html" > {{ _('Data Structures Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}End-to-End Encryption{% endtrans %}< / h3 >
{% trans %}How client messages are end-to-end encrypted by the router.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/how/elgamal-aes') }}" > {{ _('ElGamal/AES+SessionTag encryption') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/cryptography') }}" > {{ _('ElGamal and AES cryptography details') }}< / a > < / li >
2010-08-08 13:45:30 +00:00
< / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Network Database{% endtrans %}< / h3 >
{% trans %}Distributed storage and retrieval of information about routers and clients.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/how/network-database') }}" > {{ _('Network database overview, details, and threat analysis') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/cryptography') }}#SHA256" > {{ _('Cryptographic hashes') }}< / a > < / li >
2014-11-04 19:25:32 +00:00
< li > < a href = "{{ site_url('docs/how/cryptography') }}#sig" > {{ _('Cryptographic signatures') }}< / a > < / li >
2010-08-08 13:45:30 +00:00
< / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Router Message Protocol{% endtrans %}< / h3 >
{% trans %}I2P is a message-oriented router. The messages sent between routers are defined by the I2NP protocol.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/protocol/i2np') }}" > {{ _('I2NP - I2P Network Protocol Overview') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/i2np') }}" > {{ _('I2NP Specification') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/data/i2np/package-summary.html" > {{ _('I2NP Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/common-structures') }}" > {{ _('Common data structures specification') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/data/package-summary.html" > {{ _('Data Structures Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Tunnels{% endtrans %}< / h3 >
{% trans %}Selecting peers, requesting tunnels through those peers, and encrypting and routing messages through these tunnels.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul >
2013-01-30 03:47:49 +00:00
< li > < a href = "{{ site_url('docs/how/peer-selection') }}" > {{ _('Peer profiling and selection') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/tunnel-routing') }}" > {{ _('Tunnel routing overview') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/garlic-routing') }}" > {% trans %}Garlic routing and "garlic" terminology{% endtrans %}< / a > < / li >
< li > < a href = "{{ site_url('docs/tunnels/implementation') }}" > {{ _('Tunnel building and encryption') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/how/elgamal-aes') }}" > {{ _('ElGamal/AES') }}< / a > {{ _('for build request encryption') }}< / li >
< li > < a href = "{{ site_url('docs/how/cryptography') }}" > {{ _('ElGamal and AES cryptography details') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/spec/tunnel-creation') }}" > {{ _('Tunnel building specification') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/spec/tunnel-message') }}" > {{ _('Low-level tunnel message specification') }}< / a > < / li >
< li > < a href = "{{ site_url('docs/tunnels/unidirectional') }}" > {{ _('Unidirectional Tunnels') }}< / a > < / li >
< li > < a href = "{{ url_for('static', filename='pdf/I2P-PET-CON-2009.1.pdf') }}" > {{ _('Peer Profiling and Selection in the I2P Anonymous Network') }}< / a >
{{ _('2009 paper (pdf), not current but still generally accurate') }}< / li >
2010-08-08 13:45:30 +00:00
< / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Transport Layer{% endtrans %}< / h3 >
{% trans %}The protocols for direct (point-to-point) router to router communication.{% endtrans %}
2010-08-08 13:45:30 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/transport') }}" > {{ _('Transport layer overview') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/transport/ntcp') }}" > NTCP< / a > {{ _('TCP-based transport overview and specification') }}
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/transport/ssu') }}" > SSU< / a > {{ _('UDP-based transport overview') }}
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/ssu') }}" > {{ _('SSU specification') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/how/cryptography') }}#tcp" > {{ _('NTCP transport encryption') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/how/cryptography') }}#udp" > {{ _('SSU transport encryption') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/package-summary.html" > {{ _('Transport Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/ntcp/package-summary.html" > {{ _('NTCP Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://docs.i2p-projekt.de/javadoc/net/i2p/router/transport/udp/package-summary.html" > {{ _('SSU Javadoc') }}< / a >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Other Router Topics{% endtrans %}< / h3 >
2010-08-08 13:45:30 +00:00
< ul > < li >
2014-10-26 22:10:48 +00:00
< a href = "{{ site_url('docs/spec/updates') }}" > {{ _('Router software updates') }}< / a >
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('misc/jbigi') }}" > {{ _('Native BigInteger Library') }}< / a >
2010-08-22 02:18:28 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
{{ _('Time synchronization and NTP') }}
2010-08-24 01:48:03 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('about/performance') }}" > {{ _('Performance') }}< / a >
2012-10-05 13:02:11 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/spec/configuration') }}" > {{ _('Configuration File Format') }}< / a > < / li >
2013-06-04 13:09:44 +00:00
< / li > < li >
2013-06-04 13:33:02 +00:00
< a href = "{{ site_url('docs/spec/geoip') }}" > GeoIP File Format< / a > < / li >
2010-08-08 13:45:30 +00:00
< / li > < / ul >
2013-01-30 03:47:49 +00:00
< h3 > {% trans %}Developer's Guides and Resources{% endtrans %}< / h3 >
2010-08-09 01:50:42 +00:00
< ul > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/guides/new-developers') }}" > {% trans %}New Developer's Guide{% endtrans %}< / a >
2010-08-09 01:50:42 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/guides/new-translators') }}" > {% trans %}New Translator's Guide{% endtrans %}< / a >
2010-08-09 01:50:42 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/guides/monotone') }}" > {{ _('Monotone Guide') }}< / a >
2010-08-24 01:48:03 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/guides/dev-guidelines') }}" > {{ _('Developer Guidelines') }}< / a >
2012-01-28 18:33:49 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
{% trans %}Javadocs on the standard internet:{% endtrans %}
< a href = "http://docs.i2p-projekt.de/javadoc/" > {% trans num=1 %}Server {{ num }}{% endtrans %}< / a >
{% trans %}Note: always verify that javadocs are current by checking the release number.{% endtrans %}
2010-08-24 01:48:03 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
{% trans %}Javadocs inside I2P:{% endtrans %}
< a href = "http://{{ i2pconv('i2p-javadocs.i2p') }}" > {% trans num=1 %}Server {{ num }}{% endtrans %}< / a >
< a href = "http://{{ i2pconv('i2pdocs.str4d.i2p') }}/i2p.i2p/javadoc/" > {% trans num=2 %}Server {{ num }}{% endtrans %}< / a >
< a href = "http://{{ i2pconv('echelon.i2p') }}/javadoc/" > {% trans num=3 %}Server {{ num }}{% endtrans %}< / a >
2012-01-02 13:50:52 +00:00
<!--
2012-12-06 02:47:11 +00:00
< a href = "http://{{ i2pconv('docs.i2p2.i2p') }}/javadoc/" > Server 4 - out of date, incomplete< / a >
2012-01-02 13:50:52 +00:00
-->
2013-01-30 03:47:49 +00:00
{% trans %}Note: always verify that javadocs are current by checking the release number.{% endtrans %}
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('docs/ports') }}" > {{ _('Ports used by I2P') }}< / a >
2012-05-11 17:07:56 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://{{ i2pconv('update.killyourtv.i2p') }}/mtn/" > {{ _('Automatic updates to development builds inside I2P') }}< / a >
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('misc/manual-wrapper') }}" > {{ _('Updating the wrapper manually') }}< / a >
2012-05-21 12:53:15 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://{{ i2pconv('forum.i2p') }}" > {{ _('User forum') }}< / a >
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://{{ i2pconv('zzz.i2p') }}/" > {{ _('Developer forum inside I2P') }}< / a >
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-10-26 11:03:57 +00:00
< a href = "https://trac.i2p2.de/report/1" > {{ _('Bug tracker') }}< / a >
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-08-30 11:01:52 +00:00
< a href = "http://{{ i2pconv('killyourtv.i2p') }}/viewmtn/" > {{ _('Viewmtn inside I2P') }}< / a > .
2012-05-28 15:56:53 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "https://github.com/i2p/i2p.i2p" > {{ _('I2P Source exported to GitHub') }}< / a >
2012-05-28 15:56:53 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "http://{{ i2pconv('git.repo.i2p') }}/w/i2p.i2p.git" > {{ _('I2P Source Git Repo inside I2P') }}< / a >
2012-05-28 15:56:53 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "https://www.transifex.net/projects/p/I2P/" > {{ _('Source translation at Transifex') }}< / a >
2012-05-28 15:56:53 +00:00
< / li > < li >
2013-10-26 11:03:57 +00:00
< a href = "https://trac.i2p2.de/wiki/Roadmaps/1.0" > {{ _('Roadmap wiki') }}< / a >
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/roadmap') }}" > {{ _('Old roadmap') }}< / a > ({{ _('not current') }})
2012-01-02 13:50:52 +00:00
< / li > < li >
2013-01-30 03:47:49 +00:00
< a href = "{{ site_url('get-involved/todo') }}" > {{ _('To Do List') }}< / a > ({{ _('not current') }})
2013-11-21 23:22:27 +00:00
< / li > < li >
2013-12-30 05:50:05 +00:00
< a href = "{{ site_url('misc/invisiblenet') }}" > Ancient invisiblenet I2P documents< / a > (2003)
2014-02-16 02:28:22 +00:00
< / li > < li >
< a href = "http://news.gmane.org/gmane.network.i2p" > The ancient I2P mailing list< / a > 2004-07 to 2006-10 (gmane)
< / li > < li >
< a href = "http://news.gmane.org/gmane.comp.security.invisiblenet.iip.devel" > The even more ancient invisiblenet mailing list< / a > 2002-10 to 2004-01 (gmane)
2010-08-09 01:50:42 +00:00
< / li > < / ul >
2010-08-08 13:45:30 +00:00
2008-02-03 02:46:04 +00:00
{% endblock %}