merge of '32ec4b025937d00c9c6df68564622c63931ea73d'

and 'f8cbe0c931330ede1c6a18c959063d039d3bccc5'
This commit is contained in:
dev
2009-11-22 19:01:30 +00:00
13 changed files with 269 additions and 67 deletions

View File

@ -6,6 +6,9 @@
development guide</a> for ideas about the four basic protocols for writing an
application to run over I2P:</p>
<ul class="helplist">
<li><a href="http://docs.i2p2.de/core/">Core I2P API Javadoc</a>
(<a href="http://docs.i2p2.i2p/core/">internal link</a>)</li>
<li>BOB</li>
<li><a href="sam">SAM</a>, <a href="samv2.html">SAM V2</a> and <a href="samv3.html">SAM V3</a></li>
<li><a href="ministreaming">ministreaming</a></li>
<li><a href="i2cp">I2CP</a></li>

View File

@ -6,6 +6,9 @@
Anwendungen</a> nach Ideen &uuml;ber die 4 Grundprotokolle durchlesen, um eine Idee zum Schreiben
einer Anwendung auf I2P zu bekommen:</p>
<ul class="helplist>
<li><a href="http://docs.i2p2.de/core/">Core I2P API Javadoc</a>
(<a href="http://docs.i2p2.i2p/core/">internal link</a>)</li>
<li>BOB</li>
<li><a href="sam_de">SAM</a> und <a href="samv2_de.html">SAM V2</a></li>
<li><a href="ministreaming_de">ministreaming</a></li>
<li><a href="i2cp_de">I2CP</a></li>

View File

@ -63,7 +63,7 @@ etc), and the like.</p>
<td><p>looking for volunteers</p></td>
<td><p>russian sponsor</p></td>
<td><p>[vacant]</p></td>
<td><p>&euro;00 EUR</p></td>
<td><p>$230 USD</p></td>
</tr>
</table>

View File

@ -1,7 +1,7 @@
{% extends "_layout_de.html" %}
{% block title %}Belohnungen{% endblock %}
{% block content %}
<h1>Belohnungen f<EFBFBD>r I2P</h1>
<h1>Belohnungen f&uuml;r I2P</h1>
<p>W&auml;hrend wir jederzeit dankbar jeglichen Beitrag an Quelltext,
Dokumentationen und &auml;hnlichen entgegennehmen, gibt es noch
andere Wege um I2P zu helfen, vorran zu kommen.
@ -62,6 +62,13 @@ etc.) benutzt wird.</p>
<td><p>[vacant]</p></td>
<td><p>&euro;50 EUR</p></td>
</tr>
</tr>
<td><p><b><a href="bounty_rutrans_de">Russische &Uuml;bersetzung</a></b></td>
<td><p>Entwickler gesucht</p></td>
<td><p>Russischer Spender</p></td>
<td><p>[vacant]</p></td>
<td><p>$230 USD</p></td>
</tr>
</table>
<h2>Auf Pause gesetzte Belohnungen, bedingt durch jrandoms Abwesenheit und fehlender Finanzen</h2>

View File

@ -10,7 +10,7 @@ This bounty is set into 2 subparts:
Part 1 is translation of the webpage. <br>
</p>
<p>
For collecting the bounty of &euro;00 EUR you need to translate the following pages:<br>
For collecting the bounty of $115 USD you need to translate the following pages:<br>
http://www.i2p2.de/index.html<br>
http://www.i2p2.de/download.html<br>
http://www.i2p2.de/intro.html <br>
@ -25,7 +25,7 @@ http://www.i2p2.de/donate.html <br>
</p>
<p>
Part 2 is the translation of the router console. The whole router console needs
to be translated to collect the bounty of &euro;00 EUR.
to be translated to collect the bounty of $115 USD.
</p>
<p>
Judge is the russian donor.

View File

@ -10,7 +10,7 @@ Diese Belohnung teilt sich in 2 Abschnitte:<br>
Abschnitt 1 ist die &Uuml;bersetzung der Webseite.
</p>
<p>
Um die Belohnung von &euro;00 EUR zu verdienen m&uuml;ssen folgende Seiten
Um die Belohnung von $115 USD zu verdienen m&uuml;ssen folgende Seiten
ins russische &uuml;bersetzt sein:<br>
http://www.i2p2.de/index.html<br>
http://www.i2p2.de/download.html<br>
@ -26,7 +26,7 @@ http://www.i2p2.de/donate.html <br>
</p>
<p>
Abschnitt 2 ist die &Uuml;bersetzung der Router Konsole. Diese muss komplett
ins russische &uuml;bersetzt sein um die Belohnung von &euro;00 EUR zu bekommen.
ins russische &uuml;bersetzt sein um die Belohnung von $115 USD zu bekommen.
</p>
<p>
Gutachter ist der russische Spender.

View File

@ -5,7 +5,7 @@
{% block content %}
<h1>I2P - 常见问答</h1>
<h3 id="bug">我想我发现了软件的一个错误,到哪报告?<span class="permalink">(<a href="#bug">链接</a>)</span></h3>
<p>以下这些地方都可以,可以任选其一。<ul>
<p>以下这些地方都可以,可以任选其一。<ul>
<li> <a href="http://trac.i2p2.i2p/newticket">trac.i2p2.i2p</a>申报故障
</li><li><a href="http://forum.i2p/viewforum.php?f=10">论坛 forum.i2p</a>
</li><li><a href="http://paste.i2p2.i2p/">将日志贴到公共剪切板 paste.i2p2.i2p</a> 然后来 IRC #i2p
@ -15,7 +15,7 @@
<p>请提供 router log及wrapper log中的相关信息。</p>
<h3 id="subscriptions">我的地址簿中缺少很多匿名小站的地址。有没有什么好的地址簿订阅链接?<span class="permalink">(<a href="#subscriptions">链接</a>)</span></h3>
<p>程序默认的订阅链接为 http://www.i2p2.i2p/hosts.txt ,这个地址簿很少更新。如果没有订阅其他的地址簿可能总要为必须使用链接“Jump”(跳转)而烦恼。</p><p>这里有一些公共地址簿的订阅链接。也许愿意将其中的一两个添加到<a href="http://localhost:7657/susidns/subscriptions.jsp">susiDNS 订阅列表</a>中。没有必要全部订阅,因为这些地址簿之间会周期性同步。使用 cgi-bin 程序的链接能自动缩减重复记录,它们的效率应该更高。注意:订阅 hosts.txt 服务存在“信任”风险。因为恶意地址簿的订阅会返回错误的地址。所以订阅前请想清楚您是否信任这些地址簿。出现在以下列表中并不代表认可。<div class="links">
<p>程序默认的订阅链接为 http://www.i2p2.i2p/hosts.txt ,这个地址簿很少更新。如果没有订阅其他的地址簿可能总要为必须使用链接“Jump”(跳转)而烦恼。</p><p>这里有一些公共地址簿的订阅链接。也许愿意将其中的一两个添加到<a href="http://localhost:7657/susidns/subscriptions.jsp">susiDNS 订阅列表</a>中。没有必要全部订阅,因为这些地址簿之间会周期性同步。使用 cgi-bin 程序的链接能自动缩减重复记录,它们的效率应该更高。注意:订阅 hosts.txt 服务存在“信任”风险。因为恶意地址簿的订阅会返回错误的地址。所以订阅前请想清楚您是否信任这些地址簿。出现在以下列表中并不代表认可。<div class="links">
<ul>
<li><a href="http://i2host.i2p/cgi-bin/i2hostetag">http://i2host.i2p/cgi-bin/i2hostetag</a>
</li><li><a href="http://stats.i2p/cgi-bin/newhosts.txt">http://stats.i2p/cgi-bin/newhosts.txt</a>
@ -42,18 +42,18 @@ several releases in 2009.
<h3 id="CPU">我的路由器非常占 CPU<span class="permalink">(<a href="#CPU">链接</a>)</span></h3>
<p>有很多原因可能造成高 CPU 占用率。这里开了一份对照表:</p><ul>
<li>你否在使用 Sun Java 还是其他版本(在命令行中输入 java -version 尅有看到版本) 我们收到过使用其他版本Java造成高 CPU 占用的报告。</li><li>是否在通过 i2p 下BT尝试减少种的数量、设置带宽限制或干脆暂时关掉看是否有帮助。</li><li>的带宽限制是否设置的过宽松?或许通过计算机的流量太高,造成路由过载。尝试在 config.jsp 中减少 Share Bandwidth (共享带宽)的比例。</li><li>是否在使用最新版的 I2P新近的版本有多项性能提升和错误修正。</li><li>是否为 I2P 配置了足够的内存?查看 graphs.jsp 中的内存曲线图,看内存使用是否标记为 "pegged"这表示Java虚拟机花费了大量时间在回收内存。在 wrapper.config 中将 wrapper.java.maxmemory 设置调大。</li><li> CPU 占用率超出的预期还是始终维持在 100%如果始终维持在100%,可能是出现了程序错误。查看 logs 可以帮助寻找原因。</li><li>你可能在运行非原生版而是基于 Java 的 BigInteger 库,当你在使用的一个全新的或不常见的系统或硬件(64-bit, OS X, OpenSolaris 等),尤其可能碰到这种情况。具体的诊断,编译和测试方法,参见 <a href="jbigi.html">jbigi的主</a></li><li>如果的原生 jbigi 库工作正常,造成高 CPU 的最主要原因可能是参与其他节点的路由隧道创建。它会占用 CPU ,因为每个(隧道中的)跳点都必须对数据进行一层解密。可以通过两种方法限制参与流量 - 在 <a href="http://localhost:7657/config.jsp">config.jsp</a> 中降低Share Bandwidth(共享带宽),或在<a href="http://localhost:7657/configadvanced.jsp">configadvanced.jsp</a>中设置 <tt>router.maxParticipatingTunnels=nnn</tt></li></ul>
<li>在使用 Sun Java 还是其他衍生版的Java(在命令行中输入 java -version 尅有看到版本) 我们收到过使用其他版本Java造成高 CPU 占用的报告。</li><li>是否在通过 i2p 下BT尝试减少种的数量、设置带宽限制或干脆暂时关掉看是否有帮助。</li><li>的带宽限制是否设置的过宽松?或许通过计算机的流量太高,造成路由过载。尝试在 config.jsp 中减少共享带宽的比例。</li><li>是否在使用最新版的 I2P新近的版本有多项性能提升和错误修正。</li><li>是否为 I2P 配置了足够的内存?查看 graphs.jsp 中的内存曲线图,看内存使用是否标记为 "pegged"这表示Java虚拟机花费了大量时间在回收内存。在 wrapper.config 中将 wrapper.java.maxmemory 设置调大。</li><li> CPU 占用率超出的预期还是始终维持在 100%如果始终维持在100%,可能是出现了程序错误。查看 logs 可以帮助寻找原因。</li><li>您正在使用的BigInteger 库可能不是经过预编译的原生版而是基于Java的,当您使用的全新的或不常见的系统或硬件时(例如x64, OSX, OpenSolaris 等),尤其可能碰到这种情况。具体的诊断,编译和测试方法,参见 <a href="jbigi.html">jbigi页</a></li><li>如果的原生 jbigi 库工作正常,造成高 CPU 的最主要原因可能是参与其他节点的路由隧道创建。它会占用 CPU ,因为每个(隧道中的)跳点都必须对数据进行一层解密。可以通过两种方法限制参与流量 - 在 <a href="http://localhost:7657/config.jsp">config.jsp</a> 中降低共享带宽,或在<a href="http://localhost:7657/configadvanced.jsp">configadvanced.jsp</a>中设置 <tt>router.maxParticipatingTunnels=nnn</tt></li></ul>
<h3 id="content">我反对 I2P 网络中的一些内容。如何阻止传输、保存或访问他们?<span class="permalink">(<a href="#content">链接</a>)</span></h3>
<p>嗯... I2P 是个匿名网络所以这个问题实在很难回答。I2P 设计来为任何个人使用而不检查过滤任何类型的数据。让您的计算机远离这些数据 (尽管它们已经层层加密) 的方法只有不用 I2P。Freedom of speech总会有代价。当然让我们将的问题分为 3 个部分来讨论:<ul>
<li><b>传输</b> - 所有 I2P 数据均经过多层加密、多次路由。您无从知道数据的内容,来源或目的地。您所路由的所有数据都限制在 I2P 网络内部,您并不是<a href="#exit">(类似Tor的) 出口节点</a> (出口代理)。您唯一的选择只有拒绝路由 <i>任何</i> 数据。这一点可以通过设置共享带宽或最大共享通道数量为 0 来实现(参见上面的说明)。当然不这样做最好,可以通过为他人路由数据帮助 I2P 网络的运行。超过 95% 的用户为他人路由数据。</li><li><b>储存</b> - I2P 没有分布式内容储存功能。一定是联想到了<a href="http://freenetproject.org/">Freenet</a>。I2P 不为任何人保存任何内容。</li><li><b>访问</b> - 如果您不喜欢某些 eepsite ,不去看就是了。或者,使用过滤式代理例如 Privoxy 等 “网络保姆”。</li></ul>
<p>嗯... I2P 是个匿名网络所以这个问题实在很难回答。I2P 设计来为任何个人使用而不检查过滤任何类型的数据。让您的计算机远离这些数据 (尽管它们已经层层加密) 的方法只有不用 I2P。Freedom of speech总会有代价。当然让我们将的问题分为 3 个部分来讨论:<ul>
<li><b>传输</b> - 所有 I2P 数据均经过多层加密、多次路由。您无从知道数据的内容,来源或目的地。您所路由的所有数据都限制在 I2P 网络内部,您并不是<a href="#exit">(类似Tor的) 出口节点</a> (出口代理)。您唯一的选择只有拒绝路由 <i>任何</i> 数据。这一点可以通过设置共享带宽或最大共享通道数量为 0 来实现(参见上面的说明)。当然不这样做最好,可以通过为他人路由数据帮助 I2P 网络的运行。超过 95% 的用户为他人路由数据。</li><li><b>储存</b> - I2P 没有分布式内容储存功能。一定是联想到了<a href="http://freenetproject.org/">Freenet</a>。I2P 不为任何人保存任何内容。</li><li><b>访问</b> - 如果您不喜欢某些 eepsite ,不去看就是了。或者,使用过滤式代理例如 Privoxy 等 “网络保姆”。</li></ul>
</p>
<h3 id="vary">我的 活动节点 / 已知节点 / 共享隧道 / 连接数 / 带宽 总是不停的变化!哪里出了问题?<span class="permalink">(<a href="#vary">链接</a>)</span></h3>
<p>不。这很正常。所有路由器都会根据网络状况和需要作出动态调整。</p>
<h3 id="reseed">我的路由器已经运行几分钟了连接数仍然为0或很少。 <span class="permalink">(<a href="#reseed">链接</a>)</span></h3>
<p>reseed (补种 - 即搜索节点引导网络启动,呵呵这个名字挺怪问了好多次才听明白根据开发者的解释I2P的网络数据库相当于Tor的"directory info"不过I2P使用Kademlia分布式数据库以类似电驴做种的方式向外扩散数据并没有专门的"directory"服务器。如果驴子一个节点都不知道自然不能用它需要通过某个专职服务器获知几个能用的节点才能找到组织获得分布式数据库的一小部分。这个过程被I2P称为补种。) 链接已改变。如果这是第一次安装I2P软件又恰巧装了旧版本 (0.6.1.30 或更早)或者很早以前装的I2P很久没用了您需要改变上面的地址并在路由控制台中选择 "Reseed"(补种)。您的路由器运行后,在 <a href="http://localhost:7657/configadvanced.jsp">configadvanced.jsp</a> 中添加一行 <tt>i2p.reseedURL=http://netdb.i2p2.de/</tt> <tt>i2p.reseedURL=http://i2pdb.tin0.de/netDb/</tt> (任选其一),点击 "应用",最后点击右侧的链接 "reseed"(补种) 。</p><p>这个方法适用于 0.6.1.27 或更高版本的 I2P 。如果您在运行 0.6.1.31 或更高版本,可能不需要这样做。如果运行中的 I2P 为 0.6.1.26 或更早的版本,参见下面的 <a href="#manual_reseed">手动补种(ReSeed)操作指南</a> 或安装 <a href="download.html">最新发布的版本</a>。其他可能有效的方法 - 将 <tt>wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/</tt> 添加至 wrapper.config 中,完全关闭再启动路由器后点 "reseed"(补种)。如果此方法可行请告诉我们。</p>
<p>补种(即reseed 呵呵这个名字挺怪问了好多次才听明白根据开发者的解释I2P的网络数据库相当于Tor的"directory info"不过I2P使用基于Kademlia分布式数据库以类似电驴做种的方式向外扩散数据,并没有专门的"directory"服务器。如果驴子一个节点都不知道自然不能用,它需要通过某个专职服务器获知几个能用的节点才能找到组织继续获得分布式数据库的一小部分。这个过程被I2P称为补种。) 链接已改变。如果这是第一次安装I2P软件又恰巧装了旧版本 (0.6.1.30 或更早)或者很早以前装的I2P很久没用了您需要改变上面的地址并在路由控制台中选择 "Reseed"(补种)。您的路由器运行后,在 <a href="http://localhost:7657/configadvanced.jsp">configadvanced.jsp</a> 中添加一行 <tt>i2p.reseedURL=http://netdb.i2p2.de/</tt> <tt>i2p.reseedURL=http://i2pdb.tin0.de/netDb/</tt> (任选其一),点击 "应用",最后点击右侧的链接 "reseed"(补种) 。</p><p>这个方法适用于 0.6.1.27 或更高版本的 I2P 。如果您在运行 0.6.1.31 或更高版本,可能不需要这样做。如果运行中的 I2P 为 0.6.1.26 或更早的版本,参见下面的 <a href="#manual_reseed">手动补种(ReSeed)操作指南</a> 或安装 <a href="download.html">最新发布的版本</a>。其他可能有效的方法 - 将 <tt>wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/</tt> 添加至 wrapper.config 中,完全关闭再启动路由器后点 "reseed"(补种)。如果此方法可行请告诉我们。</p>
<h3 id="peers">我的路由器中 活动节点 很少,是否正常?<span class="permalink">(<a href="#peers">链接</a>)</span></h3>
<p>如果数量大于10 就没关系。 0.6.1.31 及 0.6.1.32 版中的变化改进了路由器的效率并有效的降低了活动节点的数量。任何时候,路由器 <i></i> 总是与少量的节点间维护连接。让路由器与其他节点 "较好地相连" 的最好办法是增加共享带宽。</p>
@ -62,26 +62,26 @@ several releases in 2009.
<p>不。与 <a href="http://www.torproject.org/">Tor</a> 不同, "出口节点" 或 "出口代理" 并不是 I2P 网络固有的一部分。只有正确设置并运行额外代理程序的志愿者才能向 Internet 转接数据。只有非常非常少的人会这样做。</p>
<h3 id="outproxy">我无法通过 I2P 访问普通的Internet。<span class="permalink">(<a href="#outproxy">链接</a>)</span></h3>
<p>见上。I2P网络中的 HTTP "出口代理" 非常少。它们不是 I2P 网络固有的一部分,可能不在线。此外,过去的出口代理 squid.i2p true.i2p 和 krabs.i2p 已经销声匿迹。目前仅存的出口代理是 false.i2p。使用这个代理时编辑 <a href="http://localhost:7657/i2ptunnel/edit.jsp?tunnel=0"> eepProxy 的 i2ptunnel 设置</a> 并在出口代理列表中只填 'false.i2p' 。然后停止并重新启动 eepProxy。如果不管用出口代理可能目前不在线。这不是 I2P 的问题。如果使用匿名网络的主要原因仅仅是匿名访问常规网络,可以试试 <a href="http://www.torproject.org/">Tor</a></p>
<p>见上。I2P网络中的 HTTP "出口代理" 非常少。它们不是 I2P 网络固有的一部分,可能不在线。此外,过去的出口代理 squid.i2p true.i2p 和 krabs.i2p 已经销声匿迹。目前仅存的出口代理是 false.i2p。使用这个代理时编辑 <a href="http://localhost:7657/i2ptunnel/edit.jsp?tunnel=0"> eepProxy 的 i2ptunnel 设置</a> 并在出口代理列表中只填 'false.i2p' 。然后停止并重新启动 eepProxy。如果不管用出口代理可能目前不在线。这不是 I2P 的问题。如果使用匿名网络的主要原因仅仅是匿名访问常规网络,可以试试 <a href="http://www.torproject.org/">Tor</a></p>
<h3 id="https">我通过 I2P 不能访问 https:// 或 ftp:// 网站。<span class="permalink">(<a href="#https">链接</a>)</span></h3>
<p> I2P 网络中没有使用 HTTPS 加密的必要因为所有数据都已经端到端加密。I2P 出于技术原因不支持FTP 。</p><p>至于通过 HTTPS 或 FTP 协议访问常规网络,问题是 I2P 网络内没人架设支持 HTTPS 或 FTP 的 "出口代理"。如果有人愿意架设I2P完全支持 HTTPS 协议。FTP 可能不行。实际上,谈到其他任何类型的出口代理能不能用,设置好的出口并指向(在I2P中设置的)一个标准隧道一试便知。上面解释过多次了任何类型的出口代理都不属于I2P网络的核心部分他们是志愿者个人提供的服务他们的运行并不可靠。如果也想架设出口代理请考虑清楚其中可能的风险。与代理的外部程序架设有关的问题可以来问但I2P 社区并不保证能提供需要的技术援助。</p>
<p> I2P 网络中没有使用 HTTPS 加密的必要因为所有数据都已经端到端加密。I2P 出于技术原因不支持FTP 。</p><p>至于通过 HTTPS 或 FTP 协议访问常规网络,问题是 I2P 网络内没人架设支持 HTTPS 或 FTP 的 "出口代理"。如果有人愿意架设I2P完全支持 HTTPS 协议。FTP 可能不行。实际上,谈到其他任何类型的出口代理能不能用,设置好的出口并指向(在I2P中设置的)一个标准隧道一试便知。上面解释过多次了任何类型的出口代理都不属于I2P网络的核心部分他们是志愿者个人提供的服务他们的运行并不可靠。如果也想架设出口代理请考虑清楚其中可能的风险。与代理的外部程序架设有关的问题可以来问但I2P 社区并不保证能提供需要的技术援助。</p>
<h3 id="proxy_safe">使用出口代理安全吗?<span class="permalink">(<a href="#proxy_safe">链接</a>)</span></h3>
<p>这需要自己判断。这要看在做什么,<a href="how_threatmodel.html">安全模型</a>是怎样的,是否信任出口代理的管理员。</p><p>与 Tor 一样, I2P 并不能神奇地将整个Inernet加密。可能受到出口代理管理员的侦听。 <a href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#ExitEavesdroppers">Tor 的常见问题</a> 页面有很好的解释了这个问题。I2P 内没人架设 HTTPS 出口代理在普通HTTP代理面前无法隐藏自己的数据。</p><p>此外,如果使用了相同的隧道("共享客户(shared clients)")还可能受到出口代理及其他I2P服务管理员间的共谋攻击。 <a href="http://zzz.i2p/topics/217">zzz.i2p</a>上有关于这一点的进一步讨论。</p>
<p>这需要自己判断。这要看在做什么,<a href="how_threatmodel.html">安全模型</a>是怎样的,是否信任出口代理的管理员。</p><p>与 Tor 一样, I2P 并不能神奇地将整个Inernet加密。可能受到出口代理管理员的侦听。 <a href="https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#ExitEavesdroppers">Tor 的常见问题</a> 页面有很好的解释了这个问题。I2P 内没人架设 HTTPS 出口代理在普通HTTP代理面前无法隐藏自己的数据。</p><p>此外,如果使用了相同的隧道("共享客户(shared clients)")还可能受到出口代理及其他I2P服务管理员间的共谋攻击。 <a href="http://zzz.i2p/topics/217">zzz.i2p</a>上有关于这一点的进一步讨论。</p>
<h3 id="proxy_other">如何访问常规 Internet 上的 IRC、 BT 或其他服务?<span class="permalink">(<a href="#proxy_other">链接</a>)</span></h3>
<p>不能。必须有人为这些服务架设出口代理。目前只有两种服务有出口代理: HTTP 和 电子邮件。还没有 SOCKS 出口代理。如果需要 SOCKS 出口代理,也许该尝试 <a href="http://www.torproject.org/">Tor</a></p>
<p>不能。必须有人为这些服务架设出口代理。目前只有两种服务有出口代理: HTTP 和 电子邮件。还没有 SOCKS 出口代理。如果需要 SOCKS 出口代理,也许该尝试 <a href="http://www.torproject.org/">Tor</a></p>
<h3 id="down">I2P 中的很多匿名站点(eepsite)都下线了吗?<span class="permalink">(<a href="#down">链接</a>)</span></h3>
<p>如果指过去曾出现过的所有eepsite是的大部分都下线了。eepsite和他们的主人来来去去。开始 I2P 之旅的第一步最好是查看一下都有哪些eepsite网站在线。<a href="http://inproxy.tino.i2p/status.php">inproxy.tino.i2p</a><a href="http://perv.i2p/stats.cgi">perv.i2p</a> 会跟踪在线的 eepsite 站点。</p>
<p>如果指过去曾出现过的所有eepsite是的大部分都下线了。eepsite和他们的主人来来去去。开始 I2P 之旅的第一步最好是查看一下都有哪些eepsite网站在线。<a href="http://inproxy.tino.i2p/status.php">inproxy.tino.i2p</a><a href="http://perv.i2p/stats.cgi">perv.i2p</a> 会跟踪在线的 eepsite 站点。</p>
<h3 id="myeepsite">如何建立我自己的 eepsite 站点?<span class="permalink">(<a href="#myeepsite">链接</a>)</span></h3>
<p>点一下路由控制台顶部的 <a href="http://localhost:7658/">匿名主页 链接</a> ,里面有详细的操作指南。</p>
<h3 id="slow">为什么 I2P 这么慢?<span class="permalink">(<a href="#slow">链接</a>)</span></h3>
<p>为什么用 I2P 下载BT看网页等等都比正常慢I2P网络内数据的加密和路由增加了额外的数据量限制了带宽。 匿名总要有代价。</p>
<p>此外,大家可能需要放宽带宽限制。两个主要设置项是 <a href="http://localhost:7657/config.jsp"> 内部设置 页面 </a>入站和出站带宽限制。在默认设置 32KBps 下, 匿名BT客户端 I2PSnark 的速度一般不会超过 15KBps 。增大这些设置 (在实际带宽范围内) 将增加 I2PSnark 及其他潜在程序的速度。</p><p>此外,是否已经设置了足够的共享带宽,允许共享隧道经过您的路由器呢?信不信由,打开共享流量能够保持路由器在 I2P 网络中有效整合,帮助获得更好的传输速度。</p><p>I2P 仍在改进中。很多改进和修正在不断地应用到 I2P 中。总的来说,运行最新版会得到更好的性能。如果还没有,请 <a href="download.html">安装最新版</a></p>
<p>此外,大家可能需要放宽带宽限制。两个主要设置项是 <a href="http://localhost:7657/config.jsp"> 内部设置 页面 </a>入站和出站带宽限制。在默认设置 32KBps 下, 匿名BT客户端 I2PSnark 的速度一般不会超过 15KBps 。增大这些设置 (在实际带宽范围内) 将增加 I2PSnark 及其他潜在程序的速度。</p><p>此外,是否已经设置了足够的共享带宽,允许共享隧道经过您的路由器呢?信不信由,打开共享流量能够保持路由器在 I2P 网络中有效整合,帮助获得更好的传输速度。</p><p>I2P 仍在改进中。很多改进和修正在不断地应用到 I2P 中。总的来说,运行最新版会得到更好的性能。如果还没有,请 <a href="download.html">安装最新版</a></p>
<h3 id="snark">有关 Bittorrent / I2PSnark / Azureus I2P 插件的问题?<span class="permalink">(<a href="#snark">链接</a>)</span></h3>
<p>参见 <a href="http://forum.i2p/viewtopic.php?t=2068">I2P Bittorrent 常见问答</a> <a href="http://forum.i2p2.de/viewtopic.php?t=2068">(公网链接)</a>
@ -94,11 +94,11 @@ several releases in 2009.
<ol>
<li>打开文件 clients.config 将<br /><code>clientApp.0.args=7657 127.0.0.1 ./webapps/</code><br />替换为 <br /><code>clientApp.0.args=7657 0.0.0.0 ./webapps/</code></li>
<li>转到 <a href="http://localhost:7657/configadvanced.jsp">http://localhost:7657/configadvanced.jsp</a> 并插入新选项: <code>consolePassword=foo</code> (或需要的其他密码)</li>
<li>转到 <a href="http://localhost:7657/configadvanced.jsp">http://localhost:7657/configadvanced.jsp</a> 并插入新选项: <code>consolePassword=foo</code> (或需要的其他密码)</li>
<li>转到 <a href="http://localhost:7657/index.jsp">http://localhost:7657/index.jsp</a> 点 "Graceful restart", 重启Java虚拟机重新载入客户端程序</li>
</ol>
<p>启动后,就可以远程访问控制台了。控制台会询问用户名和密码,用户名为 "admin" 密码为刚刚在第二步中设置的密码。注意: 上面的 <code>0.0.0.0</code> 设置了 <i>网络接口</i>而非网络地址或子网掩码。0.0.0.0 表示 "绑定到所有接口",这样 127.0.0.1:7657 和任何 LAN/WAN IP都可以访问。</p>
<p>启动后,就可以远程访问控制台了。控制台会询问用户名和密码,用户名为 "admin" 密码为刚刚在第二步中设置的密码。注意: 上面的 <code>0.0.0.0</code> 设置了 <i>网络接口</i>而非网络地址或子网掩码。0.0.0.0 表示 "绑定到所有接口",这样 127.0.0.1:7657 和任何 LAN/WAN IP都可以访问。</p>
<h3 id="remote_i2cp">如何使用远程计算机上的程序?<span class="permalink">(<a href="#remote_i2cp">链接</a>)</span></h3>
<p>默认情况下, 路由器的 I2CP 界面 (端口 7654) 绑定在 127.0.0.1上。要与 0.0.0.0 绑定,可以设置路由器高级设置选项为 <tt>i2cp.tcp.bindAllInterfaces=true</tt> 并重启。</p>
@ -110,19 +110,19 @@ several releases in 2009.
<p>x 为最近一分钟内路由器曾与其成功收发消息的节点数量, y 为最近一小时内发现的节点数量。</p>
<h3 id="socks">能否将 I2P 作为 SOCKS 代理使用?<span class="permalink">(<a href="#socks">链接</a>)</span></h3>
<p> I2P 自 0.7.1 版开始支持 SOCKS 代理(与Tor类似)。I2P 支持 SOCKS 4/4a/5 。由于没人架设 SOCKS 出口代理,所以此功能用途有限。</p><p>而且很多程序可能泄露敏感信息。I2P 只能过滤连接数据,如果使用的程序会将敏感信息作为数据内容发送I2P则无法保护的匿名性。例如一些电子邮件客户端会将用户的IP发送给邮件服务器。 I2P 无法过滤这些信息,因此通过 I2P 'socksify' 普通程序是可行的但存在风险。</p><p>要了解更多有关 socks 代理程序的信息。参见 <a href="socks.html">socks 页面</a> 中的提示。</p>
<p> I2P 自 0.7.1 版开始支持 SOCKS 代理(与Tor类似)。I2P 支持 SOCKS 4/4a/5 。由于没人架设 SOCKS 出口代理,所以此功能用途有限。</p><p>而且很多程序可能泄露敏感信息。I2P 只能过滤连接数据,如果使用的程序会将敏感信息作为数据内容发送I2P则无法保护的匿名性。例如一些电子邮件客户端会将用户的IP发送给邮件服务器。 I2P 无法过滤这些信息,因此通过 I2P 'socksify' 普通程序是可行的但存在风险。</p><p>要了解更多有关 socks 代理程序的信息。参见 <a href="socks.html">socks 页面</a> 中的提示。</p>
<h3 id="ports"> I2P 使用哪些端口?<span class="permalink">(<a href="#ports">链接</a>)</span></h3>
<p>下面是默认端口列表, (当然,所有端口通过参数都可以自定义)</p>
<p>
<ul><p>
<li><b>面向 Internet端口</b>
<li><b>Internet/外网端口</b>
<ul>
<li><b>出站 UDP 端口 8887 连接至任意远程UDP端口允许响应。</b></li>
<li><b>出站 UDP 端口 8887 连接至任意远程UDP端口允许响应。</b><br/>自0.7.8起改为首次安装时随机确定端口(只影响新安装的用户)老用户建议手动设置为非8887端口。并在防火墙中取消旧端口允许新端口连接。</b></li>
<li><b>出站 TCP 随机高端端口至任意远程TCP端口</b></li>
<li><b>(可选, 推荐使用) 入站 UDP 端口8887 连接自任意远程端口。</b></li>
<li><b>(可选,推荐使用)入站 TCP 端口 8887 连接自远程任意端口</b><br />I2P 默认不接收 TCP 入站连接。<br />要设置接收入站连接,可以设置 I2P 自动检测地址和端口<br />通过 UDP 传输或者手动输入IP地址 (或 DNS 域名)<br />及 TCP 端口。可以在 Configuration(设置)页面启动此功能。</li>
<li><b>(可选,推荐使用)入站 TCP 端口 8887 连接自远程任意端口</b><br />I2P 默认不接收 TCP 入站连接。<br />要设置接收入站连接,可以设置 I2P 自动检测地址和端口<br />通过 UDP 传输或者手动输入IP地址 (或 DNS 域名)<br />及 TCP 端口。可以在 Configuration(设置)页面启动此功能。</li>
<li><b>出站 UDP 端口 123允许响应</b><br /> I2P 网络内部的时间同步需要此端口 (使用 SNTP 协议- 随机查询 pool.ntp.org 内的 SNTP 主机或用户指定的服务器)</li>
</ul>
</li>
@ -151,9 +151,9 @@ several releases in 2009.
</p></ul>
</p>
<p>本地的 I2P 端口和 I2PTunnel(I2P隧道)端口不需要允许外部计算机访问,但本地计算机 *应该* 可以访问。也可以通过 I2PTunnel页面 http://localhost:7657/i2ptunnel/ 创建其他的I2P隧道实例。(此后,可能需要在防火墙中允许本地地址访问这些端口,除非有需要不要放行远程访问。)</p>
<p>本地的 I2P 端口和 I2PTunnel(I2P隧道)端口不需要允许外部计算机访问,但本地计算机 *应该* 可以访问。也可以通过 I2PTunnel页面 http://localhost:7657/i2ptunnel/ 创建其他的I2P隧道实例。(此后,可能需要在防火墙中允许本地地址访问这些端口,除非有需要不要放行远程访问。)</p>
<p>总的来说I2P不需要远程节点连入但如果能设置的NAT/防火墙允许到本地8887端口的UDP或TCP连接I2P会获得更好的性能。此外I2P还必须能够向任意远程节点发送UDP出站数据包 (使用PeerGuardian之类的软件随机封堵IP只会让的体验变糟,不要这样做)。</p>
<p>总的来说I2P不需要远程节点连入但如果能设置的NAT/防火墙允许到本地8887端口的UDP或TCP连接I2P会获得更好的性能。此外I2P还必须能够向任意远程节点发送UDP出站数据包 (使用PeerGuardian之类的软件随机封堵IP只会让的体验变糟,不要这样做)。</p>
<h3 id="manual_reseed">如何手动补种(帮助网络启动)<span class="permalink">(<a href="#manual_reseed">链接</a>)</span></h3>
<p>I2P 路由器只需要补种一次以便它在第一次启动后能找到I2P网络。补种不过就是向预定义的URL发送 HTTP GET 请求获取目录列表并下载一些 "routerInfo" 文件。</p>
@ -170,5 +170,5 @@ several releases in 2009.
<hr />
<h3 id="question">我有问题要问!<span class="permalink">(<a href="#question">链接</a>)</span></h3>
<p>太棒了!来 IRC irc.freenode.net #i2p 找我们聊聊或到 <a href="http://forum.i2p2.de/">论坛</a> 发帖,我们会把的问题(很可能连同回答)添加到这里。</p>
<p>太棒了!来 IRC irc.freenode.net #i2p 找我们聊聊或到 <a href="http://forum.i2p2.de/">论坛</a> 发帖,我们会把的问题(很可能连同回答)添加到这里。</p>
{% endblock %}

View File

@ -2,12 +2,13 @@
{% block title %}halloffame{% endblock %}
{% block content %}
<h1>I2P'<font size=-1>s</font> Hall of Fame</h1>
<b>Current balance: as of 2009-10-15</b><br />
<b>General fund: 195.0 &euro;</b><br />
<b>Current balance: as of 2009-11-09</b><br />
<b>General fund: 205.0 &euro;</b><br />
<b><a href="bounty_datastore">Datastorage bounty</a>: 500.0 &euro;</b><br />
<b><a href="bounty_vuzeplugin">I2P vuze plugin bounty</a>: 50.0 &euro;</b><br />
<b><a href="bounty_i2phex">I2PHex bounty</a>: 20.0 &euro;</b><br />
<b>Outproxy bounty: 0.0 &euro;</b><br />
<b><a href="bounty_rutrans.html">Russian translation bounty</a>: 230 $</b><br />
<br />
<b>Current monthly running costs:</b><br />
<table border="1">
@ -30,6 +31,8 @@ From begin of feb 2009 on we got a new fund setup. </p>
<b>Previous donations:</b><br />
<table border="1">
<tr><td>Nov, 2009</td><td>russian donor</td><td>230 $</td><td>russian translation bounty</td></tr>
<tr><td>Nov, 2009</td><td>anonymous</td><td>10 &euro;</td><td>General fund</td></tr>
<tr><td>Oct, 2009</td><td>echelon</td><td>10 &euro;</td><td>i2phex bounty</td></tr>
<tr><td>Oct, 2009</td><td>arne bab</td><td>10 &euro;</td><td>i2phex bounty</td></tr>
<tr><td>Oct, 2009</td><td>anonymous</td><td>10 &euro;</td><td>General fund</td></tr>

View File

@ -2,12 +2,13 @@
{% block title %}Ruhmeshalle{% endblock %}
{% block content %}
<h1>I2P'<font size=-1>s</font> Ruhmeshalle</h1>
<b>Derzeitiger Stand zum 15.10.2009:</b><br />
<b>Generelles Konto: 195.0 &euro;</b><br />
<b>Derzeitiger Stand zum 09.11.2009:</b><br />
<b>Generelles Konto: 205.0 &euro;</b><br />
<b><a href="bounty_datastore_de">Datencontainer Belohnung</a>: 500.0 &euro;</b><br />
<b><a href="bounty_vuzeplugin_de.html">I2P Vuze Plugin Belohnung</a>: 50.0 &euro;</b><br />
<b><a href="bounty_i2phex_de.html">I2PHex Code Belohnung</a>: 20.0 &euro;</b><br />
<b>Outproxy Konto: 0.0 &euro;</b><br />
<b><a href="bounty_rutrans_de.html">Russische &Uuml;bersetzungs Belohnung</a>: 230 $</b><br />
<br />
<b>Derzeitige laufenden monatliche Kosten:</b><br />
<table border="1">
@ -33,6 +34,8 @@ gespendet haben!</p>
<b>Bisherige Spenden:</b><br />
<table border="1">
<tr><td>Nov, 2009</td><td>Russischer Spender</td><td>230 $</td><td>Russische &Uuml;bersetzungs Belohnung</td></tr>
<tr><td>Nov, 2009</td><td>anonymous</td><td>10 &euro;</td><td>Generelles Konto</td></tr>
<tr><td>Okt, 2009</td><td>echelon</td><td>10 &euro;</td><td>I2Phex Belohnung</td></tr>
<tr><td>Okt, 2009</td><td>arne bab</td><td>10 &euro;</td><td>I2PHex Belohnung</td></tr>
<tr><td>Okt, 2009</td><td>anonymous</td><td>10 &euro;</td><td>Generelles Konto</td></tr>

View File

@ -11,7 +11,7 @@ function get_revision_cert_trust(signers, id, name, val)
local trusted_signers = { "complication@mail.i2p", "zzz@mail.i2p", "dev@welterde.de",
"Oldaris@mail.i2p", "sponge@mail.i2p", "dream@mail.i2p", "mathiasdm@mail.i2p",
"mkvore-commit@mail.i2p", "z3d@mail.i2p", "cervantes@mail.i2p", "BlubMail@mail.i2p",
"walking@mail.i2p"}
"walking@mail.i2p", "neutron@mail.i2p", "HungryHobo@mail.i2p" }
local t = intersection(signers, trusted_signers)
if t == nil then return false end
if table.getn(t) >= 1 then return true end
@ -288,5 +288,58 @@ WZYIJ6vaa0BzJcEi2BDQWsPasEoMlGiK1+WXrjTq4lYcJYu+xrNFh+ofbRYqYhaf
=i/D9
-----END PGP SIGNATURE-----
neutron:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi zzz,
I agree to the following :
- - Unless marked otherwise, all code I commit is implicitly licensed
under the component's primary license
- - If specified in the source, the code may be explicitly licensed
under one of the component's alternate licenses
- - I have the right to release the code they commit under the terms I
am committing it
Neutron
- --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkr3D7MACgkQDkulOvK9/Uww+ACeJ/ILV87A7AtRqJI78MutKlxr
IpYAn0MXlHOB9aA7aR07Kj95pvF8A6wv
=AUjh
-----END PGP SIGNATURE-----
HungryHobo:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Applicable to the code I contribute to the I2P project,
I hereby state that:
* Unless marked otherwise, all code I commit
is implicitly licensed under the component's primary license
* If specified in the source, the code may be explicitly licensed
under one of the component's alternate licenses
* I have the right to release the code I commit
under the terms I am committing it.
HungryHobo, 11-3-2009
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkrxDEMACgkQHix7YXbc3BL+GACdGH9r4WWqnZS4ZHdvhq2kEgEH
FQYAn3gMHNDEBh6YD8KBK4UT/v89PRmy
=EXov
-----END PGP SIGNATURE-----
</pre>
{% endblock %}

View File

@ -10,7 +10,8 @@ _MTN/montonerc in their i2p.i2p workspace.
function get_revision_cert_trust(signers, id, name, val)
local trusted_signers = { "complication@mail.i2p", "zzz@mail.i2p", "dev@welterde.de",
"Oldaris@mail.i2p", "sponge@mail.i2p", "dream@mail.i2p", "mathiasdm@mail.i2p",
"mkvore-commit@mail.i2p", "z3d@mail.i2p", "cervantes@mail.i2p", "BlubMail@mail.i2p" }
"mkvore-commit@mail.i2p", "z3d@mail.i2p", "cervantes@mail.i2p", "BlubMail@mail.i2p",
"walking@mail.i2p", "neutron@mail.i2p", "HungryHobo@mail.i2p" }
local t = intersection(signers, trusted_signers)
if t == nil then return false end
if table.getn(t) >= 1 then return true end
@ -283,5 +284,80 @@ iEYEARECAAYFAkqjRpgACgkQD9YhRSUxPSd74wCdEIHUauSInrfmhXlcx3t5pwrh
=LG0S
-----END PGP SIGNATURE-----
walking:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I agree that, in respect of the Invisible Internet Project (I2P):
* Unless marked otherwise, all code I commit is implicitly licensed under the component's primary license
* If specified in the source, the code may be explicitly licensed under one of the component's alternate licenses
* I have the right to release the code I commit under the terms I am committing it
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
iQEcBAEBAgAGBQJK3xwEAAoJELST8RRG8p88DQsH/2cMRMtDiaYKNF+fQvdSKuQI
igqRJnnIr/g5s8alfikRhm6MqR/q/vsWVfQlKs+KwL+15OKPjJJtxahp/CsWu5ZX
edHZv4nKGuSB7FvUoy0Lz6LRlu0HgZl7nli6YNVYbfbAQ1QbPY3wbvRxkLyHy1Zm
kB1XyfzOvA9gpu6r3NLUR8a5mhDUbOtNR8IxoNC/Z1ogsf1c5kzbz0ncHPiV1wMx
WZYIJ6vaa0BzJcEi2BDQWsPasEoMlGiK1+WXrjTq4lYcJYu+xrNFh+ofbRYqYhaf
3sGSCgK6abMlQeoO1aO5uo6CRI/Yvrfp5G5y7S/yDOq03glK3RnPAYlmc3s6VLY=
=i/D9
-----END PGP SIGNATURE-----
neutron:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi zzz,
I agree to the following :
- - Unless marked otherwise, all code I commit is implicitly licensed
under the component's primary license
- - If specified in the source, the code may be explicitly licensed
under one of the component's alternate licenses
- - I have the right to release the code they commit under the terms I
am committing it
Neutron
- --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkr3D7MACgkQDkulOvK9/Uww+ACeJ/ILV87A7AtRqJI78MutKlxr
IpYAn0MXlHOB9aA7aR07Kj95pvF8A6wv
=AUjh
-----END PGP SIGNATURE-----
HungryHobo:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Applicable to the code I contribute to the I2P project,
I hereby state that:
* Unless marked otherwise, all code I commit
is implicitly licensed under the component's primary license
* If specified in the source, the code may be explicitly licensed
under one of the component's alternate licenses
* I have the right to release the code I commit
under the terms I am committing it.
HungryHobo, 11-3-2009
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkrxDEMACgkQHix7YXbc3BL+GACdGH9r4WWqnZS4ZHdvhq2kEgEH
FQYAn3gMHNDEBh6YD8KBK4UT/v89PRmy
=EXov
-----END PGP SIGNATURE-----
</pre>
{% endblock %}

View File

@ -3,10 +3,11 @@
{% block content %}
<h2 id="0.8">0.8</h2>
Mid-2009
Early 2010
<ul>
<li>Further research and improve the <a href="i2np.html">Message Priority System</a></li>
<li>Reduce <a href="how_peerselection.html">peer profile</a> size, implement better ejection strategy </li>
<li>Expand and rework the floodfill pool, bring back simlified Kademlia searches and stores for the pool</li>
<li>Reachability Mapping / handle peers partially reachable / enhanced <a href="todo.html#fullRestrictedRoutes">restricted routes</a></li>
<li>Include some seed data in the distribution so a central reseed location isn't required?
<li>Distributed / enhanced i2pupdate distribution, set default to download</li>

View File

@ -69,8 +69,8 @@ For a good example of usage, see the i2psnark code.
</p>
<h2>Status</h2>
<p>The streaming lib has many advantages over the ministreaming library was written by mihi as a part of his
<h2>Advantages</h2>
<p>The streaming lib has many advantages over the ministreaming library written by mihi as a part of his
<a href="i2ptunnel">I2PTunnel</a> application.
The streaming library is
a more robust streaming library
@ -85,6 +85,8 @@ it contains a full windowing implementation.
Significant tuning of the streaming lib parameters,
greatly increasing outbound performance, was implemented in 0.6.1.28.
Subsequent releases include additional tuning and bug fixes.
<h2>Default Parameters</h2>
The current default values are listed below.
Lower case values are streaming lib parameters that can changed on a
per-connection basis.
@ -164,43 +166,94 @@ See <a href="ntcp.html">the NTCP page</a> for a discussion.
<h2>Packet Format</h2>
<p>
Here is the format of a single packet transferred as part of a streaming connection.
<ul>
<li>sendStreamId [4 byte value] (random number selected by the connection recipient)</li>
<li>receiveStreamId [4 byte value] (random number selected by the connection originator)</li>
<li>sequenceNum [4 byte unsigned integer]</li>
<li>ackThrough [4 byte unsigned integer]</li>
<li>number of NACKs [1 byte unsigned integer]</li>
<li>that many NACKs</li>
<li>resendDelay [1 byte integer]</li>
<li>flags [2 byte value]</li>
<li>option data size [2 byte integer]</li>
<li>option data specified by those flags [0 or more bytes]</li>
<li>payload [remaining packet size]</li>
</ul>
<table>
<tr><th>Field<th>Length<th>Contents
<tr><td>sendStreamId <td>4 byte value<td>Random number selected by the connection recipient
and constant for the life of the connection.
0 in the SYN message sent by the originator.
<tr><td>receiveStreamId <td>4 byte value<td>Random number selected by the connection originator
and constant for the life of the connection.
<tr><td>sequenceNum <td>4 byte unsigned integer<td>
The sequence for this message, starting at 0 in the SYN message,
and incremented by 1 in each message except for plain ACKs and retransmissions.
If the sequenceNum is 0 and the SYN is not set, this is a plain ACK
packet that should not be ACKed.
<tr><td>ackThrough <td>4 byte unsigned integer<td>
The highest packet sequence number that was received
on the receiveStreamId. This field is ignored on the initial
connection packet (where receiveStreamId is the unknown id) or
if FLAG_NO_ACK is set.
All packets up to and including this sequence number are acked,
EXCEPT for those listed in NACKs below.
<tr><td>number of NACKs <td>1 byte unsigned integer<td>
<tr><td>that many NACKs <td>n * 4 byte unsigned integers<td>
Sequence numbers less than ackThrough that are not yet received.
Two NACKs of a packet is a request for a 'fast retransmit' of that packet.
<tr><td>resendDelay <td>1 byte unsigned integer<td>
How long is the creator of this packet going to wait before
resending this packet (if it hasn't yet been ACKed). The
value is seconds since the packet was created.
Ignored on receive. Broken on send before release 0.7.8 (the sender did not divide by 1000,
and the default is 1000 ms, so the included value was 1000 &amp 0xff = 0xe8 = 232 seconds.
<tr><td>flags <td>2 byte value<td>
See below.
<tr><td>option data size <td>2 byte unsigned integer<td>
See below.
<tr><td>option data specified by those flags <td>0 or more bytes<td>
See below.
<tr><td>payload <td>remaining packet size<td>
</table>
<p>The flags field above specifies some metadata about the packet, and in
turn may require certain additional data to be included. The flags are
as follows (with any data structures specified added to the options area
in the given order):</p><ol>
<li>FLAG_SYNCHRONIZE: no option data</li>
<li>FLAG_CLOSE: no option data</li>
<li>FLAG_RESET: no option data</li>
<li>FLAG_SIGNATURE_INCLUDED: net.i2p.data.Signature (40 bytes)</li>
<li>FLAG_SIGNATURE_REQUESTED: no option data</li>
<li>FLAG_FROM_INCLUDED net.i2p.data.Destination (typ. 387 bytes)</li>
<li>FLAG_DELAY_REQUESTED: 2 byte integer</li>
<li>FLAG_MAX_PACKET_SIZE_INCLUDED: 2 byte integer</li>
<li>FLAG_PROFILE_INTERACTIVE: no option data</li>
<li>FLAG_ECHO: no option data</li>
<li>FLAG_NO_ACK: no option data</li>
</ol>
<p>If the signature is included, it uses the Destination's DSA key
in the given order):</p>
<table>
<tr><th>Bit Number<th>Flag<th>Option Data<th>Function
<tr><td>0<td>FLAG_SYNCHRONIZE<td>no option data<td>
Similar to TCP SYN.
<tr><td>1<td>FLAG_CLOSE<td>no option data<td>
Similar to TCP FIN. If the response to a SYN fits in a single message, the response
will contain both FLAG_SYNCHRONIZE and FLAG_CLOSE.
<tr><td>2<td>FLAG_RESET<td>no option data<td>
Abnormal close.
<tr><td>3<td>FLAG_SIGNATURE_INCLUDED<td>40 bytes<td>net.i2p.data.Signature
Typically sent only with FLAG_SYNCHRONIZE and FLAG_CLOSE, where it is required.
If the signature is included, it uses the Destination's DSA key
to sign the entire header and payload with the space in the options
for the signature being set to all zeroes.</p>
for the signature being set to all zeroes.
<tr><td>4<td>FLAG_SIGNATURE_REQUESTED<td>no option data<td>
Unused. Requests every packet in the other direction to have FLAG_SIGNATURE_INCLUDED
<tr><td>5<td>FLAG_FROM_INCLUDED<td>typ. 387 bytes<td>net.i2p.data.Destination
Typically sent only with FLAG_SYNCHRONIZE.
<tr><td>6<td>FLAG_DELAY_REQUESTED<td>2 byte integer<td>
Optional delay.
How many milliseconds the sender of this packet wants the recipient
to wait before sending any more data.
A value greater than 60000 indicates choking.
<tr><td>7<td>FLAG_MAX_PACKET_SIZE_INCLUDED<td>2 byte integer<td>
Sent with FLAG_SYNCHRONIZE or with a retransmission,
could be optimized to only send with a SYN.
<tr><td>8<td>FLAG_PROFILE_INTERACTIVE<td>no option data<td>
Apparently unused or ignored
<tr><td>9<td>FLAG_ECHO<td>no option data<td>
Unused except by ping programs
<tr><td>10<td>FLAG_NO_ACK<td>no option data<td>
Apparently unused, an ack is always included.
This flag simply tells the recipient to ignore the ackThrough field in the header.
<tr><td>11-15<td>unused<td><td>
</table>
<p>If the sequenceNum is 0 and the SYN is not set, this is a plain ACK
packet that should not be ACKed</p>
<h2>Control Block Sharing</h2>
<p>