Files
I2P_Website/i2p2www/translations/de/LC_MESSAGES/messages.po

24356 lines
914 KiB
Plaintext
Raw Normal View History

2013-07-03 01:01:50 +00:00
# Translations template for I2P.
2013-06-05 10:00:16 +00:00
# Copyright (C) 2013 ORGANIZATION
# This file is distributed under the same license as the I2P project.
2013-07-03 01:01:50 +00:00
#
2013-06-05 10:00:16 +00:00
# Translators:
# amiga4000 <amiga4000@mail.i2p>, 2008
2013-07-03 01:01:50 +00:00
# SteinQuadrat, 2013
# SteinQuadrat, 2013
# zeroflag <zeroflag@i2pmail.org>, 2013
2013-06-05 10:00:16 +00:00
# zeroflag <zeroflag@i2pmail.org>, 2013
msgid ""
msgstr ""
2013-07-03 01:01:50 +00:00
"Project-Id-Version: I2P\n"
2013-06-05 10:00:16 +00:00
"Report-Msgid-Bugs-To: https://trac.i2p2.de/\n"
2013-07-03 01:01:50 +00:00
"POT-Creation-Date: 2013-06-11 14:56+0000\n"
"PO-Revision-Date: 2013-06-30 10:33+0000\n"
"Last-Translator: driz <driz@i2pmail.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/I2P/language/de/)\n"
"MIME-Version: 1.0\n"
2013-07-03 01:01:50 +00:00
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
2013-07-03 01:01:50 +00:00
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
2013-06-05 10:00:16 +00:00
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:24
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:11
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:25
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:12
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:12
#: i2p2www/blog/2012/05/02/0.9-Release.rst:17
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:12
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:16
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:16
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:26
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:19
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:19
2013-06-05 10:00:16 +00:00
msgid "Files are available on the `download page`_."
msgstr "Die Dateien sind verfügbar auf der `Download Seite`_."
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:28
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:15
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:29
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:16
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:16
#: i2p2www/blog/2012/05/02/0.9-Release.rst:21
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:16
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:20
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:20
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:30
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:23
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:23
2013-06-05 10:00:16 +00:00
msgid "`download page`"
msgstr "`Download Seite`"
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:30
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:17
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:31
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:18
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:19
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:18
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:22
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:22
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:32
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:25
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:79
2013-06-05 10:00:16 +00:00
msgid "RELEASE DETAILS"
msgstr "RELEASE DETAILS"
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:32
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:19
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:33
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:40
#: i2p2www/blog/2012/05/02/0.9-Release.rst:50
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:24
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:24
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:34
msgid "Major Changes"
msgstr "Wesentliche Änderungen"
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:44
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:24
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:43
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:55
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:47
#: i2p2www/blog/2012/05/02/0.9-Release.rst:58
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:43
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:32
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:30
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:39
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:81
2013-06-05 10:00:16 +00:00
msgid "Bug Fixes"
msgstr "Bug Fixes"
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:54
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:30
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:47
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:69
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:63
#: i2p2www/blog/2012/05/02/0.9-Release.rst:68
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:54
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:41
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:36
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:51
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:43
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:94
2013-06-05 10:00:16 +00:00
msgid "Other"
msgstr "Andere"
#: i2p2www/blog/2011/10/11/0.8.9-Release.rst:73
#: i2p2www/blog/2011/10/20/0.8.10-Release.rst:36
#: i2p2www/blog/2011/11/08/0.8.11-Release.rst:51
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:82
#: i2p2www/blog/2012/02/27/0.8.13-Release.rst:75
#: i2p2www/blog/2012/05/02/0.9-Release.rst:96
#: i2p2www/blog/2012/07/30/0.9.1-Release.rst:76
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:52
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:56
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:67
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:56
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:110
2013-06-05 10:00:16 +00:00
msgid "SHA256 Checksums:"
msgstr "SHA256 Checksumme:"
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:39
msgid "Major changes"
msgstr ""
#: i2p2www/blog/2012/01/06/0.8.12-Release.rst:47
msgid "Wrapper Update"
msgstr ""
#: i2p2www/blog/2012/05/02/0.9-Release.rst:23
msgid "Update Info"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:2
msgid "0.9.2 Release"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:7
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:9
msgid ""
2013-07-03 01:01:50 +00:00
"0.9.2 includes extensive low-level changes to improve the performance and "
"efficiency of the router. We have updated our UPnP library, to hopefully "
"make UPnP work for more people. I2PSnark now has DHT support, but it is not "
"yet enabled by default, as we plan to do more testing during the upcoming "
"0.9.3 development cycle."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:12
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:12
msgid ""
"As usual, there's also lots of bug fixes in this release, so updating is "
"recommended."
2013-07-03 01:01:50 +00:00
msgstr "Wie üblich gibt es in diesem Release eine Menge Bug Fixes. Deswegen empfehlen wir eine Aktualisierung."
2013-06-05 10:00:16 +00:00
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:26
msgid ""
2013-07-03 01:01:50 +00:00
"SSU: Fix several problems in our UDP transport, to improve efficiency and "
"reliability for connection setup. Also improve defenses against various "
2013-06-05 10:00:16 +00:00
"types of bad input."
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:27
msgid ""
"UPnP: Updated our library to fix several issues, should work for more "
"routers now"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:28
msgid ""
"Transport: Improve performance in both our TCP and UDP transports, to "
"benefit high-bandwidth routers"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:29
msgid ""
2013-07-03 01:01:50 +00:00
"Crypto: The thresholds and number of ElGamal/AES Session Tags delivered are "
"now much more flexible, which should lessen protocol overhead and reduce "
"stalls caused by dropped tags."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:30
msgid ""
"I2PSnark: Add DHT support, not yet enabled by default, will do further "
"testing and plan to enable by default in 0.9.3."
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:34
msgid ""
2013-07-03 01:01:50 +00:00
"Fix various issues affecting memory usage and performance on high-bandwidth "
"routers"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:35
2013-07-03 01:01:50 +00:00
msgid ""
"Fix problems in UDP for routers using a reduced-MTU connection, e.g. a VPN"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:36
2013-07-03 01:01:50 +00:00
msgid ""
"Fix i2psnark bug that prevented a completion announcement to the tracker"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:37
msgid "Fix a lock contention problem in i2ptunnel"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:38
msgid "Fix some OSX installation issues"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:39
msgid "Remove uses of direct byte buffers that may have been leaking"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:43
msgid "Reduce overhead in network messages"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:44
msgid "Add \"universal\" theme support"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:45
msgid "Theme updates"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:46
msgid "Add a jbigi library for Raspberry Pi"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:47
msgid "New Scala unit test framework"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:48
msgid "Translation updates for Czech, Dutch, German, and Greek"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:49
msgid "Update wrapper to 3.5.15 (new installs and PPA only)"
msgstr ""
#: i2p2www/blog/2012/09/21/0.9.2-Release.rst:50
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:53
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:63
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:53
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:108
2013-06-05 10:00:16 +00:00
msgid "Update GeoIP data (new installs and PPA only)"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:2
msgid "0.9.3 Release"
msgstr "0.9.3 Release"
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:7
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:9
msgid ""
2013-07-03 01:01:50 +00:00
"0.9.3 includes extensive low-level changes to the queueing of messages in "
"the router. We implement the CoDel Active Queue Management (AQM) algorithm."
" We also unify the queueing and priority mechanisms in the transports to "
"aid diagnosis and reduce network latency. Work continues on fixing UDP "
"transport bugs and making UDP more resistant to attacks. There are more "
"changes to improve the performance of the router and reduce its memory "
"usage. Also, we enable i2psnark's DHT support, introduced last release, by "
"default."
msgstr "0.9.3 beinhaltet erweiterte low-level Änderungen der Nachrichtenwarteschlange im Router. Wir haben den CoDel Active Queue Management (AQM) Algorithmus implementiert. Außerdem wurde der Transportwarteschlangen - und Transportprioritätsmechanismus für bessere Diagnose und Netzwerk Latenz vereinheitlicht. Wir arbeiten weiterhin an der Beseitigung des UDP Transportbugs und machen UDP sicherer gegen Attacken. Des weiteren gibt es am Router änderungen zur Leistungssteigerung und Verringerung des Speicherverbrauchs. Ebenfalls wurde die DHT funktionalität von i2psnark, welche mit dem letzten Release eingeführt wurde, standardmäßig aktiviert."
2013-06-05 10:00:16 +00:00
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:26
msgid "Active Queue Management"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:27
msgid "Priority queues"
msgstr "Prioritäts Warteschlangen"
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:28
msgid "I2PSnark DHT: Several bug fixes, enable by default."
msgstr "I2PSnark DHT: Diverse Bug Fixes, standardmäßig aktiviert."
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:32
msgid ""
"Several SSU fixes including memory leak, and better handling of routers "
2013-07-03 01:01:50 +00:00
"behind firewalls that change UDP ports; additional defenses for malicious "
"packets."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:33
msgid "Fix piece selection (rarest-first) bugs in i2psnark"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:34
msgid "Fix bug causing multiple browsers to open at startup"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:38
msgid "Improvements in caching"
msgstr "Verbesserungen im Caching"
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:39
msgid "Several synchronization fixes and lock contention reduction"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:40
msgid "Major reduction in SSU buffers memory use"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:41
msgid ""
2013-07-03 01:01:50 +00:00
"Fix streaming connection timeout back to 1 minute, was inadvertently changed"
" to 5 minutes; set i2ptunnel server read timeout to 5 minutes, was unlimited"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:42
msgid "Improved defenses in i2ptunnel for \"darkloris\""
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:43
msgid "More validation at torrent creation in i2psnark"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:44
msgid "Several parameter changes in SSU to improve throughput"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:45
msgid ""
"New event log for major events including restarts; show multiple restart "
"lines on graphs"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:46
msgid "Remove duplicate messages from logs"
msgstr "Entferne doppelte Einträge/Nachrichten im Log"
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:47
msgid "Don't respond to blocked streaming connections with a reset, just drop"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:48
msgid "Remove all uses of inefficient SimpleTimer"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:49
msgid "More checks for valid IPs and ports entered in console"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:50
msgid "Fix bug that wasted a lot of entropy"
msgstr ""
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:51
msgid "Translation updates: Italian, Portuguese, Spanish, Swedish"
msgstr "Übersetzungsupdates: Italienisch, Portugiesisch, Spanisch, Schwedisch"
#: i2p2www/blog/2012/10/27/0.9.3-Release.rst:52
msgid "Add non-NIO configuration in jetty.xml, recommended for Java 5"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:2
msgid "0.9.4 Release"
msgstr "0.9.4 Release"
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:7
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:9
msgid ""
2013-07-03 01:01:50 +00:00
"0.9.4 includes a fix for a network capacity bug, introduced in 0.9.2, that "
"was reducing network performance and reliability. It also includes major "
"changes in the in-network update system, and adds the capability to update "
"via in-network torrents."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:13
msgid ""
2013-07-03 01:01:50 +00:00
"We fixed several bugs in the i2psnark DHT implementation that was introduced\n"
2013-06-05 10:00:16 +00:00
"last release. For those of you using console or http proxy passwords,\n"
2013-07-03 01:01:50 +00:00
"we converted to the more-secure digest method and improved the security for console forms."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:19
msgid ""
2013-07-03 01:01:50 +00:00
"For those of you already running development builds, your router should automatically\n"
2013-06-05 10:00:16 +00:00
"update to 0.9.4-0 using the new in-network torrent facility.\n"
2013-07-03 01:01:50 +00:00
"For those running 0.9.3-0, you will update normally using in-network HTTP, and\n"
2013-06-05 10:00:16 +00:00
"we will have more information for you when we release 0.9.5."
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:36
msgid ""
"Big rework of the update system; Preliminary support for updates via "
"i2psnark"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:37
msgid "Add per-destination outbound priorities"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:41
msgid ""
2013-07-03 01:01:50 +00:00
"Fix major bug that reduced SSU connection limits which reduced tunnel build "
"success rates"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:42
2013-07-03 01:01:50 +00:00
msgid ""
"Fix bug with external I2CP that prevented some external apps from working"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:43
msgid "Fixed several bugs in i2psnark DHT"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:44
msgid "Fixed bug in i2psnark PEX that inflated peer counts"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:45
msgid "Handle dropped I2CP messages better"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:46
msgid "Reduce overhead of I2CP messages"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:47
msgid "Enforce max size in transport outbound message queues"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:48
msgid "Fixes for Windows eepget.bat (new installs and PPA only)"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:49
msgid "Fix a bug that would drop messages of exactly 512 bytes in SSU"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:53
msgid ""
2013-07-03 01:01:50 +00:00
"More performance improvements, memory reduction, and object churn reduction"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:54
msgid "Better detection of network disconnections"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:55
msgid "Further improvements in the SSU transport"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:56
msgid "Add console password form"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:57
msgid ""
2013-07-03 01:01:50 +00:00
"Convert http proxy and console from basic to digest authentication for added"
" security"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:58
msgid ""
"Improved verification of console form submissions, using jsp sessions. "
2013-07-03 01:01:50 +00:00
"Cookies may now be required on forms, except when the console password is "
"enabled"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:59
msgid ""
"Initial work on new interfaces to manage applications started via "
"clients.config"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:60
msgid "Increase minimum peer port to 1024"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:61
msgid "Increase granularity of bandwidth limiter for smoother transmissions"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:62
msgid ""
2013-07-03 01:01:50 +00:00
"Translation updates: Chinese, French, German, Italian, Polish, Portuguese, "
"Swedish, and Ukrainian"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:64
msgid "Update wrapper to 3.5.16 (new installs and PPA only)"
msgstr ""
#: i2p2www/blog/2012/12/17/0.9.4-Release.rst:65
msgid "New ARMv6 wrapper for Raspberry Pi"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:2
msgid "0.9.5 Release"
2013-07-03 01:01:50 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:7
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:9
msgid ""
2013-07-03 01:01:50 +00:00
"0.9.5 includes bug fixes and defenses for some issues and vulnerabilities "
"that are being investigated by researchers at UCSB. We continue to work with"
" them on additional improvements. This is a good opportunity to remind the "
"community that while our network continues to grow rapidly, it is still "
"relatively small. There may be multiple weaknesses or bugs that could "
"compromise your anonymity. Help us grow the network by spreading the word "
"and contributing where you can."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:13
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In this upgrade cycle, a random 1% of routers, (plus all routers running a\n"
"development build) will attempt to update via the experimental in-network bittorrent\n"
"with i2psnark. If this doesn't work, it should fall back to standard in-network HTTP update."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:27
msgid "Defenses and Bug Fixes"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:29
msgid "Fix router bug causing lockup when using iMule"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:30
msgid "Recognize, handle, reject duplicate tunnel IDs"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:31
msgid "Fix changing of the log file name"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:32
msgid "Prevent hashcode attack in session tags"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:33
msgid "Add build request throttler based on previous hop"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:34
msgid "Limit concurrent next-hop lookups"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:35
msgid "Catch exceptions storing nonces in console"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:36
msgid "Fix saving graph settings in console"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:37
msgid "Fix eepget generation of URLs when not proxied"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:38
msgid ""
2013-07-03 01:01:50 +00:00
"Encrypt database lookup messages end-to-end when sent through exploratory "
"tunnels"
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:39
msgid "Don't use multiple floodfills from the same /16 in a query"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:40
msgid "Randomize delay before verifying floodfill store"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:41
msgid "Increase number of floodfills"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:45
msgid "Improve support for mobile browsers"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:46
msgid "Partial defenses for UCSB attacks"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:47
msgid "Add announce list support to i2psnark"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:48
msgid "Jetty: upgrade Apache Tomcat to 6.0.36"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:49
msgid "Split router info files into multiple subdirectories"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:50
msgid "Add IP to hostname mapping option in SOCKS"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:51
msgid "Improve PRNG seeding"
msgstr ""
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:52
msgid ""
2013-07-03 01:01:50 +00:00
"Translation updates: French, German, Hungarian, Italian, Norwegian, Polish, "
"Portuguese, Russian, Swedish"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/03/08/0.9.5-Release.rst:54
msgid "Update wrapper to 3.5.17 (new installs and PPA only)"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:2
msgid "0.9.6 Release"
2013-07-03 01:01:50 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:7
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:9
msgid ""
"0.9.6 includes bug fixes and an update from Jetty 6.1.26 (2010-11-10) to "
2013-07-03 01:01:50 +00:00
"Jetty 7.6.10 (2013-03-12). See below for important information on the Jetty "
"update. The Jetty 7 series is actively maintained and we plan to stay "
"current with it in future I2P releases."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:13
msgid ""
2013-07-03 01:01:50 +00:00
"Most users will update via HTTP. Those running development builds will attempt to update via the\n"
"experimental in-network bittorrent with i2psnark. We've fixed some bugs that will enable more users\n"
2013-06-11 12:45:56 +00:00
"to update via torrent in the 0.9.7 update cycle."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:25
msgid "Important fix for Windows Eepsites, first install 0.9.5 only"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:27
msgid ""
2013-07-03 01:01:50 +00:00
"If you first installed I2P with version 0.9.5, on Windows only, we recommend that you follow the\n"
"following instructions to fix your eepsite location **before** you update to 0.9.6.\n"
"Only original installations of 0.9.5-0 on Windows are affected by this issue. If your router version\n"
2013-06-11 12:45:56 +00:00
"is 0.9.5-0-win1, you already have the fix and need not take any action."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:34
msgid "See `this page`_ for instructions."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:38
msgid "`this page`"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:40
msgid "Jetty 7 Migration Details"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:42
msgid ""
2013-07-03 01:01:50 +00:00
"For most people, the update should just work. If you have multiple Jetty eepsites,\n"
"OR have made changes to jetty.xml or other Jetty configuration files, including changing the port\n"
2013-06-11 12:45:56 +00:00
"from 7658, you MUST take manual action AFTER updating."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:48
msgid ""
2013-07-03 01:01:50 +00:00
"After update, the router will migrate your jetty.xml files to the new Jetty "
"7 format."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:50
msgid ""
2013-07-03 01:01:50 +00:00
"The migration resets the port to 7658. If you have more than one Jetty eepsite, OR your eepsite\n"
" is NOT on port 7658, OR you have made other modifications to jetty.xml (for example changing the\n"
" listen address from 127.0.0.1 to 0.0.0.0), you MUST edit the jetty.xml file for each eepsite to fix them up\n"
2013-06-11 12:45:56 +00:00
" after updating, and restart again."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:55
msgid ""
2013-07-03 01:01:50 +00:00
"**The following files will be backed up with a &quot;.jetty6&quot; suffix and then migrated.**\n"
"If you have made local changes, you may have to edit them manually and restart.\n"
2013-06-11 12:45:56 +00:00
"See http://wiki.eclipse.org/Jetty for assistance in configuring Jetty 7."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:69
#: i2p2www/pages/global/nav.html:75 i2p2www/pages/global/nav.html:91
#: i2p2www/pages/site/docs/plugins.html:2
#: i2p2www/pages/site/docs/spec/configuration.html:65
msgid "Plugins"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:71
msgid "Most plugins should work fine with Jetty 7."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:75
msgid ""
"The I2PControl and zzzot plugins must be updated. Your router should "
"download and install the new versions shortly after starting 0.9.6."
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:77
2013-07-03 01:01:50 +00:00
msgid ""
"If a plugin does not work, please contact the maintainer for that plugin."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:83
msgid "Several bugs with Windows installation (see above)"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:84
msgid "Fix default form action in i2ptunnel"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:85
msgid "Fix links on iframed console pages"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:86
msgid "Better detection of 64-bit Windows to prevent crashes by systray"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:87
msgid "Fix bug preventing router update via torrent"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:88
msgid "Several SSU fixes for NATs that change UDP ports"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:89
msgid ""
2013-07-03 01:01:50 +00:00
"Ignore unsupported IPs in RouterInfos when selecting an address (prep for "
"IPv6)"
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:90
msgid ""
2013-07-03 01:01:50 +00:00
"Ignore unused option bits in Database Lookup Message (prep for requesting "
"encrypted response)"
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:91
msgid "Fix HTTP proxy error response for malformed URIs"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:92
msgid "Recognize UPnP devices without port forwarding capability"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:96
msgid "Jetty 7.6.10 (see above for migration information)"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:97
msgid "Limit page size in i2psnark"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:98
msgid "Add data directory and page size configuration to i2psnark"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:99
msgid "Support multiple i2psnark instances"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:100
msgid "Piece size adjustments in i2psnark"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:101
msgid "Add more graphing support for combined bandwidth graph"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:102
msgid "Block b32.i2p supercookies"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:103
msgid "Allow stopping clients on /configclients"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:104
msgid "Check for nonce count replays in HTTP client"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:105
msgid "Support SASL authentication in IRC proxy"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:106
msgid "Several cleanups and minor fixes in the update manager"
msgstr ""
#: i2p2www/blog/2013/05/28/0.9.6-Release.rst:107
msgid "Translation updates: German, Portuguese, Russian, Spanish, and Swedish"
2013-07-03 01:01:50 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/blog/category.html:2
msgid "Blog Category"
msgstr ""
#: i2p2www/pages/blog/category.html:4
#, python-format
msgid "I2P Blog ATOM Feed for Category: %(category)s"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/blog/index.html:2 i2p2www/pages/blog/post.html:3
#: i2p2www/pages/global/nav.html:95
msgid "Blog"
2013-07-03 01:01:50 +00:00
msgstr "Blog"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/blog/index.html:4 i2p2www/pages/site/index.html:75
msgid "I2P Blog ATOM Feed"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/blog/index.html:17
#, python-format
msgid "Posted %(date)s by %(author)s"
msgstr ""
#: i2p2www/pages/blog/latest.html:5
msgid "More blog posts&hellip;"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/blog/post.html:6
msgid "Posted:"
msgstr ""
#: i2p2www/pages/blog/post.html:7
msgid "Author:"
msgstr ""
#: i2p2www/pages/downloads/debian.html:4
msgid "Debian I2P Packages"
msgstr ""
#: i2p2www/pages/downloads/debian.html:6
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The packages hosted on <a href=\"https://launchpad.net/%7Ei2p-maintainers/+archive/i2p\">the I2P Launchpad site</a>\n"
"have been tested and <em>should </em>work on x86/x86_64 platforms running:"
msgstr ""
#: i2p2www/pages/downloads/debian.html:11
2013-06-11 12:45:56 +00:00
msgid "<a href=\"#ubuntu\">Ubuntu</a> (Precise <em>12.04</em> and newer)"
msgstr ""
#: i2p2www/pages/downloads/debian.html:13
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"<a href=\"#debian\">Debian Linux</a> (Wheezy and newer) &amp; <a "
"href=\"#nonlinux\">kFreeBSD</a>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:17
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P packages <em>may</em> work on systems not listed above. Please report any issues\n"
"with these packages on <a href=\"http://%(trac)s\">Trac</a> at\n"
"<a href=\"http://%(trac)s\">http://%(trac)s</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:23
2013-06-05 10:00:16 +00:00
msgid ""
"Option 1: <a href=\"#ubuntu\">Recent versions</a> of Ubuntu and its "
"derivatives (<em>Try this if you're not using Debian)</em>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:24
msgid "Option 2: <a href=\"#debian\">Debian</a> (including Debian-derivatives)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:25
2013-06-05 10:00:16 +00:00
msgid ""
"Option 3: <a href=\"#nonlinux\">Non-Linux</a> (and possibly Non-x86 "
"architectures)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:28
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Instructions for Ubuntu Precise Pangolin (and newer) and derivatives like "
"Linux Mint &amp; Trisquel"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:29
msgid "Adding the PPA via the command line and installing I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:32
msgid "Open a terminal and enter:"
2013-06-05 10:00:16 +00:00
msgstr "Öffne eine Konsole und gib ein:"
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:34
msgid ""
"This command will add the PPA to /etc/apt/sources.list.d and fetch the\n"
"gpg key that the repository has been signed with. The GPG key ensures\n"
"that the packages have not been tampered with since being built."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:41
msgid "Notify your package manager of the new PPA by entering:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:43
msgid ""
"This command will retrieve the latest list of software from each\n"
"repository that is enabled on your system, including the I2P PPA that\n"
"was added with the earlier command."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:49
#: i2p2www/pages/downloads/debian.html:112
#: i2p2www/pages/downloads/debian.html:137
msgid "You are now ready to install I2P!"
2013-06-05 10:00:16 +00:00
msgstr "Sie/Du bist nun bereit I2P zu installieren!"
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:53
msgid "Adding the PPA Using Synaptic"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:56
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Open Synaptic (System -&gt; Administration -&gt; Synaptic Package Manager)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:61
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Once Synaptic opens, select <em>Repositories</em> from the <em>Settings</em>"
" menu."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:66
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Click the <em>Other Sources</em> tab and click <em>Add</em>. Paste <code>ppa"
":i2p-maintainers/i2p</code> into the APT-line field and click <em>Add "
"Source</em>. Click the <em>Close</em> button then <em>Reload</em>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:71
2013-06-05 10:00:16 +00:00
msgid ""
"In the Quick Filter box, type in <code>i2p</code> and press enter. When "
"<code>i2p</code> is returned in the results list, right click "
2013-07-03 01:01:50 +00:00
"<code>i2p</code> and select <em>Mark for Installation</em>. After doing so "
"you may see a <em>Mark additional required changes?</em> popup. If so, click"
" <em>Mark</em> then <em>Apply</em>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:77
msgid ""
"After the installation process completes you can move on to the next\n"
2013-07-03 01:01:50 +00:00
"part of <a href=\"#Post-install_work\">starting I2P</a> and configuring it for your system."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:82
msgid "Instructions for Debian Lenny and newer"
2013-06-05 10:00:16 +00:00
msgstr "Anleitungen für Debian Lenny und Neuere:"
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:84
msgid ""
2013-07-03 01:01:50 +00:00
"For Squeeze you can follow the instructions <a href=\"#nonlinux\">here</a>."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/pages/downloads/debian.html:86
msgid ""
"The steps below should be performed with root access (i.e., switching\n"
"user to root with \"su\" or by prefixing each command with \"sudo\")."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:92
msgid "Add the GPG key that signs the repository with the following command:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:94
msgid "You'll have output like the following if the command was successful:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:98
2013-07-03 01:01:50 +00:00
msgid ""
"Add the following entries to <code>/etc/apt/sources.list.d/i2p.list</code>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:103
msgid "Notify your package manager of the new PPA by entering"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:105
msgid ""
"This command will retrieve the latest list of software from every\n"
"repository enabled on your system, including the I2P PPA added in step\n"
"1."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:116
#: i2p2www/pages/downloads/debian.html:147
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"After the installation process completes you can move on to the next part of"
" <a href=\"#Post-install_work\">starting I2P</a> and configuring it for your"
" system."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:120
msgid "Instructions for Non-Linux / Non-x86"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:122
msgid ""
"The steps below should be performed with root access (i.e., switching\n"
2013-07-03 01:01:50 +00:00
"user to root with \"<code>su</code>\" or by prefixing each command with \"<code>sudo</code>\")."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:128
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Download the <a href=\"%(ppa)s\">i2p-router</a> package from the <a href=\"%(ppa)s\">PPA</a>.\n"
"Alternatively, there are unofficial packages available <a href=\"%(kytv)s\">here</a> for <code>armel, armhf, and kfreebsd</code>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:135
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Make sure that you have Java installed. Running <em><code>apt-get install "
"default-jre</code></em> should be sufficient."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:141
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"It is recommended to compile <a href=\"%(jbigi)s\">jbigi</a> for your system"
" to achieve better performance. Instructions are available <a "
2013-06-05 10:00:16 +00:00
"href=\"%(jbigi)s\">here</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:151
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:163
msgid "Post-install work"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:154
msgid ""
"Using these I2P packages the I2P router can be started in the following\n"
"three ways:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:160
msgid ""
2013-07-03 01:01:50 +00:00
"&quot;on demand&quot; using the i2prouter script. Simply run &quot;<code>i2prouter\n"
"start</code>&quot; from a command prompt. (Note: Do <strong><u>not</u></strong> use\n"
"sudo or run it as root!)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:167
msgid ""
2013-07-03 01:01:50 +00:00
"&quot;on demand&quot; without the <a href=\"http://wrapper.tanukisoftware.com/\">java service wrapper</a>\n"
"(needed on non-Linux/non-x86 systems) by running \"<code>i2prouter-nowrapper</code>\".\n"
"(Note: Do <strong><u>not</u></strong>\n"
"use sudo or run it as root!)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:175
msgid ""
"as a service that automatically runs when your system boots, even\n"
2013-07-03 01:01:50 +00:00
"before logging in. The service can be enabled with \"<code>dpkg-reconfigure\n"
"i2p</code>\" as root or using sudo. This is the recommended means of operation."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:183
msgid ""
2013-07-03 01:01:50 +00:00
"When installing for the first time, please remember to <b>adjust your NAT/firewall</b>\n"
"if you can. The ports to forward can be found on the <a href=\"http://127.0.0.1:7657/confignet\">\n"
"network configuration page</a> in the router console. If guidance with respect to forwarding ports is needed,\n"
"you may find <a href=\"http://portforward.com\">portforward.com</a> to be helpful."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:190
msgid ""
"Please review and <b>adjust the bandwidth settings</b> on the\n"
"<a href=\"http://127.0.0.1:7657/config.jsp\">configuration page</a>,\n"
2013-07-03 01:01:50 +00:00
"as the default settings of 96 KB/s down / 40 KB/s up are fairly conservative."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/debian.html:196
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:196
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"If you want to reach eepsites via your browser, have a look on the <a "
2013-07-03 01:01:50 +00:00
"href=\"%(browserconfig)s\">browser proxy setup</a> page for an easy howto."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/downloads/list.html:2 i2p2www/pages/downloads/select.html:12
#: i2p2www/pages/global/nav.html:3
msgid "Download"
msgstr ""
#: i2p2www/pages/downloads/list.html:4
msgid "Download I2P"
msgstr ""
#: i2p2www/pages/downloads/list.html:6
msgid "Dependency"
2013-06-05 10:00:16 +00:00
msgstr "Abhängigkeit"
#: i2p2www/pages/downloads/list.html:7
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"\n"
"Java Runtime 1.5 or higher.\n"
2013-07-03 01:01:50 +00:00
"(<a href=\"%(java)s\">Oracle/Sun Java Version 6</a>,\n"
"<a href=\"%(openjdk)s\">OpenJDK 6</a>, or\n"
"<a href=\"%(icedtea)s\">IcedTea6</a>\n"
" recommended)\n"
"<br />\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://java.com/en/download/installed.jsp?detect=jre&amp;try=1\">Determine your installed Java version here</a>\n"
"or type <tt>java -version</tt> at your command prompt.\n"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/downloads/list.html:20
msgid "Clean installs"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:27 i2p2www/pages/downloads/list.html:45
#: i2p2www/pages/downloads/list.html:73 i2p2www/pages/downloads/list.html:135
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:261
2013-06-11 12:45:56 +00:00
msgid "select alternate link"
msgstr ""
#: i2p2www/pages/downloads/list.html:35
msgid "Download that file and run it."
2013-06-05 10:00:16 +00:00
msgstr "Lade die Datei herunter und führe sie aus."
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:53
#, python-format
msgid ""
"Download that file and double-click it (if that works) or\n"
2013-07-03 01:01:50 +00:00
" type <code>java -jar i2pinstall_%(i2pversion)s.jar</code> in a terminal to run the\n"
" installer.\n"
" You may be able to right-click and select\n"
" &quot;Open with Java&quot;."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:61 i2p2www/pages/downloads/list.html:89
msgid "Command line (headless) install:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:62
#, python-format
msgid ""
2013-06-11 12:45:56 +00:00
"Download the %(i2pversion)s OSX graphical installer file above and\n"
2013-07-03 01:01:50 +00:00
" run <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> from the command line."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:81
#, python-format
msgid ""
"Download that file and double-click it (if that works) or\n"
2013-07-03 01:01:50 +00:00
" type <code>java -jar i2pinstall_%(i2pversion)s.jar</code> in a terminal to run the\n"
" installer.\n"
" On some platforms you may be able to right-click and select\n"
" &quot;Open with Java&quot;."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:90
#, python-format
msgid ""
"Download the graphical installer file above and\n"
2013-07-03 01:01:50 +00:00
" run <code>java -jar i2pinstall_%(i2pversion)s.jar -console</code> from the command line."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:100
msgid "Packages for Debian &amp; Ubuntu are available."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:115
#, python-format
msgid ""
"The Android version of I2P is being actively developed.\n"
2013-07-03 01:01:50 +00:00
" The latest dev build is version 0.9.3-5_b2-API8, and is available from\n"
" <a href=\"%(spongeurl)s\">sponge's eepsite</a> -\n"
" scan or click the QR code."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:122
msgid ""
"The release and dev versions of the I2P APK are not compatible, as they\n"
2013-07-03 01:01:50 +00:00
" are signed by zzz and sponge respectively. Uninstall one before installing\n"
" the other."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:132
msgid "Source package"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/downloads/list.html:143
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Alternately, you can fetch the source from <a href=\"%(monotoneurl)s#getting-the-i2p-code\">monotone</a>.\n"
" <br />\n"
2013-07-03 01:01:50 +00:00
" Run <code>(tar xjvf i2psource_%(i2pversion)s.tar.bz2 ; cd i2p-%(i2pversion)s ; ant pkg)</code> then either\n"
" run the GUI installer or headless install as above."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:154
#, python-format
msgid ""
"The files are signed by zzz,\n"
"<a href=\"%(signingkey)s\">whose key is here</a>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:159
2013-06-05 10:00:16 +00:00
msgid ""
"I2P can also be downloaded from our project pages on <a "
"href=\"https://launchpad.net/i2p/trunk\">Launchpad</a> and <a "
"href=\"http://code.google.com/p/i2p/\">Google Code</a>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:165
msgid ""
2013-07-03 01:01:50 +00:00
"After running the installer on windows, simply click on the \"Start I2P\" button\n"
"which will bring up the <a href=\"http://localhost:7657/index.jsp\">router console</a>,\n"
"which has further instructions."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:171
msgid ""
"On Unix-like systems, I2P can be started as a service\n"
2013-07-03 01:01:50 +00:00
"using the \"i2prouter\" script, located in the directory you selected for I2P.\n"
"Changing to that directory in a console and issuing \"sh i2prouter status\"\n"
"should tell you the router's status. The arguments \"start\", \"stop\" and \"restart\"\n"
"control the service. The <a href=\"http://localhost:7657/index.jsp\">router console</a>\n"
"can be accessed at its usual location.\n"
2013-07-03 01:01:50 +00:00
"For users on OpenSolaris and other systems for which the wrapper (i2psvc) is not supported,\n"
"start the router with \"sh runplain.sh\" instead."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:182
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"When installing for the first time, please remember to <b>adjust your NAT/firewall</b>\n"
"if you can, bearing in mind the Internet-facing ports I2P uses,\n"
"<a href=\"%(faq)s#ports\">described here</a> among other ports.\n"
2013-07-03 01:01:50 +00:00
"If you have successfully opened your port to inbound TCP, also enable inbound TCP on the\n"
"<a href=\"http://localhost:7657/confignet.jsp\">configuration page</a>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:190
msgid ""
"Also, please review and <b>adjust the bandwidth settings</b> on the\n"
"<a href=\"http://localhost:7657/config.jsp\">configuration page</a>,\n"
"as the default settings of 96 KBps down / 40 KBps up are fairly slow."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:200
msgid "Updates from earlier releases:"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:202
msgid "Both automatic and manual upgrades are available for the release."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:207
msgid "Automatic updates"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:209
msgid ""
"If you are running 0.7.5 or later, your router should detect the\n"
2013-07-03 01:01:50 +00:00
"new release. To upgrade simply click the 'Download Update' button on your router console\n"
"when it appears."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:215
msgid ""
2013-07-03 01:01:50 +00:00
"Due to a bug in release 0.7.6, those whose first I2P installation was that version\n"
"and have not upgraded manually\n"
2013-07-03 01:01:50 +00:00
"may get a \"downloaded version is not greater than current version\" error,\n"
"and should use the manual update method below."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:223
#, python-format
msgid ""
"If you are running 0.7.4 or earlier, please see\n"
"<a href=\"%(blogpost)s\">the 0.7.5 release notes</a>\n"
2013-07-03 01:01:50 +00:00
"for important information about how to configure your router to automatically\n"
"receive the release."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:231
#, python-format
msgid ""
"If you are running 0.6.1.30 or earlier, please see\n"
"<a href=\"%(instructions)s\">instructions</a>\n"
2013-07-03 01:01:50 +00:00
"for important information about how to configure your router to automatically\n"
"receive the release."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:240
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you have reconfigured your router following the <a href=\"%(instructions)s\">instructions</a>, you should see a link on your \n"
" <a href=\"http://localhost:7657/index.jsp\">router console</a> allowing\n"
" you to download and install the new release by just clicking on that\n"
" link."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:248
msgid "Alternately, you can use the manual method specified below."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:258
msgid "Manual updates"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:271
msgid ""
"Download that file to your I2P\n"
" installation directory and <b>rename as i2pupdate.zip</b>.\n"
2013-07-03 01:01:50 +00:00
" (alternately, you can get the source as above and run \"ant updater\", then copy the\n"
" resulting i2pupdate.zip to your I2P installation directory). You do \n"
" NOT need to unzip that file."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:280
msgid "Click <a href=\"http://localhost:7657/configservice.jsp\">\"Restart\"</a>"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:285
msgid "Grab a cup of coffee and come back in 11 minutes"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:293
#, python-format
msgid ""
"The file is signed by zzz,\n"
"<a href=\"%(signingkey)s\">whose key is here</a>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:298
msgid "Previous Releases"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/downloads/list.html:300
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Previous releases are available on <a href=\"http://code.google.com/p/i2p/downloads/list?can=1\">Google Code</a>\n"
"and <a href=\"https://launchpad.net/i2p/trunk\">Launchpad</a>\n"
2013-07-03 01:01:50 +00:00
"and within the I2P network on <a href=\"http://%(echelon)s/\">%(echelon)s</a>."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/downloads/select.html:2 i2p2www/pages/downloads/select.html:4
msgid "Mirror selection"
msgstr ""
#: i2p2www/pages/downloads/select.html:5
msgid "File:"
msgstr ""
#: i2p2www/pages/downloads/select.html:10
msgid "Any mirror"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/bounty.html:19
msgid ""
"To claim the bounty the author must not be paid by other organizations\n"
"or teams for this work (e.g. GSoC students are not valid)."
msgstr ""
#: i2p2www/pages/global/bounty.html:29
#, python-format
msgid ""
"Bounty amounts may be increased by further donations. Do\n"
2013-07-03 01:01:50 +00:00
"you think these are important? <a href=\"%(donate)s\">Add in your donation</a>, \n"
2013-06-05 10:00:16 +00:00
"marking the amount for the %(donatename)s bounty!"
msgstr ""
#: i2p2www/pages/global/error_404.html:3
msgid "Not found"
msgstr ""
#: i2p2www/pages/global/error_404.html:9
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Yep... the resource, you were searching for, is named differently, doesn't "
"exist or was removed."
msgstr ""
#: i2p2www/pages/global/error_500.html:5
msgid "Server error"
msgstr ""
#: i2p2www/pages/global/error_500.html:13
msgid "500 Server error"
msgstr ""
#: i2p2www/pages/global/error_500.html:17
msgid "Umm... the server encountered some sort of error."
msgstr ""
#: i2p2www/pages/global/footer.html:2
msgid "Mirrors"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:10
msgid "Secure"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:16
msgid "Misc."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:19 i2p2www/pages/site/links.html:2
msgid "Links"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:20
msgid "Impressum"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:24
msgid "T-Shirts!"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:26
msgid "Europe"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:27
msgid "USA"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/footer.html:31
#: i2p2www/pages/site/get-involved/donate.html:2
#: i2p2www/pages/site/get-involved/index.html:74
msgid "Donate"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:29
msgid "Skip navigation"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:32
msgid "I2P Logo"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:32 i2p2www/pages/site/index.html:3
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/intro.html:4
msgid "The Invisible Internet Project"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:56
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"This page was last updated in %(lastupdated)s and is accurate for router "
"version %(accuratefor)s."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:60
#, python-format
msgid "This page was last updated in %(lastupdated)s."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/layout.html:64
#, python-format
msgid "This page is accurate for router version %(accuratefor)s."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/macros:19
msgid "Previous"
msgstr ""
#: i2p2www/pages/global/macros:34
msgid "Next"
msgstr ""
#: i2p2www/pages/global/macros:41
msgid "Posted in"
msgstr ""
#: i2p2www/pages/global/nav.html:4
msgid "About"
msgstr ""
#: i2p2www/pages/global/nav.html:6
msgid "Introduction to I2P"
msgstr ""
#: i2p2www/pages/global/nav.html:7
msgid "Comparisons"
msgstr ""
#: i2p2www/pages/global/nav.html:9
msgid "Overview of comparisons"
msgstr ""
#: i2p2www/pages/global/nav.html:13
msgid "Other anonymous networks"
msgstr ""
#: i2p2www/pages/global/nav.html:16
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/index.html:29
msgid "Documentation"
msgstr ""
#: i2p2www/pages/global/nav.html:18
msgid "Documentation index"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:19 i2p2www/pages/site/about/intro.html:17
msgid "How does it work?"
msgstr ""
#: i2p2www/pages/global/nav.html:21
msgid "Gentle intro"
msgstr ""
#: i2p2www/pages/global/nav.html:22
msgid "Tech intro"
msgstr ""
#: i2p2www/pages/global/nav.html:23
msgid "Threat model"
msgstr ""
#: i2p2www/pages/global/nav.html:24
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tunnel-routing.html:292
msgid "Garlic routing"
msgstr ""
#: i2p2www/pages/global/nav.html:25
msgid "Network database"
msgstr ""
#: i2p2www/pages/global/nav.html:26
msgid "Tunnel routing"
msgstr ""
#: i2p2www/pages/global/nav.html:27
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:21
msgid "Peer selection"
msgstr ""
#: i2p2www/pages/global/nav.html:28
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tech-intro.html:17
#: i2p2www/pages/site/docs/how/tech-intro.html:458
msgid "Cryptography"
msgstr ""
#: i2p2www/pages/global/nav.html:29
msgid "ElGamal/AES+SessionTags"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:32 i2p2www/pages/global/nav.html:116
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/configuration.html:75
#: i2p2www/pages/site/get-involved/index.html:48
msgid "Applications"
msgstr ""
#: i2p2www/pages/global/nav.html:34
msgid "Supported applications"
msgstr ""
#: i2p2www/pages/global/nav.html:35
msgid "Bittorrent"
msgstr ""
#: i2p2www/pages/global/nav.html:38
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/streaming.html:58
msgid "API"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:46 i2p2www/pages/global/nav.html:77
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tech-intro.html:808
msgid "Streaming library"
msgstr ""
#: i2p2www/pages/global/nav.html:47
msgid "Ministreaming library"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:48 i2p2www/pages/global/nav.html:71
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:88
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:2
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:277
2013-06-05 10:00:16 +00:00
msgid "Datagrams"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:52
msgid "Protocols"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:54
msgid "Protocol stack"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:59
#: i2p2www/pages/site/docs/how/cryptography.html:394
msgid "Transports"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:61 i2p2www/pages/site/docs/index.html:158
msgid "Transport layer overview"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/global/nav.html:66
msgid "Specifications"
msgstr ""
#: i2p2www/pages/global/nav.html:68
2013-06-05 10:00:16 +00:00
msgid "Blockfile"
msgstr ""
#: i2p2www/pages/global/nav.html:69
2013-06-05 10:00:16 +00:00
msgid "Common structures"
msgstr ""
#: i2p2www/pages/global/nav.html:70
2013-06-05 10:00:16 +00:00
msgid "Configuration files"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:72
msgid "GeoIP files"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:78
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tunnel-routing.html:230
msgid "Tunnel creation"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:79
msgid "Tunnel messages"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:80
msgid "Software updates"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:83 i2p2www/pages/site/docs/index.html:139
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tech-intro.html:14
#: i2p2www/pages/site/docs/how/tech-intro.html:228
msgid "Tunnels"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:85
msgid "Tunnel implementation"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:86
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tunnel-routing.html:288
msgid "Unidirectional tunnels"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:87
msgid "Old implementation"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:90
msgid "Naming and addressbook"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:94 i2p2www/pages/site/about/team.html:2
msgid "Team"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:96
2013-06-05 10:00:16 +00:00
msgid "Hall of Fame"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:97
msgid "Academic papers and peer review"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:98
msgid "Presentations, tutorials and articles"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:99
msgid "Contact us"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:102
msgid "Help"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:104
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/new-translators.html:169
msgid "FAQ"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:105
msgid "How to browse I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:106 i2p2www/pages/site/about/glossary.html:2
msgid "Glossary"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:107
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/performance/index.html:2
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:183
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/todo.html:52
#: i2p2www/pages/site/get-involved/todo.html:456
msgid "Performance"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:108 i2p2www/pages/site/contact.html:22
msgid "Forums"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:111
msgid "Volunteer"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:113
msgid "Get involved!"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:114
msgid "Develop"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:117
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/develop/licenses.html:2
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:115
msgid "Licenses"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:118
msgid "Release signing keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:119
msgid "Signed keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:120
msgid "Developers keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:121 i2p2www/pages/site/docs/index.html:223
msgid "Bug tracker"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:124
msgid "Academic research"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:125
msgid "Guides"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:127
msgid "New developers"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:128
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/ides.html:2
msgid "Using an IDE with I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:129
msgid "Developer guidelines and coding style"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:130
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/monotone.html:2
msgid "Monotone"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:131
2013-06-05 10:00:16 +00:00
msgid "New translators"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:134
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:2
msgid "Bounties"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:135 i2p2www/pages/meetings/index.html:2
msgid "Meetings"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:136
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/roadmap.html:2
msgid "Roadmap"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:137
msgid "Task list"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/global/nav.html:140
msgid "Language"
msgstr ""
#: i2p2www/pages/meetings/index.html:4
msgid "I2P Meetings ATOM Feed"
msgstr ""
#: i2p2www/pages/meetings/index.html:7
msgid "Logs of past I2P meetings"
msgstr ""
#: i2p2www/pages/meetings/index.html:9
2013-07-03 01:01:50 +00:00
msgid ""
"Meetings are currently on hold until a more suitable time can be chosen."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/pages/meetings/index.html:13
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you have something to discuss, please find the developers on IRC in #i2p-dev.\n"
"<a href=\"%(blogindex)s\">Status updates</a> from developers are also available."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/meetings/show.html:2
#, python-format
msgid "I2P Development Meeting %(id)s"
msgstr ""
#: i2p2www/pages/meetings/show.html:10
msgid "Full IRC Log"
msgstr ""
#: i2p2www/pages/site/contact.html:2
msgid "Contact"
msgstr ""
#: i2p2www/pages/site/contact.html:5
msgid ""
2013-07-03 01:01:50 +00:00
"Our primary IRC network is the Irc2P network within I2P; a default tunnel to this network is set up with new router installs.\n"
" We are also present on multiple standard networks like <a href=\"http://www.oftc.net/oftc/OFTC\">OFTC</a>,\n"
" <a href=\"http://www.einirc.de/\">EIN</a> and <a href=\"http://freenode.net/\">Freenode</a>.\n"
" All I2P-related channels on all these network are linked to the main channels on Irc2P via relay bots."
msgstr ""
#: i2p2www/pages/site/contact.html:13
msgid "Channel list:"
msgstr ""
#: i2p2www/pages/site/contact.html:15
msgid "General i2p discussion"
msgstr ""
#: i2p2www/pages/site/contact.html:16
msgid "Offtopic"
msgstr ""
#: i2p2www/pages/site/contact.html:17
msgid "Development talk"
msgstr ""
#: i2p2www/pages/site/contact.html:18
msgid "Help channel"
msgstr ""
#: i2p2www/pages/site/contact.html:23
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"Most of the discussion about I2P's development happens on the <a "
2013-07-03 01:01:50 +00:00
"href=\"http://%(zzz)s\">I2P developer forum</a>. This is usually the best "
"place to start with inquiries, if the dev IRC channel is inactive."
msgstr ""
#: i2p2www/pages/site/contact.html:27
msgid "Mailing lists"
msgstr ""
#: i2p2www/pages/site/contact.html:28
2013-06-05 10:00:16 +00:00
msgid ""
"I2P does have a mailing list, but it is rarely used as the current small "
"team of developers prefer to communicate via IRC or the developer forum. "
"This may change in future."
msgstr ""
#: i2p2www/pages/site/contact.html:33
msgid "Subscribing"
msgstr ""
#: i2p2www/pages/site/contact.html:34
2013-06-05 10:00:16 +00:00
msgid ""
"To subscribe to a mailing list, go to the list information page (linked "
2013-07-03 01:01:50 +00:00
"below) and fill out the form. I2P-internal email addresses (foobar@mail.i2p)"
" can be used."
msgstr ""
#: i2p2www/pages/site/contact.html:38
msgid "Unsubscribing"
msgstr ""
#: i2p2www/pages/site/contact.html:39
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"To unsubscribe from a mailing list or edit your subscription options, go to "
"the list information page (linked below) and enter your subscription email "
"address."
msgstr ""
#: i2p2www/pages/site/contact.html:43
msgid "Lists"
msgstr ""
#: i2p2www/pages/site/contact.html:46
msgid "Archive"
msgstr ""
#: i2p2www/pages/site/contact.html:47
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"General I2P discussion - anything that doesn't fit in a different list goes "
"here."
msgstr ""
#: i2p2www/pages/site/contact.html:53
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"You don't like mailing lists? Then this is for you. All mailing lists are "
"available via NNTP as well."
msgstr ""
#: i2p2www/pages/site/contact.html:58
msgid "Group-List-mapping:"
msgstr ""
#: i2p2www/pages/site/contact.html:62
msgid "Servers:"
msgstr ""
#: i2p2www/pages/site/faq.html:2
msgid "Frequently Asked Questions"
msgstr ""
#: i2p2www/pages/site/faq.html:4
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/threat-model.html:121
msgid "Index"
msgstr ""
#: i2p2www/pages/site/faq.html:7
msgid "General"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:9 i2p2www/pages/site/faq.html:51
msgid "What systems will I2P run on?"
msgstr ""
#: i2p2www/pages/site/faq.html:10
msgid "Whats an \"eepsite\" and how do I configure my browser so I can use them?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:11 i2p2www/pages/site/faq.html:263
msgid "My router has very few active peers, is this OK?"
msgstr "Mein Router hat sehr wenige aktive Peers, ist das OK?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:12 i2p2www/pages/site/faq.html:498
msgid "What do the Active x/y numbers mean in the router console?"
msgstr "Was bedeuten die Active x/y Nummern in der Router Konsole?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:13 i2p2www/pages/site/faq.html:225
msgid ""
"My active peers / known peers / participating tunnels / connections / "
"bandwidth vary dramatically over time! Is anything wrong?"
2013-07-03 01:01:50 +00:00
msgstr "Meine active Peers / known Peers / Participating Tunnel / Verbindungen / Bandbeite &auml;ndern sich stark! Ist irgendwas kaputt?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:14 i2p2www/pages/site/faq.html:348
msgid "Is using an outproxy safe?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:15 i2p2www/pages/site/faq.html:374
msgid "Most of the eepsites within I2P are down?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:16 i2p2www/pages/site/faq.html:527
msgid "What ports does I2P use?"
msgstr "Welche Ports werden von I2P genutzt?"
#: i2p2www/pages/site/faq.html:17
msgid "Why is I2P listening for connections on port 32000?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:18 i2p2www/pages/site/faq.html:62
msgid "I think I found a bug, where can I report it?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:19 i2p2www/pages/site/faq.html:107
msgid "What happened to *.i2p.net? What happened to jrandom? Is I2P dead?"
msgstr "Was passierte mit *.i2p.net? Was passierte mit jrandom? Ist I2P tot?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:20 i2p2www/pages/site/faq.html:845
msgid "I have a question!"
msgstr "Ich habe eine Frage!"
#: i2p2www/pages/site/faq.html:22
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/streaming.html:292
msgid "Setup"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:24 i2p2www/pages/site/faq.html:232
msgid ""
"My router has been up for several minutes and has zero or very few "
"connections"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:25 i2p2www/pages/site/faq.html:390
msgid "Why is I2P so slow?"
msgstr "Warum ist I2P so langsam?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:26 i2p2www/pages/site/faq.html:79
msgid ""
2013-07-03 01:01:50 +00:00
"I'm missing lots of hosts in my addressbook. What are some good subscription"
" links?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:27 i2p2www/pages/site/faq.html:383
msgid "How do I set up my own eepsite?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:28 i2p2www/pages/site/faq.html:416
msgid "Bittorrent / I2PSnark / Azureus I2P Plugin Questions?"
msgstr "Bittorrent / I2PSnark / Azureus I2P Plugin Fragen?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:29 i2p2www/pages/site/faq.html:423
msgid "How do I connect to IRC within I2P?"
msgstr "Wie verbinde ich mich mit dem IRC innerhalb von I2P?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:30 i2p2www/pages/site/faq.html:281
msgid "I can't access regular Internet sites through I2P."
msgstr "Ich kann keine normalen Internetseiten &uuml;ber I2P erreichen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:31 i2p2www/pages/site/faq.html:296
msgid "I can't access https:// or ftp:// sites through I2P."
msgstr "Ich kann keine https:// oder ftp:// Seiten &uuml; I2P besuchen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:32 i2p2www/pages/site/faq.html:506
msgid "Is it possible to use I2P as a SOCKS proxy?"
msgstr "Ist es m&ouml;glich, I2P als SOCKS Proxy zu nutzen?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:33 i2p2www/pages/site/faq.html:489
msgid "How do I configure my browser?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:34 i2p2www/pages/site/faq.html:434
msgid ""
2013-07-03 01:01:50 +00:00
"How can I access the web console from my other machines or password protect "
"it?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:35 i2p2www/pages/site/faq.html:474
msgid "How can I use applications from my other machines?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:36 i2p2www/pages/site/faq.html:748
msgid "How do I reseed manually?"
msgstr "Wie reseede ich manuell?"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:37 i2p2www/pages/site/faq.html:124
msgid "My router is using too much CPU?!?"
msgstr "Mein Router nutzt viel zu viel CPU?!?"
#: i2p2www/pages/site/faq.html:39
msgid "Misconception"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:41 i2p2www/pages/site/faq.html:366
msgid ""
2013-07-03 01:01:50 +00:00
"How do I access IRC, BitTorrent, or other services on the regular Internet?"
msgstr ""
#: i2p2www/pages/site/faq.html:42
2013-06-05 10:00:16 +00:00
msgid ""
"Is my router an \"exit node\"(outproxy) to the regular Internet? I don't "
"want it to be."
2013-07-03 01:01:50 +00:00
msgstr "Ist mein Router ein \"Exit Punkt\" ins normale Internet? Das will ich nicht!"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:43 i2p2www/pages/site/faq.html:188
msgid ""
2013-07-03 01:01:50 +00:00
"I am opposed to certain types of content. How do I keep from distributing, "
"storing, or accessing them?"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/faq.html:45
msgid "Errors and Their Solutions"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:47 i2p2www/pages/site/faq.html:784
msgid ""
"I'm using FreeBSD and when I start I2P I receive an error about "
"<code>libm.so.4</code>!"
msgstr ""
#: i2p2www/pages/site/faq.html:48
2013-06-05 10:00:16 +00:00
msgid ""
"In <code>wrapper.log</code> I see an error stating <code>Protocol family "
"unavailable</code> when I2P is loading"
msgstr ""
#: i2p2www/pages/site/faq.html:52 i2p2www/pages/site/faq.html:63
#: i2p2www/pages/site/faq.html:80 i2p2www/pages/site/faq.html:108
#: i2p2www/pages/site/faq.html:125 i2p2www/pages/site/faq.html:189
#: i2p2www/pages/site/faq.html:226 i2p2www/pages/site/faq.html:233
#: i2p2www/pages/site/faq.html:264 i2p2www/pages/site/faq.html:273
#: i2p2www/pages/site/faq.html:282 i2p2www/pages/site/faq.html:297
#: i2p2www/pages/site/faq.html:349 i2p2www/pages/site/faq.html:367
#: i2p2www/pages/site/faq.html:375 i2p2www/pages/site/faq.html:384
#: i2p2www/pages/site/faq.html:391 i2p2www/pages/site/faq.html:417
#: i2p2www/pages/site/faq.html:424 i2p2www/pages/site/faq.html:435
#: i2p2www/pages/site/faq.html:475 i2p2www/pages/site/faq.html:482
#: i2p2www/pages/site/faq.html:490 i2p2www/pages/site/faq.html:499
#: i2p2www/pages/site/faq.html:507 i2p2www/pages/site/faq.html:528
#: i2p2www/pages/site/faq.html:736 i2p2www/pages/site/faq.html:749
#: i2p2www/pages/site/faq.html:785 i2p2www/pages/site/faq.html:817
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/faq.html:846
#: i2p2www/pages/site/get-involved/todo.html:16
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/todo.html:28
#: i2p2www/pages/site/get-involved/todo.html:52
msgid "link"
msgstr ""
#: i2p2www/pages/site/faq.html:53
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"While I2P has been reported to run PCs as meagre as a low-end Pentium II "
2013-07-03 01:01:50 +00:00
"with 64 MB of RAM, you'll have a much better experience on a Pentium III (or"
" better) with 128MB of RAM (or more). A <a "
"href=\"http://%(trac)s/wiki/java\">chart comparing the performance</a> of "
"the various JREs can be found at <a "
2013-06-05 10:00:16 +00:00
"href=\"http://%(trac)s/wiki/java\">http://%(trac)s/wiki/java</a>, but in "
"short: it's at all possible, use Sun/Oracle Java or OpenJDK."
msgstr ""
#: i2p2www/pages/site/faq.html:57
2013-06-05 10:00:16 +00:00
msgid ""
"I2P has been tested on Windows, Linux, FreeBSD (see the note <a "
2013-07-03 01:01:50 +00:00
"href=\"#compat6x\">below</a>), OSX, and OpenSolaris. There is work underway "
"to bring I2P to the Android platform."
msgstr ""
#: i2p2www/pages/site/faq.html:65
msgid "Here are some places, pick one or more."
msgstr ""
#: i2p2www/pages/site/faq.html:71
msgid "Discuss with the developers on IRC in #i2p-dev"
msgstr ""
#: i2p2www/pages/site/faq.html:75
2013-07-03 01:01:50 +00:00
msgid ""
"Please include relevant information from the router logs and wrapper logs."
msgstr ""
#: i2p2www/pages/site/faq.html:81
msgid ""
2013-07-03 01:01:50 +00:00
"The default subscription is to http://www.i2p2.i2p/hosts.txt which is updated rarely.\n"
"If you don't have another subscription, you may often have to use \"jump\" links which\n"
"is annoying."
msgstr ""
#: i2p2www/pages/site/faq.html:87
msgid ""
2013-07-03 01:01:50 +00:00
"Here are some other public addressbook subscription links. You may wish to add one or two\n"
"to your <a href=\"http://localhost:7657/susidns/subscriptions.jsp\">susidns subscription list</a>.\n"
"You don't need to add all of them, as they sync with each other periodically.\n"
"The links using a cgi-bin application employ various strategies to minimize\n"
"the number of duplicate addresses delivered, so they should be more efficient.\n"
"Note that subscribing to a hosts.txt service is an act of \"trust\", as a malicious\n"
"subscription could give you incorrect addresses. So think about whether you\n"
"want to trust any of these.\n"
2013-07-03 01:01:50 +00:00
"The operators of these services may have various policies for listing hosts.\n"
"Presence on this list does not imply endorsement."
msgstr ""
#: i2p2www/pages/site/faq.html:109
msgid ""
"Jrandom was the lead developer of I2P and\n"
"<a href=\"http://syndie.i2p2.de/\">Syndie</a> for several years.\n"
"We do not know if or when jrandom will return.\n"
"The *.i2p.net domains were left in a non-functioning state after a power\n"
"outage at the hosting company."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/faq.html:117
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"See <a href=\"%(jrandom)s\">this page</a> for jrandom's parting message and additional information\n"
"on the migration of *.i2p.net to <a href=\"%(index)s\">this website</a>."
2013-07-03 01:01:50 +00:00
msgstr "Sschaue auf <a href=\"%(jrandom)s\">diese Seite</a> f&uuml;r Jrandoms Abschiedsnachricht und weitere Informationen zur Migration von *.i2p.net zu <a href=\"%(index)s\">dieser Webseite</a>."
#: i2p2www/pages/site/faq.html:122
msgid "I2P remains in active development."
msgstr ""
#: i2p2www/pages/site/faq.html:126
msgid "There are many possible causes of high CPU usage. Here is a checklist:"
msgstr ""
#: i2p2www/pages/site/faq.html:131
msgid ""
2013-07-03 01:01:50 +00:00
"Try to use either OpenJDK or Sun/Oracle Java if it's available for your system. You can check \n"
"which version of java you have installed by typing <code>java -version</code> at a \n"
"command/shell prompt. Performance tends to suffer with other implementations of java."
msgstr ""
#: i2p2www/pages/site/faq.html:138
msgid ""
2013-07-03 01:01:50 +00:00
"Are you running a BitTorrent client over I2P? Try reducing the number of torrents, the bandwidth limits,\n"
"or try turning it off completely to see if that helps."
msgstr ""
#: i2p2www/pages/site/faq.html:144
msgid ""
2013-07-03 01:01:50 +00:00
"Are your bandwidth limits set too high? It is possible that too much traffic is going through your\n"
"I2P router and it is overloaded. Try reducing the setting for <em>share bandwidth percentage</em> on the <a href=\"http://localhost:7657/config\">configuration</a> page."
msgstr ""
#: i2p2www/pages/site/faq.html:149
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Make sure that you're running the latest version of I2P to get the benefits "
"of increased performance and bug fixes."
msgstr ""
#: i2p2www/pages/site/faq.html:154
msgid ""
2013-07-03 01:01:50 +00:00
"Has enough memory been set aside for use by I2P? Look at the memory graph on <a href=\"http://localhost:7657/graphs\">the graphs page</a> to see\n"
"if the memory usage is \"pegged\"&mdash;the JVM is spending most of its time in\n"
"garbage collection. Increase the setting <code>wrapper.java.maxmemory</code> in <code>wrapper.config</code>."
msgstr ""
#: i2p2www/pages/site/faq.html:161
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Is the CPU usage simply higher than you would like, or is it pegged at 100% for a long time?\n"
"If it's pegged, this could be a bug. Look in the logs for clues."
msgstr ""
#: i2p2www/pages/site/faq.html:167
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"You may be using the Java-based BigInteger library instead of the native version,\n"
"especially if you are running on a new or unusual OS or hardware (OpenSolaris, mipsel, etc.).\n"
"See the <a href=\"%(jbigi)s\">jbigi page</a> for instructions on\n"
"diagnosing, building, and testing methods."
msgstr ""
#: i2p2www/pages/site/faq.html:175
msgid ""
"If your native jbigi library is working fine, the biggest user of\n"
"CPU may be routing traffic for participating tunnels. This uses CPU\n"
"because at each hop a layer of encryption must be decoded.\n"
"You can limit participating traffic in two ways - by reducing the\n"
"share bandwidth on\n"
"<a href=\"http://localhost:7657/confignet.jsp\">confignet.jsp</a>,\n"
"or by setting <tt>router.maxParticipatingTunnels=nnn</tt> on\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://localhost:7657/configadvanced.jsp\">configadvanced.jsp</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:190
msgid ""
"Hmm. I2P is an anonymous network, so that's a tricky one.\n"
2013-07-03 01:01:50 +00:00
"I2P is designed to withstand censorship, providing a means for everyone to communicate freely. \n"
"The best way to keep your PC free of (encrypted) traffic that you dislike is to not use I2P.\n"
"Freedom of speech has some costs.\n"
"But let's address your question in three parts:"
2013-07-03 01:01:50 +00:00
msgstr "Hmm. I2P ist ein anonymes Netzwerk, somit ist dieses Thema schwer zu l&ouml;sen. I2P ist f&uuml;r jeden aufgebaut und nicht zum zensieren von ein paar/allen Daten. Der Beste Weg um deinen PC frei von (verschl&uuml;sseltem) Material, welches Du nicht magst, zu halten, ist I2P nicht zu nutzen. Die Redefreiheit f&uuml;r jeden (Freedom of Speech) hat gewisse Kosten, die wir akzeptieren m&uuml;ssen. Aber lass uns die Frage in 3 Teilen beantworten:"
#: i2p2www/pages/site/faq.html:199
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Distribution</b> - All traffic on I2P is encrypted in multiple layers. You don't know\n"
"a message's contents, source, or destination.\n"
2013-07-03 01:01:50 +00:00
"All traffic you route is internal to the I2P network, you are not an <a href=\"#exit\">exit node</a> (outproxy).\n"
"Your only alternative is to refuse to route\n"
2013-07-03 01:01:50 +00:00
"<i>any</i> traffic, by setting your share bandwidth or maximum participating tunnels to 0 (see above).\n"
"It would be nice if you didn't do this, you should help the network by routing traffic for others.\n"
"Over 95% of users route traffic for others."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/faq.html:210
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Storage</b> - I2P does not do distributed storage of content. You must be thinking of\n"
"<a href=\"http://freenetproject.org/\">Freenet</a>.\n"
"Nobody's content is being stored on your computer by running I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/faq.html:217
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Access</b> - If there are some eepsites you don't like, don't go there.\n"
"Or, use a blocking proxy like Privoxy or some type of \"net nanny\"."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/faq.html:227
msgid ""
"No. This is normal.\n"
"All routers adjust dynamically to changing network conditions and demands."
2013-07-03 01:01:50 +00:00
msgstr "Nein, das ist normal. Alle Router passen sich dynamisch an die sich ver&auml;nderne Netzwerkbedingunen und Anforderungen an."
#: i2p2www/pages/site/faq.html:234
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"You may need to reseed your I2P router. With recent versions of I2P you can "
"go to <a "
2013-06-05 10:00:16 +00:00
"href=\"http://localhost:7657/configreseed\">http://localhost:7657/configreseed</a>"
2013-07-03 01:01:50 +00:00
" and click the <em>Save Changes and Reseed Now</em> button. If this method "
"doesn't work&mdash;or you're using a very old version&mdash;you may need to "
"<a href=\"#manual_reseed\">reseed manually</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:237
msgid ""
2013-07-03 01:01:50 +00:00
"The reseed URL changed a few years ago. If this is your first install and you have installed\n"
"an old (0.6.1.30 or earlier) release, or\n"
"you have not run I2P in a long time, you must change the URL and then\n"
"click \"Reseed\" on the console to find other routers.\n"
"After your router is running,\n"
2013-07-03 01:01:50 +00:00
"on <a href=\"http://localhost:7657/configadvanced.jsp\">configadvanced.jsp</a>,\n"
"add the line <tt>i2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
2013-07-03 01:01:50 +00:00
"OR <tt>i2p.reseedURL=http://i2pdb.tin0.de/netDb/</tt> (either should work),\n"
"then click \"Apply\", then click the \"reseed\" link on the left."
msgstr ""
#: i2p2www/pages/site/faq.html:248
#, python-format
msgid ""
"This works if you are running 0.6.1.27 or later.\n"
2013-07-03 01:01:50 +00:00
"If you are running release 0.6.1.31 or later, you probably don't need to do this.\n"
"If you are running release 0.6.1.26 or earlier, either follow the\n"
"<a href=\"#manual_reseed\">manual reseed instructions</a> below\n"
"or install the <a href=\"%(downloadslist)s\">latest release</a>.\n"
"Possible alternate method - add\n"
"<tt>wrapper.java.additional.5=-Di2p.reseedURL=http://netdb.i2p2.de/</tt>\n"
2013-07-03 01:01:50 +00:00
"to wrapper.config, shutdown the router completely, then start again, then click \"reseed\".\n"
"Let us know if this works."
msgstr ""
#: i2p2www/pages/site/faq.html:259
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"...but you *really* should <a href=\"%(downloadslist)s\">upgrade</a> to the "
"latest version."
msgstr ""
#: i2p2www/pages/site/faq.html:265
msgid ""
2013-07-03 01:01:50 +00:00
"If your router has 10 or more active peers, everything is fine. Changes in releases 0.6.1.31 and 0.6.1.32 improved the\n"
"efficiency of the router and effectively reduced the number of active peers.\n"
"The router <i>should</i> maintain connections to a few peers at all times.\n"
"The best way to stay \"better-connected\" to the network is to <a href=\"http://localhost:7657/config\">share more bandwidth</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:272
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Is my router an \"exit node\" to the regular Internet? I don't want it to "
"be."
msgstr ""
#: i2p2www/pages/site/faq.html:274
msgid ""
"No. Unlike <a href=\"http://www.torproject.org/\">Tor</a>,\n"
2013-07-03 01:01:50 +00:00
"\"exit nodes\" or \"outproxies\" are not an inherent part of the network.\n"
"Only volunteers who set up and run separate applications will relay traffic to the regular Internet.\n"
"There are very, very few of these."
msgstr ""
#: i2p2www/pages/site/faq.html:283
msgid ""
2013-07-03 01:01:50 +00:00
"See above. There are very few HTTP \"outproxies\", they are not an inherent part of the network,\n"
"and they may not be up.\n"
2013-07-03 01:01:50 +00:00
"In addition, the old outproxies squid.i2p, true.i2p, and krabs.i2p have vanished.\n"
"The only outproxy at the moment is false.i2p.\n"
2013-07-03 01:01:50 +00:00
"To use it, edit your <a href=\"http://localhost:7657/i2ptunnel/edit.jsp?tunnel=0\">i2ptunnel settings for eepProxy</a>\n"
"and set your outproxy list to 'false.i2p' (only).\n"
"Then stop and restart the eepProxy.\n"
"If it doesn't work, the outproxy is not up. It is not I2P's fault.\n"
2013-07-03 01:01:50 +00:00
"If your primary reason to use an anonymous network is to anonymously access sites\n"
"on the regular Internet, you should probably try <a href=\"http://www.torproject.org/\">Tor</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:298
msgid ""
2013-07-03 01:01:50 +00:00
"Within I2P, there is no need for HTTPS, as all traffic is encrypted end-to-end.\n"
"FTP is not supported for technical reasons."
msgstr ""
#: i2p2www/pages/site/faq.html:302
msgid ""
2013-07-03 01:01:50 +00:00
"There are no FTP \"outproxies\" to the Internet&mdash;it may not even be possible to set up one.\n"
"Any other kind of outproxy may work if it's set up with a standard tunnel. \n"
"If you would like to set up some type of outproxy, carefully research the potential risks.\n"
"The I2P community may or may not be able to help with the technical aspects, feel free to ask."
msgstr ""
#: i2p2www/pages/site/faq.html:308
msgid ""
2013-07-03 01:01:50 +00:00
"As explained several times above, any existing outproxy isn't a core part of the network.\n"
"They are services run by individuals and they may or may not\n"
"be operational at any given time."
msgstr ""
#: i2p2www/pages/site/faq.html:313
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Update</b>: Thanks to the work of h2ik, there is an https outproxy available for use via I2P. Starting with I2P 0.8.4 <a href=\"http://localhost:7657/i2ptunnel/edit?tunnel=6\">the tunnel</a> is configured out of the box.<br />\n"
"In case the https outproxy is not available in your version of I2P, you can add it easily by doing the following:"
msgstr ""
#: i2p2www/pages/site/faq.html:319
2013-06-05 10:00:16 +00:00
msgid ""
"Open <a href=\"http://localhost:7657/i2ptunnel/index.jsp\">i2p tunnel "
"manager</a>. Scroll down to the bottom."
msgstr ""
#: i2p2www/pages/site/faq.html:324
2013-06-05 10:00:16 +00:00
msgid ""
"Choose <b>CONNECT</b> from <b>New Client Tunnel</b> dropdown list, click "
"<b>Create</b>"
msgstr ""
#: i2p2www/pages/site/faq.html:329
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In the new page, <b>name</b> and <b>describe</b> your new https tunnel as you like.\n"
"The <b>Access Point</b> is your local port for the new https proxy recommended port's <b>4445</b>.\n"
"<b>Outproxy</b> should be the outproxy's .i2p address which supports https. \n"
"See this forum post of <a href=\"http://%(forum)s/viewtopic.php?p=31356#31356\">h2ik</a>'s for the address. \n"
"Make sure <b>Shared Client</b>, <b>Delay Connect</b>, <b>AutoStart</b> are checked.\n"
"Other options should be left at the defaults. Click Save. In tunnel manger, click the <b>Start</b> button next to your new tunnel."
msgstr ""
#: i2p2www/pages/site/faq.html:339
msgid ""
2013-07-03 01:01:50 +00:00
"In firefox, click through <b>Tools</b>><b>Options</b>><b>Advanced</b>><b>Network</b>><b>Setting</b>.\n"
"Untick <b>Use this proxy for all protocol</b>, set <b>SSL proxy:</b> to localhost:4445."
msgstr ""
#: i2p2www/pages/site/faq.html:344
msgid "Done."
msgstr ""
#: i2p2www/pages/site/faq.html:350
#, python-format
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"This is a question that only you can answer because the correct answer depends on your behaviours, your\n"
"<a href=\"%(threatmodel)s\">threat model</a>, and how much you trust the outproxy operator."
msgstr ""
#: i2p2www/pages/site/faq.html:354
msgid ""
"Like Tor, I2P does not magically encrypt the Internet.\n"
"You are vulnerable to snooping by the outproxy operators.\n"
2013-07-03 01:01:50 +00:00
"The <a href=\"https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#ExitEavesdroppers\">Tor FAQ</a>\n"
"does a good job of explaining this."
msgstr ""
#: i2p2www/pages/site/faq.html:360
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In addition, you may be vulnerable to collusion between the outproxy operator\n"
"and operators of other I2P services, if you use the same tunnels (\"shared clients\").\n"
"There is additional discussion about this on <a href=\"http://%(zzz)s/topics/217\">%(zzz)s</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:368
msgid ""
2013-07-03 01:01:50 +00:00
"Unless an outproxy has been set up for the service you want to connect to, this cannot be done.\n"
"There are only three types of outproxies running right now: HTTP, HTTPS, and email. Note that there is not a SOCKS outproxy.\n"
"If this type of service is required, try <a href=\"http://www.torproject.org/\">Tor</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:376
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you consider every eepsite that has ever been created, yes, most of them are down.\n"
"People and eepsites come and go.\n"
2013-07-03 01:01:50 +00:00
"A good way to get started in I2P is check out a list of eepsites that are currently up.\n"
"<a href=\"http://%(perv)s/stats.cgi\">%(perv)s</a> tracks active eepsites."
msgstr ""
#: i2p2www/pages/site/faq.html:385
msgid ""
"Click on the <a href=\"http://localhost:7658/\">Website</a> link\n"
"at the top of your router console for instructions."
msgstr ""
#: i2p2www/pages/site/faq.html:392
msgid ""
2013-07-03 01:01:50 +00:00
"Why are downloads, torrents, web browsing, and everything else so slow on I2P?\n"
"The encryption and routing within the I2P network adds a substantial amount of overhead and limits bandwidth.\n"
"Anonymity isn't free."
msgstr ""
#: i2p2www/pages/site/faq.html:397
msgid ""
2013-07-03 01:01:50 +00:00
"In addition, you and everybody else probably need to increase your bandwidth limits.\n"
"Two key settings are the inbound and outbound bandwidth limiters on\n"
"<a href=\"http://localhost:7657/config.jsp\">the configuration page</a>.\n"
2013-07-03 01:01:50 +00:00
"With the default settings of 32KBps you will generally get no better than 15KBps data transfer in I2PSnark.\n"
"Increasing the settings (but keeping within your actual connection limitations)\n"
"will increase the potential transfer rate for I2PSnark and all other applications."
msgstr ""
#: i2p2www/pages/site/faq.html:405
msgid ""
2013-07-03 01:01:50 +00:00
"Also, do you have sufficient share bandwidth configured to allow participating tunnels\n"
"to route through your router? Believe it or not, allowing participating traffic\n"
"keeps you well-integrated in the network and helps your own transfer speeds."
msgstr ""
#: i2p2www/pages/site/faq.html:410
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is a work in progress. Lots of improvements and fixes are being implemented, and\n"
"generally speaking, running the latest release will help your performance.\n"
"If you haven't, <a href=\"%(downloadslist)s\">install the latest release</a>."
msgstr ""
#: i2p2www/pages/site/faq.html:418
#, python-format
msgid ""
"See the\n"
"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P Bittorrent FAQ</a>"
msgstr ""
#: i2p2www/pages/site/faq.html:425
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"A tunnel to the main IRC server within I2P, Irc2P, is created when I2P is installed (see\n"
"the <a href=\"http://localhost:7657/i2ptunnel/index.jsp\">I2PTunnel configuration page</a>),\n"
"and is automatically started when the I2P router starts. To connect to it, tell your IRC\n"
"client to connect to <code>localhost 6668</code>. XChat-like client users can create a\n"
"new network with the server <code>localhost/6668</code> (remember to tick &quot;Bypass\n"
2013-06-05 10:00:16 +00:00
"proxy server&quot; if you have a proxy server configured)."
msgstr ""
#: i2p2www/pages/site/faq.html:436
msgid ""
2013-07-03 01:01:50 +00:00
"For security purposes, the router's admin console by default only listens\n"
"for connections on the local interface. However, with a little hacking,\n"
"you can make it reachable remotely:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:444
msgid ""
"Open <code>~/.i2p/clients.config</code> and replace<br />\n"
"<code>clientApp.0.args=7657 ::1,127.0.0.1 ./webapps/</code><br />\n"
"with <br />\n"
"<code>clientApp.0.args=7657 0.0.0.0 ./webapps/</code>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:452
msgid ""
2013-07-03 01:01:50 +00:00
"Go to <a href=\"http://localhost:7657/configadvanced.jsp\">http://localhost:7657/configadvanced.jsp</a>\n"
"and add a new option: <code>consolePassword=foo</code> (or whatever password you want)"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:458
msgid ""
2013-07-03 01:01:50 +00:00
"Go to <a href=\"http://localhost:7657/index.jsp\">http://localhost:7657/index.jsp</a>\n"
"and hit \"Graceful restart\", which restarts the JVM and reloads the client applications"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:465
msgid ""
2013-07-03 01:01:50 +00:00
"After that fires up, you should now be able to reach your console remotely.\n"
"You will be prompted for a username and password though - the username is\n"
"\"admin\" and the password is whatever you specified in step 2 above. Note: the\n"
"<code>0.0.0.0</code> above specifies an <i>interface</i>, not a network or netmask. 0.0.0.0\n"
"means \"bind to all interfaces\", so it can be reachable on 127.0.0.1:7657 as well as\n"
"any LAN/WAN IP."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:476
msgid ""
2013-07-03 01:01:50 +00:00
"By default, the router I2CP interface (port 7654) binds to address 127.0.0.1. To bind to 0.0.0.0, set the\n"
"router advanced configuration option <tt>i2cp.tcp.bindAllInterfaces=true</tt> and restart."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:481
msgid "Whats an \"eepsite\"?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:483
msgid ""
2013-07-03 01:01:50 +00:00
"An eepsite is a website that is hosted anonymously - you can access it by\n"
"setting your web browser's HTTP proxy to use the web proxy (typically it\n"
"listens on localhost port 4444), and browsing to the site."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:491
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The proxy config for different browsers is on a <a href=\"%(browserconfig)s\">\n"
"separate page</a> with screenshots. More advanced configs with external tools\n"
"are possible but could introduce leaks in your setup."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:500
msgid ""
"x is the number of peers you've sent or received a message from\n"
2013-07-03 01:01:50 +00:00
"successfully in the last minute, y is the number of peers seen in the last\n"
"hour or so."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:508
msgid ""
2013-07-03 01:01:50 +00:00
"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.\n"
"There is no SOCKS outproxy so it is of limited use."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:512
msgid ""
"In addition, many applications leak sensitive\n"
"information that could identify you on the Internet. I2P only filters\n"
"connection data, but if the program you intend to run sends this\n"
"information as content, I2P has no way to protect your anonymity. For\n"
"example, some mail applications will send the IP address of the machine\n"
"they are running on to a mail server. There is no way for I2P to filter\n"
2013-07-03 01:01:50 +00:00
"this, thus using I2P to 'socksify' existing applications is possible, but\n"
"extremely dangerous."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:522
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you would like more information on the socks proxy application anyway,\n"
"there are some helpful hints on the <a href=\"%(socks)s\">socks page</a>."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:529
msgid ""
"Okay, here's a rundown of the default ports (everything is configurable\n"
"through various settings, of course):"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:538
msgid ""
"<b>Internet-facing ports</b>\n"
2013-07-03 01:01:50 +00:00
"Note: New installs as of release 0.7.8 do not use port 8887; they select a random port\n"
"between 9000 and 31000 when the program is run for the first time.\n"
2013-07-03 01:01:50 +00:00
"The selected port is shown on the router <a href=\"http://127.0.0.1:7657/confignet.jsp\">configuration page.</a>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:546
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Outbound UDP from the random port noted on the <a href=\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> to arbitrary remote UDP ports, allowing replies</b>\n"
" "
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:551
msgid ""
"<b>Outbound TCP from random high ports to arbitrary remote TCP ports</b>\n"
" "
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:556
msgid ""
2013-07-03 01:01:50 +00:00
"<b>(optional, but recommended) Inbound UDP to the port noted on <a href=\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> from arbitrary locations</b>\n"
" "
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:561
msgid ""
2013-07-03 01:01:50 +00:00
"<b>(optional, but recommended) Inbound TCP to the port noted on <a href=\"http://127.0.0.1:7657/confignet.jsp\">configuration page</a> from arbitrary locations</b><br />\n"
"Inbound TCP may be disabled on the <a href=\"http://127.0.0.1:7657/confignet.jsp\">configuration page.</a>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:567
msgid ""
"<b>Outbound UDP on port 123, allowing replies</b><br />\n"
"This is necessary for I2P's internal time sync (via SNTP - \n"
"querying a random SNTP host in pool.ntp.org or another\n"
"server you specify)"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:578
msgid ""
"<b>Local I2P ports</b>, listening only to local connections by default,\n"
"except where noted:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:584
msgid ""
"<b>1900:</b> UPnP SSDP UDP multicast listener.\n"
"<i>Cannot be changed. Binds to all interfaces.\n"
2013-07-03 01:01:50 +00:00
"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet.jsp</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:591
msgid ""
"<b>2827:</b> BOB bridge, a higher level socket API for clients\n"
"<i>Disabled by default.\n"
2013-07-03 01:01:50 +00:00
"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.\n"
"May be changed in the bob.config file.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:599
msgid ""
"<b>4444:</b> HTTP proxy\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:606
msgid ""
"<b>4445:</b> HTTPS proxy\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:613
msgid ""
"<b>6668:</b> IRC proxy\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:620
msgid ""
"<b>7652:</b> UPnP HTTP TCP event listener.\n"
"<i>Binds to the LAN address.\n"
"May be changed with advanced config i2np.upnp.HTTPPort=nnnn.\n"
2013-07-03 01:01:50 +00:00
"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet.jsp</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:628
msgid ""
"<b>7653:</b> UPnP SSDP UDP search response listener.\n"
"<i>Binds to all interfaces.\n"
"May be changed with advanced config i2np.upnp.SSDPPort=nnnn.\n"
2013-07-03 01:01:50 +00:00
"May be disabled on <a href=\"http://localhost:7657/confignet.jsp\">confignet.jsp</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:636
msgid ""
"<b>7654:</b> I2P Client Protocol port, used by client apps.\n"
"<i>May be changed to a different port on\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>\n"
"but this is not recommended.\n"
2013-07-03 01:01:50 +00:00
"May be to bind to a different interface or all interfaces, or disabled, on\n"
"<a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:646
msgid ""
"<b>7655:</b> UDP for SAM bridge, a higher level socket API for clients\n"
"<i>Only opened when a SAM V3 client requests a UDP session.\n"
2013-07-03 01:01:50 +00:00
"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.\n"
"May be changed in the clients.config file with the SAM command line option sam.udp.port=nnnn.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:654
msgid ""
"<b>7656:</b> SAM bridge, a higher level socket API for clients\n"
"<i>Disabled by default for new installs as of release 0.6.5.\n"
2013-07-03 01:01:50 +00:00
"May be enabled/disabled on <a href=\"http://localhost:7657/configclients.jsp\">configclients.jsp</a>.\n"
"May be changed in the clients.config file.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:662
msgid ""
"<b>7657:</b> Your router console\n"
"<i>May be disabled in the clients.config file.\n"
2013-07-03 01:01:50 +00:00
"May also be configured to be bound to a specific interface or all interfaces in that file.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:669
msgid ""
"<b>7658:</b> Your eepsite\n"
"<i>May be disabled in the clients.config file.\n"
2013-07-03 01:01:50 +00:00
"May also be configured to be bound to a specific interface or all interfaces in the jetty.xml file.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:676
msgid ""
"<b>7659:</b> Outgoing mail to smtp.postman.i2p\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:683
msgid ""
"<b>7660:</b> Incoming mail from pop.postman.i2p\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:690
msgid ""
"<b>8998:</b> mtn.i2p2.i2p (Monotone - disabled by default)\n"
2013-07-03 01:01:50 +00:00
"<i>May be disabled or changed on the i2ptunnel page in the router console.\n"
"May also be configured to be bound to a specific interface or all interfaces.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:697
msgid ""
"<b>31000:</b> Local connection to the wrapper control channel port.\n"
"<i>Outbound to 32000 only, does not listen on this port.\n"
"Starts at 31000 and will increment until 31999 looking for a free port.\n"
"To change, see the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html\">wrapper documentation</a>.\n"
"For more information see <a href=\"#port32000\">below</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:707
msgid ""
"<b>32000:</b> Local control channel for the service wrapper.\n"
"<i>To change, see the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html\">wrapper documentation</a>.\n"
"For more information see <a href=\"#port32000\">below</a>.</i>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:719
msgid ""
2013-07-03 01:01:50 +00:00
"The local I2P ports and the I2PTunnel ports do not need to be reachable from \n"
"remote machines, but *should* be reachable locally. You can also create \n"
"additional ports for I2PTunnel instances via http://localhost:7657/i2ptunnel/ \n"
"(and in turn, would need to get your firewall to allow you local access, but \n"
"not remote access, unless desired)."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:727
msgid ""
2013-07-03 01:01:50 +00:00
"So, to summarize, nothing needs to be reachable by unsolicited remote peers, but\n"
"if you can configure your NAT/firewall to allow inbound UDP and TCP the <a href=\"http://localhost:7657/config\">outbound facing port</a>, you'll\n"
"get better performance. You will also need to be able to send outbound UDP packets\n"
"to arbitrary remote peers (blocking IPs randomly with something like PeerGuardian\n"
"only hurts you - don't do it)."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:735
msgid "Why is I2P listening on port 32000?"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:737
msgid ""
2013-07-03 01:01:50 +00:00
"The Tanuki java service wrapper that we use opens this port&mdash;bound to localhost&mdash;in order \n"
"to communicate with software running inside the JVM. When the JVM is launched it is given a key \n"
"so it can connect to the wrapper. After the JVM establishes its connection \n"
"to the wrapper, the wrapper refuses any additional connections."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:743
msgid ""
"More information can be found in the \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://wrapper.tanukisoftware.com/doc/english/prop-port.html\">wrapper documentation</a>."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:750
msgid ""
2013-07-03 01:01:50 +00:00
"An I2P router only needs to be seeded once, to join the network for the first time.\n"
"Reseeding is nothing more than sending plain HTTP GET requests\n"
"to fetch a directory listing and download multiple \"routerInfo\" files\n"
"from a predefined reseed URL."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:757
msgid ""
"A typical symptom of a failed reseed is the \"Known\" indicator\n"
2013-07-03 01:01:50 +00:00
"(on the left sidebar of the router console) displaying a very small value\n"
"(often less than 5) which does not increase. This can occur, among other things,\n"
"if your firewall limits outbound traffic, and blocked the reseed request."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:764
msgid "To reseed an I2P router manually, do the following:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:767
msgid "Stop your I2P router"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:770
msgid ""
2013-07-03 01:01:50 +00:00
"Open <a href=\"http://netdb.i2p2.de/\">http://netdb.i2p2.de/</a> using a web"
" browser"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:773
msgid "Save a dozen \"routerInfo\" files to your I2P \"netDb\" directory"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:780
msgid "Start your I2P router"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:787
msgid ""
"When trying to start the router using \"i2prouter start\", you may see "
"output like the following:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:792
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"In order to be inclusive and try to ensure that I2P will run on as many systems \n"
"as possible, up until I2P 0.8.9 we used a <a href=\"http://wrapper.tanukisoftware.com/\">java wrapper</a> \n"
"compiled for FreeBSD 6.x. If you're receiving this error you most likely are missing the necessary compatibility libraries.\n"
"These libraries may be installed by performing the following steps:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:800
msgid ""
2013-07-03 01:01:50 +00:00
"Switch to the root user with <code>su</code> or log in as <code>root</code>."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:806
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you cannot install these compatibility libraries (or do not want to), other\n"
"possibilities would be to compile the wrapper for <a href=\"%(manualwrapper)s\">your\n"
"system</a>, starting I2P with the <code>runplain.sh</code> script, or you can\n"
"replace the wrapper with one from the source tarball."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:812
msgid ""
"For the 0.8.9 release of I2P, the wrapper was upgraded to v3.5.12 and "
"compiled on systems running FreeBSD 7.2."
msgstr ""
#: i2p2www/pages/site/faq.html:816
2013-06-05 10:00:16 +00:00
msgid ""
"In <code>wrapper.log</code> I see an error that states \"<code>Protocol "
"family unavailable</code>\" when loading the Router Console"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:818
msgid ""
2013-07-03 01:01:50 +00:00
"Often this error will occur with any network enabled java software on some "
"systems that are configured to use IPv6 by default. There are a few ways to "
"solve this:"
msgstr ""
#: i2p2www/pages/site/faq.html:823
2013-06-05 10:00:16 +00:00
msgid ""
"On Linux based systems, you can <code>echo 0 > "
"/proc/sys/net/ipv6/bindv6only</code>"
msgstr ""
#: i2p2www/pages/site/faq.html:825
msgid "Look for the following lines in <code>wrapper.config</code>."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:829
msgid ""
2013-07-03 01:01:50 +00:00
"If the lines are there, uncomment them by removing the \"#\"s. If the lines "
"are not there, add them without the \"#\"s."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:832
msgid ""
"Another option would be to remove the <strong>::1</strong> from "
"<code>~/.i2p/clients.config</code>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:836
msgid ""
2013-07-03 01:01:50 +00:00
"<strong>WARNING</strong>: For any changes to <code>wrapper.config</code> to take effect, you must completely\n"
"stop the router and the wrapper. Clicking <em>Restart</em> on your\n"
"router console will NOT reread this file! You must\n"
"click <em>Shutdown</em>, wait 11 minutes, then start I2P."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/faq.html:847
#, python-format
msgid ""
"Great! Find us on IRC irc.freenode.net #i2p or post to\n"
"the <a href=\"http://%(forum)s/\">forum</a> and we'll post it here (with\n"
"the answer, hopefully)."
2013-07-03 01:01:50 +00:00
msgstr "Bestens! Du findest uns im IRC auf irc.freenode.net im Kanal #i2p oder frage im <a href=\"http://%(forum)s/\">Forum</a> und wir werden das hier anf&uuml;gen (mit der Antwort, hoffentlich)."
#: i2p2www/pages/site/impressum.html:4
2013-06-05 10:00:16 +00:00
msgid "German laws"
msgstr ""
#: i2p2www/pages/site/index.html:2
msgid "I2P Anonymous Network"
msgstr ""
#: i2p2www/pages/site/index.html:4
2013-06-05 10:00:16 +00:00
msgid ""
"Anonymous peer-to-peer distributed communication layer built with open "
2013-07-03 01:01:50 +00:00
"source tools and designed to run any traditional Internet service such as "
"email, IRC or web hosting."
msgstr ""
#: i2p2www/pages/site/index.html:7
msgid "What does I2P do for you?"
msgstr ""
#: i2p2www/pages/site/index.html:8
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P network provides strong privacy protections for communication over "
"the Internet. Many activities that would risk your privacy on the public "
"Internet can be conducted anonymously inside I2P."
msgstr ""
#: i2p2www/pages/site/index.html:9
#, python-format
msgid "Get I2P %(version)s"
msgstr ""
#: i2p2www/pages/site/index.html:13
msgid "What is I2P?"
msgstr ""
#: i2p2www/pages/site/index.html:15
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is a full darknet implementation - a network within a network, and is "
"intended to protect against monitoring by third parties, such as hostile "
"governments or ISPs.\n"
msgstr ""
#: i2p2www/pages/site/index.html:18
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is used by many people who care about their privacy, as well as those in"
" high-risk situations. It is designed to protect activists, oppressed "
"people, journalists and whistle-blowers - as well as the average person.\n"
msgstr ""
#: i2p2www/pages/site/index.html:21
2013-06-05 10:00:16 +00:00
msgid ""
"I2P runs on Java and is therefore available anywhere Java will run, "
2013-07-03 01:01:50 +00:00
"including desktops, embedded systems (like the Raspberry Pi) and Android "
"phones.\n"
msgstr ""
#: i2p2www/pages/site/index.html:25
msgid "Read more&hellip;"
msgstr ""
#: i2p2www/pages/site/index.html:30
msgid "What can you do with I2P?"
msgstr ""
#: i2p2www/pages/site/index.html:33
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"%(supported)s#email\">Email</a> Integrated web mail interface, "
"plugin for serverless email."
msgstr ""
#: i2p2www/pages/site/index.html:38
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(supported)s#web-browsing\">Web browsing</a> Anonymous websites, "
"gateways to and from the public Internet."
msgstr ""
#: i2p2www/pages/site/index.html:43
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"%(supported)s#blogging-and-forums\">Blogging and forums</a> "
"Blogging and Syndie plugins."
msgstr ""
#: i2p2www/pages/site/index.html:48
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"%(supported)s#website-hosting\">Website hosting</a> Integrated "
"anonymous web server."
msgstr ""
#: i2p2www/pages/site/index.html:53
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"%(supported)s#real-time-chat\">Real-time chat</a> Instant "
"messaging and IRC clients."
msgstr ""
#: i2p2www/pages/site/index.html:58
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(supported)s#file-sharing\">File sharing</a> ED2K and Gnutella "
"clients, integrated BitTorrent client."
msgstr ""
#: i2p2www/pages/site/index.html:63
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"%(supported)s#decentralized-file-storage\">Decentralized file "
"storage</a> Tahoe-LAFS distributed filesystem plugin."
msgstr ""
#: i2p2www/pages/site/index.html:68
#, python-format
msgid "<a href=\"%(supported)s\"><em>More supported applications&hellip;</em></a>"
msgstr ""
#: i2p2www/pages/site/index.html:76
msgid "News &amp; Updates"
msgstr ""
#: i2p2www/pages/site/links.html:4
msgid "Recommended Links & Resources"
msgstr ""
#: i2p2www/pages/site/links.html:5
#, python-format
msgid ""
"See also the page with\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(media)s\">links to presentations, videos, and tutorials about I2P</a>."
msgstr ""
#: i2p2www/pages/site/links.html:12
msgid "Friends of I2P"
msgstr ""
#: i2p2www/pages/site/links.html:24
msgid "More Projects and Documentation"
msgstr ""
#: i2p2www/pages/site/links.html:34
msgid "Press"
msgstr ""
#: i2p2www/pages/site/links.html:38
msgid "Boards, newssite, others"
msgstr ""
#: i2p2www/pages/site/links.html:42
msgid "Very Old Stuff"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:2
msgid "Web Browser Configuration"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:5
msgid ""
2013-07-03 01:01:50 +00:00
"Your web browser will need to be configured in order to browse eepsites and to\n"
"utilize the outproxies available within I2P. Below are walkthroughs for some of\n"
2013-06-05 10:00:16 +00:00
"the most popular browsers."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:11
msgid "How to configure your browser"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:17
#: i2p2www/pages/site/about/browser-config.html:73
msgid "Outproxy Terms Of Service"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:22
msgid "Internet Explorer 8 or Chrome"
msgstr ""
#: i2p2www/pages/site/about/browser-config.html:23
msgid ""
2013-07-03 01:01:50 +00:00
"In the tools menu select the \"Internet Options\" line to open the settings. In the\n"
"settings window choose the connections tab and click on LAN settings for the\n"
2013-06-05 10:00:16 +00:00
"proxy port configuration."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:28
msgid "IE Internet Options"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:29
msgid ""
2013-07-03 01:01:50 +00:00
"Now set the checkmark at \"use a proxy server for your LAN\" and at the \"Bypass\n"
"proxy server for local addresses\". With a click on Advanced-button you open the\n"
"window to open the ports. Enter the values like on the picture, IP 127.0.0.1\n"
"and port 4444 for HTTP, port 4445 for HTTPS. With clicks on OK you save the\n"
2013-06-05 10:00:16 +00:00
"settings and your browser is set to use the I2P proxy."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:36
msgid "IE Proxy Settings"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:40
msgid ""
2013-07-03 01:01:50 +00:00
"From the Tools menu, select Options to bring up the Firefox settings panel.\n"
"Click the icon labelled <em>Advanced</em>, then click on the <em>Network</em>\n"
"tab. In the <em>Connections</em> section, click on the Settings button. You'll\n"
2013-06-05 10:00:16 +00:00
"see a Window like the following:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:46
msgid "Firefox Network Options"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:47
msgid ""
2013-07-03 01:01:50 +00:00
"In the <em>Connection Settings</em> window, click the circle next to <em>Manual\n"
" proxy configuration</em>, then enter 127.0.0.1, port 4444 in the HTTP Proxy\n"
2013-06-05 10:00:16 +00:00
"field. Enter 127.0.0.1, port 4445 in the SSL Proxy field.\n"
"Be sure to enter localhost and 127.0.0.1 into the \"No Proxy for\" box."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:53
msgid "Firefox Proxy Settings"
msgstr ""
#: i2p2www/pages/site/about/browser-config.html:57
msgid ""
2013-07-03 01:01:50 +00:00
"From the <em>Settings</em> menu, select <em>Configure Konqueror</em>. In the\n"
2013-06-05 10:00:16 +00:00
"Web Browsing group on the left side, select Proxy Services.\n"
2013-07-03 01:01:50 +00:00
"In this new window, select the option \"Manually specify the proxy settings\" and\n"
2013-06-05 10:00:16 +00:00
"click the <em>Setup</em> box."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:63
msgid "Konqueror Proxy Options"
msgstr ""
#: i2p2www/pages/site/about/browser-config.html:64
msgid ""
2013-07-03 01:01:50 +00:00
"Enter 127.0.0.1 and port 4444 into the HTTP box. Enter 127.0.0.1 and port 4445 into\n"
"HTTPS box. Click the <em>New</em> button in the Exceptions section. Enter\n"
"localhost and click OK. Click the <em>New</em> button once more and enter\n"
2013-06-05 10:00:16 +00:00
"127.0.0.1 and OK. Hit OK once more to close the configuration window."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:70
msgid "Konqueror Proxy Ports"
msgstr ""
#: i2p2www/pages/site/about/browser-config.html:74
msgid ""
2013-07-03 01:01:50 +00:00
"Remember: I2P was not designed for creating proxies to the outer Internet.\n"
2013-06-05 10:00:16 +00:00
"Instead, it is meant to be used as an internal network."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:78
msgid ""
2013-07-03 01:01:50 +00:00
"<b>The I2P project itself does not run any proxies to the Internet. Any such proxy\n"
2013-06-05 10:00:16 +00:00
"services are run by by private volunteers and could be shut down or\n"
"unreachable at anytime.</b>"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:83
msgid ""
2013-07-03 01:01:50 +00:00
"By default, I2P comes with two outproxies configured: <code>false.i2p</code>\n"
"(an HTTP-only proxy) and <code>outproxyng.h2ik.i2p</code> (an HTTPS proxy\n"
2013-06-05 10:00:16 +00:00
"routed through Tor."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:88
msgid ""
2013-07-03 01:01:50 +00:00
"Both of these outproxies are configured with connection limits. This means\n"
"that only set amount of accesses are allowed per client. Once the limit is\n"
2013-06-05 10:00:16 +00:00
"reached, the client is blocked out for a timeframe of 1min/1h/1 day. Be\n"
"respectful and do not overload these services with too many requests!"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:94
#, python-format
msgid ""
2013-06-05 10:00:16 +00:00
"Filtering is active on these outproxies (for example, mibbit and torrent\n"
2013-07-03 01:01:50 +00:00
"tracker access is blocked). Note that even though the pirate bay is blocked\n"
"they host an official eepsite at <a href=\"http://%(tpb)s\">%(tpb)s</a>. Eepsites\n"
"that are accessible via .i2p addresses are also not allowed via the outproxies.\n"
2013-06-05 10:00:16 +00:00
"As a convenience, <code>False.i2p</code> blocks ad servers."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/browser-config.html:101
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"https://www.torproject.org\">Tor</a> is good application to use as an\n"
2013-06-05 10:00:16 +00:00
"outproxy to the Internet."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/glossary.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"This page lists often-used terminology when discussing I2P and cryptography."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:2
msgid "Hall Of Fame"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:5
msgid "I2P'<small>s</small> Hall of Fame"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:6
#, python-format
2013-06-05 10:00:16 +00:00
msgid "Current balance: as of %(date)s"
msgstr ""
#: i2p2www/pages/site/about/hall-of-fame.html:9
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:47
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:137
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:138
#: i2p2www/pages/site/about/hall-of-fame.html:139
#: i2p2www/pages/site/about/hall-of-fame.html:140
#: i2p2www/pages/site/about/hall-of-fame.html:142
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:143
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:144
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:147
#: i2p2www/pages/site/about/hall-of-fame.html:148
#: i2p2www/pages/site/about/hall-of-fame.html:149
#: i2p2www/pages/site/about/hall-of-fame.html:152
#: i2p2www/pages/site/about/hall-of-fame.html:153
#: i2p2www/pages/site/about/hall-of-fame.html:154
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:155
#: i2p2www/pages/site/about/hall-of-fame.html:156
#: i2p2www/pages/site/about/hall-of-fame.html:157
#: i2p2www/pages/site/about/hall-of-fame.html:158
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:159
#: i2p2www/pages/site/about/hall-of-fame.html:160
#: i2p2www/pages/site/about/hall-of-fame.html:161
#: i2p2www/pages/site/about/hall-of-fame.html:162
#: i2p2www/pages/site/about/hall-of-fame.html:163
#: i2p2www/pages/site/about/hall-of-fame.html:164
#: i2p2www/pages/site/about/hall-of-fame.html:167
#: i2p2www/pages/site/about/hall-of-fame.html:168
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:169
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:170
#: i2p2www/pages/site/about/hall-of-fame.html:171
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:172
#: i2p2www/pages/site/about/hall-of-fame.html:174
#: i2p2www/pages/site/about/hall-of-fame.html:175
#: i2p2www/pages/site/about/hall-of-fame.html:178
#: i2p2www/pages/site/about/hall-of-fame.html:179
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:180
#: i2p2www/pages/site/about/hall-of-fame.html:181
#: i2p2www/pages/site/about/hall-of-fame.html:182
#: i2p2www/pages/site/about/hall-of-fame.html:184
#: i2p2www/pages/site/about/hall-of-fame.html:185
#: i2p2www/pages/site/about/hall-of-fame.html:186
#: i2p2www/pages/site/about/hall-of-fame.html:187
#: i2p2www/pages/site/about/hall-of-fame.html:188
#: i2p2www/pages/site/about/hall-of-fame.html:189
#: i2p2www/pages/site/about/hall-of-fame.html:191
#: i2p2www/pages/site/about/hall-of-fame.html:192
#: i2p2www/pages/site/about/hall-of-fame.html:193
#: i2p2www/pages/site/about/hall-of-fame.html:194
#: i2p2www/pages/site/about/hall-of-fame.html:196
#: i2p2www/pages/site/about/hall-of-fame.html:197
#: i2p2www/pages/site/about/hall-of-fame.html:198
#: i2p2www/pages/site/about/hall-of-fame.html:199
#: i2p2www/pages/site/about/hall-of-fame.html:200
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:203
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:204
#: i2p2www/pages/site/about/hall-of-fame.html:205
#: i2p2www/pages/site/about/hall-of-fame.html:206
#: i2p2www/pages/site/about/hall-of-fame.html:208
#: i2p2www/pages/site/about/hall-of-fame.html:209
#: i2p2www/pages/site/about/hall-of-fame.html:210
#: i2p2www/pages/site/about/hall-of-fame.html:212
#: i2p2www/pages/site/about/hall-of-fame.html:213
#: i2p2www/pages/site/about/hall-of-fame.html:214
#: i2p2www/pages/site/about/hall-of-fame.html:215
#: i2p2www/pages/site/about/hall-of-fame.html:217
#: i2p2www/pages/site/about/hall-of-fame.html:218
#: i2p2www/pages/site/about/hall-of-fame.html:219
#: i2p2www/pages/site/about/hall-of-fame.html:220
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:221
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:227
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:230
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:231
#: i2p2www/pages/site/about/hall-of-fame.html:232
#: i2p2www/pages/site/about/hall-of-fame.html:233
#: i2p2www/pages/site/about/hall-of-fame.html:234
#: i2p2www/pages/site/about/hall-of-fame.html:236
#: i2p2www/pages/site/about/hall-of-fame.html:237
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:238
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:243
#: i2p2www/pages/site/about/hall-of-fame.html:244
#: i2p2www/pages/site/about/hall-of-fame.html:245
#: i2p2www/pages/site/about/hall-of-fame.html:246
#: i2p2www/pages/site/about/hall-of-fame.html:247
#: i2p2www/pages/site/about/hall-of-fame.html:248
#: i2p2www/pages/site/about/hall-of-fame.html:249
#: i2p2www/pages/site/about/hall-of-fame.html:250
#: i2p2www/pages/site/about/hall-of-fame.html:251
#: i2p2www/pages/site/about/hall-of-fame.html:252
#: i2p2www/pages/site/about/hall-of-fame.html:254
#: i2p2www/pages/site/about/hall-of-fame.html:255
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:265
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:266
#: i2p2www/pages/site/about/hall-of-fame.html:267
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:268
#: i2p2www/pages/site/about/hall-of-fame.html:269
#: i2p2www/pages/site/about/hall-of-fame.html:270
#: i2p2www/pages/site/about/hall-of-fame.html:271
#: i2p2www/pages/site/about/hall-of-fame.html:272
#: i2p2www/pages/site/about/hall-of-fame.html:273
#: i2p2www/pages/site/about/hall-of-fame.html:274
#: i2p2www/pages/site/about/hall-of-fame.html:275
#: i2p2www/pages/site/about/hall-of-fame.html:276
#: i2p2www/pages/site/about/hall-of-fame.html:277
#: i2p2www/pages/site/about/hall-of-fame.html:278
#: i2p2www/pages/site/about/hall-of-fame.html:279
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:280
#: i2p2www/pages/site/about/hall-of-fame.html:281
#: i2p2www/pages/site/about/hall-of-fame.html:282
#: i2p2www/pages/site/about/hall-of-fame.html:283
#: i2p2www/pages/site/about/hall-of-fame.html:284
#: i2p2www/pages/site/about/hall-of-fame.html:285
#: i2p2www/pages/site/about/hall-of-fame.html:289
#: i2p2www/pages/site/about/hall-of-fame.html:290
#: i2p2www/pages/site/about/hall-of-fame.html:291
#: i2p2www/pages/site/about/hall-of-fame.html:292
#: i2p2www/pages/site/about/hall-of-fame.html:293
#: i2p2www/pages/site/about/hall-of-fame.html:294
#: i2p2www/pages/site/about/hall-of-fame.html:295
#: i2p2www/pages/site/about/hall-of-fame.html:297
#: i2p2www/pages/site/about/hall-of-fame.html:298
#: i2p2www/pages/site/about/hall-of-fame.html:299
#: i2p2www/pages/site/about/hall-of-fame.html:300
#: i2p2www/pages/site/about/hall-of-fame.html:301
#: i2p2www/pages/site/about/hall-of-fame.html:302
#: i2p2www/pages/site/about/hall-of-fame.html:303
#: i2p2www/pages/site/about/hall-of-fame.html:304
#: i2p2www/pages/site/about/hall-of-fame.html:305
#: i2p2www/pages/site/about/hall-of-fame.html:308
#: i2p2www/pages/site/about/hall-of-fame.html:309
#: i2p2www/pages/site/about/hall-of-fame.html:310
#: i2p2www/pages/site/about/hall-of-fame.html:311
#: i2p2www/pages/site/about/hall-of-fame.html:312
#: i2p2www/pages/site/about/hall-of-fame.html:314
#: i2p2www/pages/site/about/hall-of-fame.html:316
#: i2p2www/pages/site/about/hall-of-fame.html:317
#: i2p2www/pages/site/about/hall-of-fame.html:318
#: i2p2www/pages/site/about/hall-of-fame.html:319
#: i2p2www/pages/site/about/hall-of-fame.html:320
#: i2p2www/pages/site/about/hall-of-fame.html:321
#: i2p2www/pages/site/about/hall-of-fame.html:322
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:324
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:325
#: i2p2www/pages/site/about/hall-of-fame.html:326
#: i2p2www/pages/site/about/hall-of-fame.html:327
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:328
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:329
#: i2p2www/pages/site/about/hall-of-fame.html:330
#: i2p2www/pages/site/about/hall-of-fame.html:331
#: i2p2www/pages/site/about/hall-of-fame.html:332
#: i2p2www/pages/site/about/hall-of-fame.html:333
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:334
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:335
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:336
#: i2p2www/pages/site/about/hall-of-fame.html:337
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:339
#: i2p2www/pages/site/about/hall-of-fame.html:340
#: i2p2www/pages/site/about/hall-of-fame.html:341
#: i2p2www/pages/site/about/hall-of-fame.html:344
#: i2p2www/pages/site/about/hall-of-fame.html:345
#: i2p2www/pages/site/about/hall-of-fame.html:348
#: i2p2www/pages/site/about/hall-of-fame.html:349
#: i2p2www/pages/site/about/hall-of-fame.html:351
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:352
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:365
#: i2p2www/pages/site/about/hall-of-fame.html:366
#: i2p2www/pages/site/about/hall-of-fame.html:367
#: i2p2www/pages/site/about/hall-of-fame.html:368
#: i2p2www/pages/site/about/hall-of-fame.html:369
#: i2p2www/pages/site/about/hall-of-fame.html:370
#: i2p2www/pages/site/about/hall-of-fame.html:371
#: i2p2www/pages/site/about/hall-of-fame.html:372
#: i2p2www/pages/site/about/hall-of-fame.html:373
#: i2p2www/pages/site/about/hall-of-fame.html:374
#: i2p2www/pages/site/about/hall-of-fame.html:375
#: i2p2www/pages/site/about/hall-of-fame.html:376
#: i2p2www/pages/site/about/hall-of-fame.html:377
#: i2p2www/pages/site/about/hall-of-fame.html:378
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:379
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:380
#: i2p2www/pages/site/about/hall-of-fame.html:381
#: i2p2www/pages/site/about/hall-of-fame.html:382
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:383
#: i2p2www/pages/site/about/hall-of-fame.html:384
#: i2p2www/pages/site/about/hall-of-fame.html:385
#: i2p2www/pages/site/about/hall-of-fame.html:386
#: i2p2www/pages/site/about/hall-of-fame.html:387
#: i2p2www/pages/site/about/hall-of-fame.html:388
#: i2p2www/pages/site/about/hall-of-fame.html:389
#: i2p2www/pages/site/about/hall-of-fame.html:390
#: i2p2www/pages/site/about/hall-of-fame.html:391
#: i2p2www/pages/site/about/hall-of-fame.html:392
#: i2p2www/pages/site/about/hall-of-fame.html:393
#: i2p2www/pages/site/about/hall-of-fame.html:394
#: i2p2www/pages/site/about/hall-of-fame.html:395
#: i2p2www/pages/site/about/hall-of-fame.html:396
#: i2p2www/pages/site/about/hall-of-fame.html:397
#: i2p2www/pages/site/about/hall-of-fame.html:398
#: i2p2www/pages/site/about/hall-of-fame.html:399
#: i2p2www/pages/site/about/hall-of-fame.html:401
#: i2p2www/pages/site/about/hall-of-fame.html:402
#: i2p2www/pages/site/about/hall-of-fame.html:403
#: i2p2www/pages/site/about/hall-of-fame.html:404
#: i2p2www/pages/site/about/hall-of-fame.html:405
#: i2p2www/pages/site/about/hall-of-fame.html:406
#: i2p2www/pages/site/about/hall-of-fame.html:407
#: i2p2www/pages/site/about/hall-of-fame.html:408
#: i2p2www/pages/site/about/hall-of-fame.html:410
#: i2p2www/pages/site/about/hall-of-fame.html:411
#: i2p2www/pages/site/about/hall-of-fame.html:412
#: i2p2www/pages/site/about/hall-of-fame.html:414
#: i2p2www/pages/site/about/hall-of-fame.html:415
#: i2p2www/pages/site/about/hall-of-fame.html:416
#: i2p2www/pages/site/about/hall-of-fame.html:417
#: i2p2www/pages/site/about/hall-of-fame.html:418
#: i2p2www/pages/site/about/hall-of-fame.html:420
#: i2p2www/pages/site/about/hall-of-fame.html:423
#: i2p2www/pages/site/about/hall-of-fame.html:424
#: i2p2www/pages/site/about/hall-of-fame.html:425
#: i2p2www/pages/site/about/hall-of-fame.html:426
#: i2p2www/pages/site/about/hall-of-fame.html:427
#: i2p2www/pages/site/about/hall-of-fame.html:428
#: i2p2www/pages/site/about/hall-of-fame.html:429
#: i2p2www/pages/site/about/hall-of-fame.html:430
#: i2p2www/pages/site/about/hall-of-fame.html:431
#: i2p2www/pages/site/about/hall-of-fame.html:432
#: i2p2www/pages/site/about/hall-of-fame.html:433
#: i2p2www/pages/site/about/hall-of-fame.html:434
#: i2p2www/pages/site/about/hall-of-fame.html:435
#: i2p2www/pages/site/about/hall-of-fame.html:436
#: i2p2www/pages/site/about/hall-of-fame.html:438
#: i2p2www/pages/site/about/hall-of-fame.html:439
#: i2p2www/pages/site/about/hall-of-fame.html:440
#: i2p2www/pages/site/about/hall-of-fame.html:442
#: i2p2www/pages/site/about/hall-of-fame.html:445
#: i2p2www/pages/site/about/hall-of-fame.html:446
#: i2p2www/pages/site/about/hall-of-fame.html:447
#: i2p2www/pages/site/about/hall-of-fame.html:448
#: i2p2www/pages/site/about/hall-of-fame.html:449
#: i2p2www/pages/site/about/hall-of-fame.html:450
#: i2p2www/pages/site/about/hall-of-fame.html:451
#: i2p2www/pages/site/about/hall-of-fame.html:452
#: i2p2www/pages/site/about/hall-of-fame.html:453
#: i2p2www/pages/site/about/hall-of-fame.html:454
#: i2p2www/pages/site/about/hall-of-fame.html:455
#: i2p2www/pages/site/about/hall-of-fame.html:456
#: i2p2www/pages/site/about/hall-of-fame.html:457
#: i2p2www/pages/site/about/hall-of-fame.html:458
#: i2p2www/pages/site/about/hall-of-fame.html:459
#: i2p2www/pages/site/about/hall-of-fame.html:460
#: i2p2www/pages/site/about/hall-of-fame.html:461
#: i2p2www/pages/site/about/hall-of-fame.html:462
#: i2p2www/pages/site/about/hall-of-fame.html:463
#: i2p2www/pages/site/about/hall-of-fame.html:465
#: i2p2www/pages/site/about/hall-of-fame.html:466
#: i2p2www/pages/site/about/hall-of-fame.html:467
2013-06-05 10:00:16 +00:00
msgid "General fund"
msgstr ""
#: i2p2www/pages/site/about/hall-of-fame.html:10
#: i2p2www/pages/site/about/hall-of-fame.html:12
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:14
2013-06-05 10:00:16 +00:00
#, python-format
msgid "%(euroval)s &euro; and %(btcval)s BTC"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:11
msgid "Datastorage bounty"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:13
msgid "Native IPv6 I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:15
msgid "I2PHex bounty"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:16
#: i2p2www/pages/site/about/hall-of-fame.html:18
#: i2p2www/pages/site/about/hall-of-fame.html:22
#, python-format
2013-06-05 10:00:16 +00:00
msgid "%(euroval)s &euro;"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:17
msgid "I2P in debian mirrors"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:19
#: i2p2www/pages/site/get-involved/bounties/index.html:67
msgid "Bitcoin client for I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:20
#, python-format
msgid "%(btcval)s BTC"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:21
msgid "Unit Tests for I2P router"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:23
msgid "Bounty Robert"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:24
msgid "Bounty Syndie"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:25
msgid "Bounty I2P for CCR Microtic Board"
msgstr ""
#: i2p2www/pages/site/about/hall-of-fame.html:28
2013-06-05 10:00:16 +00:00
msgid "Current monthly running costs:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:39
2013-06-05 10:00:16 +00:00
msgid "Big thanks go to the following people who have donated to I2P!"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:40
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"If you have made a donation, please send an email to <a href=\"mailto:%(echelon)s\">echelon</a>\n"
2013-06-05 10:00:16 +00:00
"with your name or nick (and optionally homepage) so we can list you here."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:45
2013-06-05 10:00:16 +00:00
msgid "Current monthly subscriptions:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:51
msgid "2013 donations and costs:"
msgstr ""
#: i2p2www/pages/site/about/hall-of-fame.html:134
msgid "2012 donations and costs:"
msgstr ""
#: i2p2www/pages/site/about/hall-of-fame.html:262
2013-06-05 10:00:16 +00:00
msgid "2011 donations and costs:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/hall-of-fame.html:363
2013-06-05 10:00:16 +00:00
msgid "Previous to 2011 donations:"
msgstr ""
#: i2p2www/pages/site/about/intro.html:2
msgid "Intro"
msgstr ""
#: i2p2www/pages/site/about/intro.html:5
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is an anonymous network, exposing a simple layer that applications can \n"
"use to anonymously and securely send messages to each other. The network itself is \n"
2013-06-05 10:00:16 +00:00
"strictly message based (a la \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://en.wikipedia.org/wiki/Internet_Protocol\">IP</a>), but there is a \n"
"library available to allow reliable streaming communication on top of it (a la \n"
"<a href=\"http://en.wikipedia.org/wiki/Transmission_Control_Protocol\">TCP</a>). \n"
"All communication is end to end encrypted (in total there are four layers of \n"
"encryption used when sending a message), and even the end points (\"destinations\") \n"
"are cryptographic identifiers (essentially a pair of <a href=\"http://en.wikipedia.org/wiki/Public_key_encryption\">public keys</a>)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/intro.html:19
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"To anonymize the messages sent, each client application has their I2P \"router\"\n"
"build a few inbound and outbound \"<a href=\"%(tunnelrouting)s\">tunnels</a>\" - a \n"
"sequence of peers that pass messages in one direction (to and from the client, \n"
"respectively). In turn, when a client wants to send a message to another client, \n"
"the client passes that message out one of their outbound tunnels targeting one of the \n"
"other client's inbound tunnels, eventually reaching the destination. Every \n"
"participant in the network chooses the length of these tunnels, and in doing so, \n"
"makes a tradeoff between anonymity, latency, and throughput according to their \n"
"own needs. The result is that the number of peers relaying each end to end \n"
"message is the absolute minimum necessary to meet both the sender's and the \n"
2013-06-05 10:00:16 +00:00
"receiver's threat model."
msgstr ""
#: i2p2www/pages/site/about/intro.html:33
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The first time a client wants to contact another client, they make a query \n"
2013-06-05 10:00:16 +00:00
"against the fully distributed \"<a href=\"%(netdb)s\">network \n"
2013-07-03 01:01:50 +00:00
"database</a>\" - a custom structured <a href=\"http://en.wikipedia.org/wiki/Distributed_hash_table\">\n"
2013-06-05 10:00:16 +00:00
"distributed hash table (DHT)</a> based off the \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://en.wikipedia.org/wiki/Kademlia\"> Kademlia algorithm</a>. This is done \n"
"to find the other client's inbound tunnels efficiently, but subsequent messages \n"
"between them usually includes that data so no further network database lookups \n"
2013-06-05 10:00:16 +00:00
"are required."
msgstr ""
#: i2p2www/pages/site/about/intro.html:44
#, python-format
msgid "More details about how I2P works are <a href=\"%(docs)s\">available</a>."
msgstr ""
#: i2p2www/pages/site/about/intro.html:48
msgid "What can you do with it?"
msgstr ""
#: i2p2www/pages/site/about/intro.html:50
#, python-format
msgid ""
"Within the I2P network, applications are not restricted in how they can \n"
"communicate - those that typically use UDP can make use of the base I2P \n"
2013-07-03 01:01:50 +00:00
"functionality, and those that typically use TCP can use the TCP-like streaming\n"
2013-06-05 10:00:16 +00:00
"library. We have a generic TCP/I2P bridge application \n"
2013-07-03 01:01:50 +00:00
"(\"<a href=\"%(i2ptunnel)s\">I2PTunnel</a>\") that enables people to forward TCP streams\n"
"into the I2P network as well as to receive streams out of the network and \n"
2013-06-05 10:00:16 +00:00
"forward them towards a specific TCP/IP address."
msgstr ""
#: i2p2www/pages/site/about/intro.html:60
msgid ""
2013-07-03 01:01:50 +00:00
"I2PTunnel is currently used to let people run their own anonymous website \n"
"(\"eepsite\") by running a normal webserver and pointing an I2PTunnel 'server' \n"
"at it, which people can access anonymously over I2P with a normal web browser \n"
"by running an I2PTunnel HTTP proxy (\"eepproxy\"). In addition, we use the same \n"
"technique to run an anonymous IRC network (where the IRC server is hosted \n"
"anonymously, and standard IRC clients use an I2PTunnel to contact it). There \n"
"are other application development efforts going on as well, such as one to \n"
2013-06-05 10:00:16 +00:00
"build an optimized swarming file transfer application (a la \n"
"<a href=\"http://www.bittorrent.com/\">BitTorrent</a>), a \n"
2013-07-03 01:01:50 +00:00
"distributed data store (a la <a href=\"https://freenetproject.org/\">Freenet</a> / \n"
"<a href=\"http://mnetproject.org/\">MNet</a>), and a blogging system (a fully \n"
"distributed <a href=\"http://www.livejournal.com/\">LiveJournal</a>), but those are \n"
2013-06-05 10:00:16 +00:00
"not ready for use yet."
msgstr ""
#: i2p2www/pages/site/about/intro.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is not inherently an \"outproxy\" network - the client you send a message \n"
"to is the cryptographic identifier, not some IP address, so the message must \n"
"be addressed to someone running I2P. However, it is possible for that client\n"
"to be an outproxy, allowing you to anonymously make use of their Internet \n"
"connection. To demonstrate this, the \"eepproxy\" will accept normal non-I2P \n"
"URLs (e.g. \"http://www.i2p.net\") and forward them to a specific destination\n"
"that runs a <a href=\"http://www.squid-cache.org/\">squid</a> HTTP proxy, allowing \n"
"simple anonymous browsing of the normal web. Simple outproxies like that are \n"
"not viable in the long run for several reasons (including the cost of running \n"
"one as well as the anonymity and security issues they introduce), but in \n"
2013-06-05 10:00:16 +00:00
"certain circumstances the technique could be appropriate."
msgstr ""
#: i2p2www/pages/site/about/intro.html:90
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P development <a href=\"%(team)s\">team</a> is an open group, welcome to all \n"
"who are interested in <a href=\"%(volunteer)s\">getting involved</a>, and all of \n"
"the code is <a href=\"%(licenses)s\">open source</a>. The core I2P SDK and the \n"
"current router implementation is done in Java (currently working with both \n"
2013-06-05 10:00:16 +00:00
"sun and kaffe, gcj support planned for later), and there is a \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(sam)s\">simple socket based API</a> for accessing the network from \n"
"other languages (with a C library available, and both Python and Perl in \n"
"development). The network is actively being developed and has not yet reached \n"
"the 1.0 release, but the current <a href=\"%(roadmap)s\">roadmap</a> describes \n"
2013-06-05 10:00:16 +00:00
"our schedule."
msgstr ""
#: i2p2www/pages/site/about/media.html:2 i2p2www/pages/site/about/media.html:4
msgid "Presentations on I2P"
msgstr ""
#: i2p2www/pages/site/about/media.html:5
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Following are links to presentations, videos, and tutorials about I2P. Links"
" to research papers on I2P are available <a href=\"%(papers)s\">here</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/media.html:8
#: i2p2www/pages/site/research/papers.html:8
#, python-format
msgid "To request an addition to this page, please send to %(email)s."
msgstr ""
#: i2p2www/pages/site/about/media.html:11
msgid ""
"\n"
"Newest links are at the bottom of each section."
msgstr ""
#: i2p2www/pages/site/about/media.html:16
msgid "Presentations"
msgstr ""
#: i2p2www/pages/site/about/media.html:19
#, python-format
msgid ""
"IIP Presentation at CodeCon\n"
"<a href=\"%(mp3)s\">MP3 audio</a>\n"
"<a href=\"%(transcript)s\">transcript</a>\n"
"Lance James (0x90), February 2002."
msgstr ""
#: i2p2www/pages/site/about/media.html:27
#, python-format
msgid ""
"IIP Presentation at ToorCon\n"
"<a href=\"%(mp3)s\">MP3 audio</a>\n"
"<a href=\"%(slides)s\">slides</a>\n"
"Lance James (0x90), September 2002."
msgstr ""
#: i2p2www/pages/site/about/media.html:35
#, python-format
msgid ""
"<a href=\"%(video)s\">To Be or I2P</a>\n"
"(Youtube Video)\n"
"An introduction into anonymous communication with I2P.\n"
"<a href=\"%(pdf)s\">To Be or I2P (PDF presentation)</a>,\n"
"Jens Kubieziel, 24C3 Berlin, December 28, 2007."
msgstr ""
#: i2p2www/pages/site/about/media.html:44
#, python-format
msgid ""
"<a href=\"%(video)s\">Video of I2P talk at Chemnitz Linux Tag</a>,\n"
"Lars Schimmer,\n"
"March 14-15, 2009"
msgstr ""
#: i2p2www/pages/site/about/media.html:50
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"HOPE New York July 17, 2010 - Brief overview of I2P by zzz, at the end of Adrian Hong's talk\n"
2013-06-05 10:00:16 +00:00
"\"Hackers for Human Rights\".\n"
"<a href=\"%(mp3)s\">MP3 audio</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:56
#, python-format
msgid ""
"<a href=\"%(link)s\">Into the I2P Darknet: Welcome to Cipherspace</a>\n"
"Adrian Crenshaw. Schmoocon Firetalk, January 2011"
msgstr ""
#: i2p2www/pages/site/about/media.html:61
#, python-format
msgid ""
"<a href=\"%(link)s\">Using techhnology to advance liberty</a>\n"
"(Youtube Video)\n"
"Eric Johnson.\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://agora.io/etienne\">Agora I/O Unconference</a>, March 27, 2011.\n"
2013-06-05 10:00:16 +00:00
"I2P covered from 10:00 to 20:00 in the video."
msgstr ""
#: i2p2www/pages/site/about/media.html:69
#, python-format
msgid ""
"<a href=\"%(pdf)s\">The Bright side of darknets</a>, FOSSCOMM Patras May "
"2011"
msgstr ""
#: i2p2www/pages/site/about/media.html:73
#, python-format
msgid ""
"<a href=\"%(link)s\">Common Darknet Weaknesses</a>\n"
"(Youtube Video)\n"
2013-07-03 01:01:50 +00:00
"Adrian Crenshaw, <a href=\"http://aide.marshall.edu/\">AIDE</a>, July 11-15, 2011."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/media.html:79
#, python-format
msgid ""
"<a href=\"%(link)s\">I2P / Tor Workshop Notes</a>\n"
"Adrian Crenshaw. DEF CON 19, Las Vegas, August 6, 2011."
msgstr ""
#: i2p2www/pages/site/about/media.html:84
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(live)s\">Cipherspaces/Darknets: An Overview Of Attack Strategies -\n"
2013-06-05 10:00:16 +00:00
"DEF CON Live version (Youtube Video)</a>,\n"
"<a href=\"%(studio)s\">\"Studio\" version (Youtube Video)</a>,\n"
"<a href=\"%(slides)s\">Slides (ppt)</a>\n"
"Adrian Crenshaw. DEF CON 19, Las Vegas, August 7, 2011."
msgstr ""
#: i2p2www/pages/site/about/media.html:94
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"http://0x375.org/\">Modern cipherspace ecosystems</a>, 0x375 0x06 "
"4/11/2011"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/media.html:100
msgid "Tutorials"
msgstr ""
#: i2p2www/pages/site/about/media.html:103
#, python-format
msgid ""
"<a href=\"%(link)s\">I2P Windows Tutorial</a>\n"
"(Youtube Video)\n"
"This guide will show you how to install I2P in Windows XP.\n"
"By <a href=\"http://telecomix.org/\">Telecomix</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:111
#, python-format
msgid ""
"<a href=\"%(link)s\">I2P Debian Tutorial</a>\n"
"(Youtube Video)\n"
"This will guide you through how to install I2P on a Debian Linux System.\n"
"By <a href=\"http://telecomix.org/\">Telecomix</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:119
#, python-format
msgid ""
"<a href=\"%(link)s\">How to set up anonymous site in I2P</a>\n"
"(Youtube Video)\n"
"How to set up an anonymous web site in I2P.\n"
"By <a href=\"http://telecomix.org/\">Telecomix</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:126
#, python-format
msgid ""
"<a href=\"%(link)s\">I2P Tutorial Mac OS X</a>\n"
"(Youtube Video)\n"
2013-07-03 01:01:50 +00:00
"A tutorial on how to run i2p on Mac OS X and how to connect to irc.telecomix.i2p.\n"
2013-06-05 10:00:16 +00:00
"By <a href=\"http://telecomix.org/\">Telecomix</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:133
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(link)s\">Felix Atari explains the basic principles of I2P</a>\n"
2013-06-05 10:00:16 +00:00
"(Youtube Video)\n"
"Agent Felix Atari of the Telecomix Crypto Munitions Bureau.\n"
"By <a href=\"http://telecomix.org/\">Telecomix</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:140
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(link)s\">How to get onto I2P, the anonymous P2P Darknet (Windows Install)</a>\n"
2013-06-05 10:00:16 +00:00
"(Youtube Video)\n"
2013-07-03 01:01:50 +00:00
"This tutorial shows how to install and configure software needed to access I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/media.html:146
#, python-format
msgid ""
"<a href=\"%(link)s\">How to connect to I2P</a>\n"
"(Youtube Video)\n"
"How to install I2P on Ubuntu."
msgstr ""
#: i2p2www/pages/site/about/media.html:152
#, python-format
msgid ""
"<a href=\"%(link)s\">Installing the I2P darknet software in Linux</a>\n"
"(Video)\n"
"Adrian Crenshaw.\n"
"January 2011"
msgstr ""
#: i2p2www/pages/site/about/media.html:159
#, python-format
msgid ""
"<a href=\"%(link)s\">Short garlic routing animation</a>\n"
"(Youtube Video)\n"
"Adrian Crenshaw.\n"
msgstr ""
#: i2p2www/pages/site/about/media.html:167
msgid "Articles and Interviews"
msgstr ""
#: i2p2www/pages/site/about/media.html:170
#, python-format
msgid ""
"0x90 Interviewed by DistributedCity\n"
"<a href=\"%(link1)s\">Part 1</a>\n"
"<a href=\"%(link2)s\">Part 2</a>\n"
"July 26, 2002."
msgstr ""
#: i2p2www/pages/site/about/media.html:178
#, python-format
msgid ""
"0x90 Interviewed by El Pais\n"
"(original in Spanish)\n"
"<a href=\"%(link)s\">English translation</a>\n"
"October 31, 2002."
msgstr ""
#: i2p2www/pages/site/about/media.html:185
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(link)s\">2003 Business Week article referencing invisiblenet</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/media.html:189
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(link)s\">Netzwelt.de article about being anonymous in the Internet</a>\n"
2013-06-05 10:00:16 +00:00
"(German)\n"
"November 2007."
msgstr ""
#: i2p2www/pages/site/about/media.html:195
#, python-format
msgid ""
"<a href=\"%(link)s\">zzz interviewed by gulli.com</a>\n"
"March 2009\n"
"<a href=\"%(german)s\">German translation</a>\n"
"<a href=\"%(russian)s\">Russian translation</a>"
msgstr ""
#: i2p2www/pages/site/about/media.html:204
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(mp3)s\">zzz interviewed on the InfoSec Daily Podcast Ep. 454 (mp3)</a>\n"
2013-06-05 10:00:16 +00:00
"August 18, 2011"
msgstr ""
#: i2p2www/pages/site/about/media.html:209
#, python-format
msgid ""
"<a href=\"%(link)s\">I2P - Anonymity for the Masses</a>,\n"
"Jonathan Cox,\n"
"November 11, 2011."
msgstr ""
#: i2p2www/pages/site/about/media.html:215
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(mp3)s\">zzz and Lance James interviewed on the InfoSec Daily Podcast Ep. 596 (mp3)</a>\n"
2013-06-05 10:00:16 +00:00
"February 16, 2012"
msgstr ""
#: i2p2www/pages/site/about/team.html:4
msgid "I2P Project Members"
msgstr ""
#: i2p2www/pages/site/about/team.html:5
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"We are a small group of people spread around several continents, working to\n"
"advance different aspects of the project and discussing the design of the\n"
2013-06-05 10:00:16 +00:00
"network.\n"
"<a href=\"%(volunteer)s\">Get involved!</a>"
msgstr ""
#: i2p2www/pages/site/about/team.html:14
msgid "Admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:15
msgid "Project Manager"
msgstr ""
#: i2p2www/pages/site/about/team.html:17
msgid "point of contact of last resort"
msgstr ""
#: i2p2www/pages/site/about/team.html:20
msgid "Treasurer"
msgstr ""
#: i2p2www/pages/site/about/team.html:22
msgid "manage donations / accounts / bounties"
msgstr ""
#: i2p2www/pages/site/about/team.html:25
msgid "PR manager"
msgstr ""
#: i2p2www/pages/site/about/team.html:27
msgid "press contact, manages public relations and affairs"
msgstr ""
#: i2p2www/pages/site/about/team.html:30
#, python-format
msgid "<a href=\"http://%(forum)s/\">Forum</a> admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:32
msgid "manage the public user forum"
msgstr ""
#: i2p2www/pages/site/about/team.html:35
msgid "Mirrors admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:37
msgid "manage the project mirrors"
msgstr ""
#: i2p2www/pages/site/about/team.html:40
#, python-format
msgid "<a href=\"%(monotone)s\">Monotone</a> guru"
msgstr ""
#: i2p2www/pages/site/about/team.html:42
msgid "manage the public monotone repositories"
msgstr ""
#: i2p2www/pages/site/about/team.html:45
msgid "Packager; Linux"
msgstr ""
#: i2p2www/pages/site/about/team.html:47
msgid "Linux (Debian/Ubuntu) distribution packager"
msgstr ""
#: i2p2www/pages/site/about/team.html:50
msgid "Packager; Windows"
msgstr ""
#: i2p2www/pages/site/about/team.html:52
msgid "Windows installer packager"
msgstr ""
#: i2p2www/pages/site/about/team.html:55
msgid "Release Manager"
msgstr ""
#: i2p2www/pages/site/about/team.html:57
msgid "Builds and signs the releases"
msgstr ""
#: i2p2www/pages/site/about/team.html:60
msgid "Update admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:62
msgid "Monitors and recruits in-network update hosts"
msgstr ""
#: i2p2www/pages/site/about/team.html:65
msgid "Reseed admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:67
msgid "Monitors, advises and recruits reseed hosts"
msgstr ""
#: i2p2www/pages/site/about/team.html:70
msgid "Security expert"
msgstr ""
#: i2p2www/pages/site/about/team.html:71 i2p2www/pages/site/about/team.html:76
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/about/team.html:81
#: i2p2www/pages/site/about/team.html:101
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/about/team.html:138
#: i2p2www/pages/site/about/team.html:148
#: i2p2www/pages/site/about/team.html:153
#: i2p2www/pages/site/about/team.html:158
#: i2p2www/pages/site/about/team.html:163
#: i2p2www/pages/site/about/team.html:168
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:206
#: i2p2www/pages/site/about/team.html:228
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:35
#: i2p2www/pages/site/get-involved/bounties/index.html:42
#: i2p2www/pages/site/get-involved/bounties/index.html:49
#: i2p2www/pages/site/get-involved/bounties/index.html:56
#: i2p2www/pages/site/get-involved/bounties/index.html:63
#: i2p2www/pages/site/get-involved/bounties/index.html:84
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:104
2013-06-05 10:00:16 +00:00
msgid "vacant"
msgstr ""
#: i2p2www/pages/site/about/team.html:72
msgid "threat model / crypto expert"
msgstr ""
#: i2p2www/pages/site/about/team.html:75
msgid "User Advocate"
msgstr ""
#: i2p2www/pages/site/about/team.html:77
msgid "gather, prioritize, advocate for user needs"
msgstr ""
#: i2p2www/pages/site/about/team.html:80
msgid "Web Designer"
msgstr ""
#: i2p2www/pages/site/about/team.html:82
msgid "manage the public project website content design"
msgstr ""
#: i2p2www/pages/site/about/team.html:85
#, python-format
msgid "<a href=\"http://%(website)s/\">Webserver</a> admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:87
msgid "manage the public project webservers"
msgstr ""
#: i2p2www/pages/site/about/team.html:90
#, python-format
msgid "<a href=\"http://%(website)s/\">Website</a> admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:92
msgid "manage the public project website content"
msgstr ""
#: i2p2www/pages/site/about/team.html:95
msgid "News Admin"
msgstr ""
#: i2p2www/pages/site/about/team.html:97
msgid "manage router console news feed"
msgstr ""
#: i2p2www/pages/site/about/team.html:100
msgid "Director of passion"
msgstr ""
#: i2p2www/pages/site/about/team.html:102
msgid "community motivator"
msgstr ""
#: i2p2www/pages/site/about/team.html:106
#: i2p2www/pages/site/get-involved/bounties/index.html:30
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:99
2013-06-05 10:00:16 +00:00
msgid "Dev"
msgstr ""
#: i2p2www/pages/site/about/team.html:107
msgid "Core Lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:109
msgid "lead dev for the SDK and router"
msgstr ""
#: i2p2www/pages/site/about/team.html:112
#, python-format
msgid "<a href=\"http://%(postman)s/\">I2P mail</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:114
msgid "organize and develop the i2p mail system"
msgstr ""
#: i2p2www/pages/site/about/team.html:117
#, python-format
msgid "<a href=\"http://%(i2host)s/\">I2Host</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:119
msgid "I2Host addressbook application"
msgstr ""
#: i2p2www/pages/site/about/team.html:122
#, python-format
msgid "<a href=\"http://%(bob)s/\">BOB</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:124
msgid "Basic Open Bridge"
msgstr ""
#: i2p2www/pages/site/about/team.html:127
#, python-format
msgid "<a href=\"http://%(bote)s/\">I2P-Bote</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:129
msgid "I2PBote plugin"
msgstr ""
#: i2p2www/pages/site/about/team.html:132
#, python-format
msgid "<a href=\"http://%(bob)s/\">Robert</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:134
msgid "Robert BitTorrent client"
msgstr ""
#: i2p2www/pages/site/about/team.html:137
#, python-format
msgid "<a href=\"http://%(forum)s/viewforum?f=25\">I2Phex</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:139
msgid "I2Phex Gnutella client"
msgstr ""
#: i2p2www/pages/site/about/team.html:142
#, python-format
msgid "<a href=\"http://%(forum)s/viewforum?f=21\">I2PSnark</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:144
msgid "Maintains the integrated Bittorrent client"
msgstr ""
#: i2p2www/pages/site/about/team.html:147
#, python-format
msgid "<a href=\"http://%(forum)s/viewforum?f=30\">iMule</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:149
msgid "eMule client over I2P"
msgstr ""
#: i2p2www/pages/site/about/team.html:152
#, python-format
msgid "<a href=\"http://%(forum)s/viewforum?f=29\">Syndie</a> lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:154
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:2
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:3
msgid "Syndie development"
msgstr ""
#: i2p2www/pages/site/about/team.html:157
msgid "Susimail lead"
msgstr ""
#: i2p2www/pages/site/about/team.html:159
msgid "Susimail development"
msgstr ""
#: i2p2www/pages/site/about/team.html:162
msgid "Console"
msgstr ""
#: i2p2www/pages/site/about/team.html:164
msgid "Router console HTML/CSS design"
msgstr ""
#: i2p2www/pages/site/about/team.html:167
msgid "SAM"
msgstr ""
#: i2p2www/pages/site/about/team.html:169
msgid "SAM maintainer"
msgstr ""
#: i2p2www/pages/site/about/team.html:172
2013-06-11 12:45:56 +00:00
msgid "I2PCPP lead"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/team.html:174
2013-06-11 12:45:56 +00:00
msgid "C++ Router"
msgstr ""
#: i2p2www/pages/site/about/team.html:177
msgid "Console Translations"
msgstr ""
#: i2p2www/pages/site/about/team.html:179
2013-06-05 10:00:16 +00:00
msgid "Chinese"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:183
2013-06-05 10:00:16 +00:00
msgid "Dutch"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:187
2013-06-05 10:00:16 +00:00
msgid "French"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:191
2013-06-05 10:00:16 +00:00
msgid "German"
2013-07-03 01:01:50 +00:00
msgstr "Deutsch"
2013-06-05 10:00:16 +00:00
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:195
2013-06-05 10:00:16 +00:00
msgid "Russian"
2013-07-03 01:01:50 +00:00
msgstr "Russisch"
2013-06-05 10:00:16 +00:00
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:199
2013-06-05 10:00:16 +00:00
msgid "Spanish"
2013-07-03 01:01:50 +00:00
msgstr "Spanisch"
2013-06-05 10:00:16 +00:00
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:203
2013-06-05 10:00:16 +00:00
msgid "Arabic"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:207
2013-06-05 10:00:16 +00:00
msgid "Other languages"
2013-07-03 01:01:50 +00:00
msgstr "Andere Sprachen"
2013-06-05 10:00:16 +00:00
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:210
2013-06-05 10:00:16 +00:00
msgid "Contributors"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:212
2013-06-05 10:00:16 +00:00
msgid "fire2pe dev, console enhancements"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:216
2013-06-05 10:00:16 +00:00
msgid "desktopgui, dijjer port"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:220
2013-06-05 10:00:16 +00:00
msgid "Debian/Ubuntu Packager and PPA maintainer"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:224
msgid "Routerconsole backend and UI work, website revamp, unit tests work"
msgstr ""
#: i2p2www/pages/site/about/team.html:229
2013-06-05 10:00:16 +00:00
msgid "Help needed on many fronts!"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:233
2013-06-05 10:00:16 +00:00
msgid "Past contributors"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:235
2013-06-05 10:00:16 +00:00
msgid "I2PTunnel development, ministreaming library"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:239
2013-06-05 10:00:16 +00:00
msgid "Project lead, Syndie lead"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:243
2013-06-05 10:00:16 +00:00
msgid "Project lead, Syndie lead, I2Phex, support guru"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:247
2013-06-05 10:00:16 +00:00
msgid "iMule lead"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:251
#: i2p2www/pages/site/about/team.html:255
#: i2p2www/pages/site/about/team.html:259
2013-06-05 10:00:16 +00:00
msgid "I2Phex work"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:263
2013-06-05 10:00:16 +00:00
msgid "Python SAM library, attack simulations"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:267
2013-06-05 10:00:16 +00:00
msgid "i2pmail development"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:271
2013-06-05 10:00:16 +00:00
msgid "Syndie help"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:275
2013-06-05 10:00:16 +00:00
msgid "i2p mail,susimail and susidns apps"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:279
2013-06-05 10:00:16 +00:00
msgid "I2Phex (port of Phex to I2P)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:283
2013-06-05 10:00:16 +00:00
msgid "addressbook,i2p-bt,syndie client"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:287
2013-06-05 10:00:16 +00:00
msgid "organize and develop the i2p-bt BitTorrent port"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:291
2013-06-05 10:00:16 +00:00
msgid "addressbook, i2p-bt, syndie client development"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:295
2013-06-05 10:00:16 +00:00
msgid "encryption and signature routines, I2PIM"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:299
2013-06-05 10:00:16 +00:00
msgid "SAM jython code, work on stasher (DHT) and v2v (VoI2P)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:303
2013-06-05 10:00:16 +00:00
msgid "installer, systray, bogobot"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:307
2013-06-05 10:00:16 +00:00
msgid "jbigi development, wiki migration, doc cleanup"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:311
2013-07-03 01:01:50 +00:00
msgid ""
"java debugging and client development on I2PTunnel and the router console"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:315
2013-06-05 10:00:16 +00:00
msgid "SAM perl module"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:319
2013-06-05 10:00:16 +00:00
msgid "i2psnark work"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:323
2013-06-05 10:00:16 +00:00
msgid "java cleanup"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:327
2013-06-05 10:00:16 +00:00
msgid "docs. wiki migration"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:331
2013-06-05 10:00:16 +00:00
msgid "translations into French"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:335
2013-06-05 10:00:16 +00:00
msgid "C port of jcpuid"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:339
2013-06-05 10:00:16 +00:00
msgid "C# SAM library, pants, fortuna integration"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:343
2013-06-05 10:00:16 +00:00
msgid "libSAM"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:347
#: i2p2www/pages/site/about/team.html:351
2013-06-05 10:00:16 +00:00
msgid "i2p-bt tracker development"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:355
2013-06-05 10:00:16 +00:00
msgid "Console and website themes"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/about/team.html:358
2013-06-05 10:00:16 +00:00
msgid "&hellip; and many others"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:2
msgid "Future Performance Improvements"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:4
#: i2p2www/pages/site/docs/api/bob.html:3
#: i2p2www/pages/site/docs/api/datagrams.html:3
#: i2p2www/pages/site/docs/how/garlic-routing.html:3
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:3
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/protocol/index.html:3
#: i2p2www/pages/site/docs/transport/ntcp.html:3
msgid "August 2010"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"There are a few major techniques that can be done to improve the perceived\n"
"performance of I2P - some of the following are CPU related, others bandwidth\n"
2013-06-05 10:00:16 +00:00
"related, and others still are protocol related. However, all of those\n"
2013-07-03 01:01:50 +00:00
"dimensions affect the latency, throughput, and perceived performance of the\n"
"network, as they reduce contention for scarce resources. This list is of course\n"
2013-06-05 10:00:16 +00:00
"not comprehensive, but it does cover the major ones that are seen."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:15
#: i2p2www/pages/site/about/performance/index.html:106
#, python-format
msgid ""
"For past performance improvements see the <a href=\"%(history)s\">\n"
"Performance History</a>."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:20
msgid "Better peer profiling and selection"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:21
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Probably one of the most important parts of getting faster performance will\n"
"be improving how routers choose the peers that they build their tunnels through\n"
"- making sure they don't use peers with slow links or ones with fast links that\n"
"are overloaded, etc. In addition, we've got to make sure we don't expose\n"
2013-06-05 10:00:16 +00:00
"ourselves to a <a href=\"%(sybilpdf)s\">Sybil</a> attack\n"
"from a powerful adversary with lots of fast machines."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:30
msgid "Network database tuning"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:31
msgid ""
2013-07-03 01:01:50 +00:00
"We're going to want to be more efficient with the network database's healing\n"
"and maintenance algorithms - rather than constantly explore the keyspace for new\n"
"peers - causing a significant number of network messages and router load - we\n"
"can slow down or even stop exploring until we detect that there's something new\n"
"worth finding (e.g. decay the exploration rate based upon the last time someone\n"
"gave us a reference to someone we had never heard of). We can also do some\n"
"tuning on what we actually send - how many peers we bounce back (or even if we\n"
2013-06-05 10:00:16 +00:00
"bounce back a reply), as well as how many concurrent searches we perform."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:42
msgid "Session Tag Tuning and Improvements"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:43
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The way the <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> algorithm\n"
"works is by managing a set of random one-time-use 32 byte arrays, and expiring\n"
"them if they aren't used quickly enough. If we expire them too soon, we're\n"
"forced to fall back on a full (expensive) ElGamal encryption, but if we don't\n"
"expire them quickly enough, we've got to reduce their quantity so that we don't\n"
"run out of memory (and if the recipient somehow gets corrupted and loses some\n"
"tags, even more encryption failures may occur prior to detection). With some\n"
"more active detection and feedback driven algorithms, we can safely and more\n"
"efficiently tune the lifetime of the tags, replacing the ElGamal encryption with\n"
2013-06-05 10:00:16 +00:00
"a trivial AES operation."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:55
#, python-format
msgid ""
"Additional ideas for improving Session Tag delivery are described on the\n"
"<a href=\"%(elgamalaes)s#future\">ElGamal/AES+SessionTag page</a>."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:61
msgid "Migrate sessionTag to synchronized PRNG"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:62
#, python-format
msgid ""
"Right now, our <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> \n"
"algorithm works by tagging each encrypted message with a unique random \n"
2013-07-03 01:01:50 +00:00
"32 byte nonce (a \"session tag\"), identifying that message as being encrypted \n"
"with the associated AES session's key. This prevents peers from distinguishing \n"
"messages that are part of the same session, since each message has a completely \n"
2013-06-05 10:00:16 +00:00
"new random tag. To accomplish this, every few messages bundle a whole \n"
2013-07-03 01:01:50 +00:00
"new set of session tags within the encrypted message itself, transparently \n"
"delivering a way to identify future messages. We then have to keep track \n"
2013-06-05 10:00:16 +00:00
"of what messages are successfully delivered so that we know what tags \n"
"we may use."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:74
msgid ""
2013-07-03 01:01:50 +00:00
"This works fine and is fairly robust, however it is inefficient in terms \n"
2013-06-05 10:00:16 +00:00
"of bandwidth usage, as it requires the delivery of these tags ahead of \n"
"time (and not all tags may be necessary, or some may be wasted, due to \n"
2013-07-03 01:01:50 +00:00
"their expiration). On average though, predelivering the session tag costs \n"
"32 bytes per message (the size of a tag). As Taral suggested though, that \n"
"size can be avoided by replacing the delivery of the tags with a synchronized \n"
2013-06-05 10:00:16 +00:00
"PRNG - when a new session is established (through an ElGamal encrypted \n"
"block), both sides seed a PRNG for use and generate the session tags on \n"
"demand (with the recipient precalculating the next few possible values \n"
"to handle out of order delivery)."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:87
msgid "Longer lasting tunnels"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:88
msgid ""
2013-07-03 01:01:50 +00:00
"The current default tunnel duration of 10 minutes is fairly arbitrary, though\n"
"it \"feels okay\". Once we've got tunnel healing code and more effective failure\n"
"detection, we'll be able to more safely vary those durations, reducing the\n"
2013-06-05 10:00:16 +00:00
"network and CPU load (due to expensive tunnel creation messages)."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:95
msgid ""
2013-07-03 01:01:50 +00:00
"This appears to be an easy fix for high load on the big-bandwidth routers, but\n"
"we should not resort to it until we've tuned the tunnel building algorithms further.\n"
"However, the 10 minute tunnel lifetime is hardcoded in quite a few places,\n"
2013-06-05 10:00:16 +00:00
"so substantial effort would be required to change the duration.\n"
2013-07-03 01:01:50 +00:00
"Also, it would be difficult to maintain backward compatibility with such a change."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:102
msgid ""
2013-07-03 01:01:50 +00:00
"Currently, since the network average tunnel build success rate is fairly high,\n"
2013-06-05 10:00:16 +00:00
"there are no current plans to extend tunnel lifetime."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:108
msgid "Adjust the timeouts"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:109
msgid ""
2013-07-03 01:01:50 +00:00
"Yet another of the fairly arbitrary but \"okay feeling\" things we've got are the\n"
"current timeouts for various activities. Why do we have a 60 second \"peer\n"
"unreachable\" timeout? Why do we try sending through a different tunnel that a\n"
"LeaseSet advertises after 10 seconds? Why are the network database queries\n"
"bounded by 60 or 20 second limits? Why are destinations configured to ask for a\n"
"new set of tunnels every 10 minutes? Why do we allow 60 seconds for a peer to\n"
"reply to our request that they join a tunnel? Why do we consider a tunnel that\n"
2013-06-05 10:00:16 +00:00
"doesn't pass our test within 60 seconds \"dead\"?"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:119
msgid ""
2013-07-03 01:01:50 +00:00
"Each of those imponderables can be addressed with more adaptive code, as well\n"
2013-06-05 10:00:16 +00:00
"as tunable parameters to allow for more appropriate tradeoffs between\n"
"bandwidth, latency, and CPU usage."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:125
msgid "Full streaming protocol improvements"
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:128
msgid ""
"Perhaps re-enable the interactive stream profile (the \n"
"current implementation only uses the bulk stream profile)."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:134
msgid ""
2013-07-03 01:01:50 +00:00
"Client level bandwidth limiting (in either or both directions on a stream, \n"
"or possibly shared across multiple streams). This would be in addition to \n"
2013-06-05 10:00:16 +00:00
"the router's overall bandwidth limiting, of course."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:141
msgid ""
2013-07-03 01:01:50 +00:00
"Access control lists (only allowing streams to or from certain other known \n"
2013-06-05 10:00:16 +00:00
"destinations)."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:147
msgid ""
"Web controls and monitoring the health of the various streams, as well \n"
"as the ability to explicitly close or throttle them."
msgstr ""
#: i2p2www/pages/site/about/performance/future.html:153
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Additional ideas for improving the streaming library are described on the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(streaming)s#future\">streaming library page</a>."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:2
msgid "Performance History"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:4
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Notable performance improvements have been made using the techniques below.\n"
"There is more to do, see the <a href=\"%(performance)s\">Performance</a> page\n"
2013-06-05 10:00:16 +00:00
"for current issues and thoughts."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:10
msgid "Native math"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:11
#: i2p2www/pages/site/about/performance/history.html:67
#: i2p2www/pages/site/about/performance/history.html:82
#: i2p2www/pages/site/about/performance/history.html:105
#: i2p2www/pages/site/about/performance/history.html:133
msgid "implemented"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:12
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"When I last profiled the I2P code, the vast majority of time was spent within\n"
2013-06-05 10:00:16 +00:00
"one function: java.math.BigInteger's\n"
"<a href=\"%(modpow)s\">modPow</a>.\n"
"Rather than try to tune this method, we'll call out to\n"
"<a href=\"%(gmp)s\">GNU MP</a> - an insanely fast math library\n"
"(with tuned assembler for many architectures). (<i>Editor: see\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(jbigi)s\">NativeBigInteger for faster public key cryptography</a></i>)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:23
#, python-format
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"ugha and duck are working on the C/JNI glue code, and the existing java code\n"
"is already deployed with hooks for that whenever its ready. Preliminary results\n"
"look fantastic - running the router with the native GMP modPow is providing over\n"
"a 800% speedup in encryption performance, and the load was cut in half. This\n"
"was just on one user's machine, and things are nowhere near ready for packaging\n"
2013-06-05 10:00:16 +00:00
"and deployment, yet."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:32
msgid "Garlic wrapping a \"reply\" LeaseSet"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:33
msgid "implemented but needs tuning"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:34
msgid ""
2013-07-03 01:01:50 +00:00
"This algorithm tweak will only be relevant for applications that want their\n"
"peers to reply to them (though that includes everything that uses I2PTunnel or\n"
2013-06-05 10:00:16 +00:00
"mihi's ministreaming lib):"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:39
msgid ""
2013-07-03 01:01:50 +00:00
"Previously, when Alice sent Bob a message, when Bob replied he had to do a\n"
"lookup in the network database - sending out a few requests to get Alice's\n"
"current LeaseSet. If he already has Alice's current LeaseSet, he can instead\n"
"just send his reply immediately - this is (part of) why it typically takes a\n"
"little longer talking to someone the first time you connect, but subsequent\n"
2013-06-05 10:00:16 +00:00
"communication is faster. Currently - for all clients - we wrap\n"
2013-07-03 01:01:50 +00:00
"the sender's current LeaseSet in the garlic that is delivered to the recipient,\n"
"so that when they go to reply, they'll <i>always</i> have the LeaseSet locally\n"
"stored - completely removing any need for a network database lookup on replies.\n"
"This trades off a large portion of the sender's bandwidth for that faster reply.\n"
2013-06-05 10:00:16 +00:00
"If we didn't do this very often,\n"
2013-07-03 01:01:50 +00:00
"overall network bandwidth usage would decrease, since the recipient doesn't\n"
2013-06-05 10:00:16 +00:00
"have to do the network database lookup."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:54
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"For unpublished LeaseSets such as \"shared clients\", this is the only way to\n"
2013-06-05 10:00:16 +00:00
"get the LeaseSet to Bob. Unfortunately this bundling every time adds\n"
"almost 100% overhead to a high-bandwidth connection, and much more to\n"
"a connection with smaller messages."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:60
msgid ""
"Changes scheduled for release 0.6.2 will bundle the LeaseSet only when\n"
2013-07-03 01:01:50 +00:00
"necessary, at the beginning of a connection or when the LeaseSet changes.\n"
2013-06-05 10:00:16 +00:00
"This will substantially reduce the total overhead of I2P messaging."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:66
msgid "More efficient TCP rejection"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:68
msgid ""
"At the moment, all TCP connections do all of their peer validation after\n"
2013-07-03 01:01:50 +00:00
"going through the full (expensive) Diffie-Hellman handshaking to negotiate a\n"
"private session key. This means that if someone's clock is really wrong, or\n"
"their NAT/firewall/etc is improperly configured (or they're just running an\n"
"incompatible version of the router), they're going to consistently (though not\n"
"constantly, thanks to the shitlist) cause a futile expensive cryptographic\n"
"operation on all the peers they know about. While we will want to keep some\n"
"verification/validation within the encryption boundary, we'll want to update the\n"
2013-06-05 10:00:16 +00:00
"protocol to do some of it first, so that we can reject them cleanly\n"
"without wasting much CPU or other resources."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:81
msgid "Adjust the tunnel testing"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:83
msgid ""
2013-07-03 01:01:50 +00:00
"Rather than going with the fairly random scheme we have now, we should use a\n"
"more context aware algorithm for testing tunnels. e.g. if we already know its\n"
"passing valid data correctly, there's no need to test it, while if we haven't\n"
"seen any data through it recently, perhaps its worthwhile to throw some data its\n"
"way. This will reduce the tunnel contention due to excess messages, as well as\n"
2013-06-05 10:00:16 +00:00
"improve the speed at which we detect - and address - failing tunnels."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:92
msgid "Persistent Tunnel / Lease Selection"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:93
msgid ""
2013-07-03 01:01:50 +00:00
"Outbound tunnel selection implemented in 0.6.1.30, inbound lease selection \n"
2013-06-05 10:00:16 +00:00
"implemented in release 0.6.2."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:97
msgid ""
2013-07-03 01:01:50 +00:00
"Selecting tunnels and leases at random for every message creates a large \n"
"incidence of out-of-order delivery, which prevents the streaming lib from \n"
2013-06-05 10:00:16 +00:00
"increasing its window size as much as it could. By persisting with the \n"
"same selections for a given connection, the transfer rate is much faster."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:104
msgid "Compress some data structures"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:106
msgid ""
2013-07-03 01:01:50 +00:00
"The I2NP messages and the data they contain is already defined in a fairly\n"
"compact structure, though one attribute of the RouterInfo structure is not -\n"
"\"options\" is a plain ASCII name = value mapping. Right now, we're filling it\n"
"with those published statistics - around 3300 bytes per peer. Trivial to\n"
"implement GZip compression would nearly cut that to 1/3 its size, and when you\n"
"consider how often RouterInfo structures are passed across the network, that's\n"
"significant savings - every time a router asks another router for a networkDb\n"
2013-06-05 10:00:16 +00:00
"entry that the peer doesn't have, it sends back 3-10 RouterInfo of them."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:117
msgid "Update the ministreaming protocol"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:118
msgid "replaced by full streaming protocol"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:119
msgid ""
2013-07-03 01:01:50 +00:00
"Currently mihi's ministreaming library has a fairly simple stream negotiation\n"
"protocol - Alice sends Bob a SYN message, Bob replies with an ACK message, then\n"
"Alice and Bob send each other some data, until one of them sends the other a\n"
"CLOSE message. For long lasting connections (to an IRC server, for instance),\n"
"that overhead is negligible, but for simple one-off request/response situations\n"
"(an HTTP request/reply, for instance), that's more than twice as many messages as\n"
"necessary. If, however, Alice piggybacked her first payload in with the SYN\n"
"message, and Bob piggybacked his first reply with the ACK - and perhaps also\n"
"included the CLOSE flag - transient streams such as HTTP requests could be\n"
"reduced to a pair of messages, instead of the SYN+ACK+request+response+CLOSE."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:132
msgid "Implement full streaming protocol"
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:134
msgid ""
2013-07-03 01:01:50 +00:00
"The ministreaming protocol takes advantage of a poor design decision in the\n"
"I2P client protocol (I2CP) - the exposure of \"mode=GUARANTEED\", allowing what\n"
"would otherwise be an unreliable, best-effort, message based protocol to be used\n"
"for reliable, blocking operation (under the covers, its still all unreliable and\n"
"message based, with the router providing delivery guarantees by garlic wrapping\n"
"an \"ACK\" message in with the payload, so once the data gets to the target, the\n"
2013-06-05 10:00:16 +00:00
"ACK message is forwarded back to us [through tunnels, of course])."
msgstr ""
#: i2p2www/pages/site/about/performance/history.html:143
#, python-format
msgid ""
"As I've <a href=\"%(link)s\">said</a>, having\n"
2013-07-03 01:01:50 +00:00
"I2PTunnel (and the ministreaming lib) go this route was the best thing that\n"
"could be done, but more efficient mechanisms are available. When we rip out the\n"
"\"mode=GUARANTEED\" functionality, we're essentially leaving ourselves with an\n"
"I2CP that looks like an anonymous IP layer, and as such, we'll be able to\n"
"implement the streaming library to take advantage of the design experiences of\n"
2013-06-05 10:00:16 +00:00
"the TCP layer - selective ACKs, congestion detection, nagle, etc."
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:5
msgid ""
"How does I2P work, why is it slow, and why does it not use my full "
"bandwidth?"
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"Probably one of the most frequent things people ask is \"how fast is I2P?\",\n"
"and no one seems to like the answer - \"it depends\". After trying out I2P, the\n"
"next thing they ask is \"will it get faster?\", and the answer to that is a most\n"
2013-06-05 10:00:16 +00:00
"emphatic <b>yes</b>."
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:14
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is a full dynamic network. Each client is known to other nodes and tests local known nodes for reachability and capacity.\n"
"Only reachable and capable nodes are saved to a local NetDB (This is generally only a portion of the network, around 500-1000).\n"
"When I2P builds tunnels, it selects the best resource from this pool. For example, a small subset of 20-50 nodes are only available to build tunnels with.\n"
"Because testing happens every minute, the pool of used nodes changes every minute.\n"
"Each I2P node knows a different part of the net, meaning that each router has a different set of I2P nodes to be used for tunnels.\n"
"Even if two routers have the same subset of known nodes, the tests for reachability and capacity will likely show different results, as the other routers could be under load just as one router tests, but be free if the second router tests."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:23
msgid ""
2013-07-03 01:01:50 +00:00
"The above describes why each I2P node has different nodes to build tunnels.\n"
"Because every I2P node has a different latency and bandwith, tunnels (which are built via those nodes) have different latency and bandwidth values.\n"
"And because every I2P node has different tunnels built, no two I2P nodes have the same tunnel sets."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:29
msgid ""
2013-07-03 01:01:50 +00:00
"A server/client is known as a \"destination\" and each destination has at least one inbound and one outbound tunnel. The default is 3 hops per tunnel.\n"
"This adds up to 12 hops (aka 12 different I2P nodes) for a full roundtrip client-server-client."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:34
msgid ""
"Each data package is sent through 6 other I2P nodes until it reaches the "
"server:"
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:40
msgid "and on way back 6 different I2P nodes:"
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:47
msgid ""
2013-07-03 01:01:50 +00:00
"As most traffic on I2P (www, torrent,...) needs ack packages until new data is sent, it needs to wait until a ack package returns from the server.\n"
2013-06-05 10:00:16 +00:00
"In the end: send data, wait for ack, send more data, wait for ack,..\n"
2013-07-03 01:01:50 +00:00
"As the RTT (RoundTripTime) adds up from the latency of each individual I2P node and each connection on this roundtrip, it takes usually 1-3 seconds until a ack package comes back to the client.\n"
"With some internals of TCP and I2P transport, a data package has a limited size and cannot be as large as we want it to be.\n"
"Together these conditions set a limit of max bandwidth per tunnel of 20-50 kbyte/sec.\n"
"But if ONLY ONE hop in the tunnel has only 5 kb/sec bandwidth to spend, the whole tunnel is limited to 5 kb/sec, independent of the \n"
2013-06-05 10:00:16 +00:00
"latency and other limitations."
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:57
msgid ""
2013-07-03 01:01:50 +00:00
"Due to encryption used and other setups in I2P (howto built up tunnels, latency, ...) it is quite expensive in CPU time to build a tunnel. This is \n"
"why a destination is only allowed to have a max of 6 IN and 6 OUT tunnels to transport data. With a max of 50 kb/sec per tunnel, a destination could \n"
"use roughly 300 kb/sec traffic combined ( in reality it could be more if shorter tunnels are used with low or no anonymity available).\n"
2013-06-05 10:00:16 +00:00
"Used tunnels are discarded every 10 minutes and new ones are built up.\n"
2013-07-03 01:01:50 +00:00
"This change of tunnels (and sometimes clients that shutdown hard due to usage of \"shut down at once\" or situations where there is power loss) does \n"
"sometimes break tunnels and connections, as seen on the IRC2P Network in loss of connection (ping timeout) or on when using eepget."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:66
msgid ""
2013-07-03 01:01:50 +00:00
"With a limited set of destinations and a limited set of tunnels per destination, one I2P node only uses a limited set of tunnels across other I2P nodes.\n"
"For example, if an I2P node is \"hop1\" in the small example above, we only see 1 participating tunnel originating from the client.\n"
"If we sum up the whole I2P network, only a rather limited number of participating tunnels could be built with a limited amount of bandwidth all together.\n"
"If one distributes these limited numbers across the number of I2P nodes, there is only a fraction of available bandwidth/capacity available for use."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:73
msgid ""
2013-07-03 01:01:50 +00:00
"To remain anonymous one router should not be used by the whole network for building tunnels.\n"
"If one router does act as a tunnel router for ALL I2P nodes, it becomes a very real central point of failure as well as a central point to grab IPs and data from the clients. This is not good.\n"
"I2P attempts to spread the load across a lot of I2P nodes because of this reason."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:79
msgid ""
2013-07-03 01:01:50 +00:00
"Another point is the full mesh network. Each connection hop-hop utilizes one TCP or UDP connection on the I2P nodes. With 1000 connections, one sees \n"
"1000 TCP connections. That is quite a lot and some home and small office routers (DSL, cable,..) only allow a small number of connections (or just go mad if you use more than X connections).\n"
"I2P tries to limit these connections to be under 1500 per UDP and per TCP type.\n"
2013-06-05 10:00:16 +00:00
"This limits the amount of traffic routed across your I2P node as well."
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:86
msgid ""
2013-07-03 01:01:50 +00:00
"In summary, I2P is very complex and there is no easy way to pinpoint why your node is not used.\n"
"If your node is reachable and has a bandwidth setting of >128 kbyte/sec shared and is reachable 24/7, it should be used after some time for participating traffic.\n"
"If it is down in between, the testing of your I2P node done by other nodes will tell them: you are not reachable. This blocks your node for at least \n"
"24h on other nodes. So, the other nodes which tested you as down will not use your node for 24h for building tunnels. This is why your traffic will \n"
2013-06-05 10:00:16 +00:00
"be lower after a restart/shutdown for a minimum of 24h."
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:94
msgid ""
2013-07-03 01:01:50 +00:00
"Also: other I2P nodes needs to know your I2P router to test it for reachability and capacity. It takes time for other nodes to get known to your node. \n"
"It will be faster if you use I2P and build more tunnels, e.g. use a torrent or www for some time."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:99
msgid "Performance Improvements"
msgstr ""
#: i2p2www/pages/site/about/performance/index.html:101
#, python-format
msgid ""
"For possible future performance improvements see\n"
"<a href=\"%(future)s\">Future Performance Improvements</a>."
msgstr ""
#: i2p2www/pages/site/comparison/freenet.html:2
msgid "I2P Compared to Freenet"
msgstr ""
#: i2p2www/pages/site/comparison/freenet.html:8
msgid ""
2013-07-03 01:01:50 +00:00
"Freenet is a fully distributed, peer to peer anonymous publishing network, offering \n"
"secure ways to store data, as well as some approaches attempting to address the loads\n"
"of a flash flood. While Freenet is designed as a distributed data store, people have\n"
"built applications on top of it to do more generic anonymous communication, such as \n"
2013-06-05 10:00:16 +00:00
"static websites and message boards."
msgstr ""
#: i2p2www/pages/site/comparison/freenet.html:16
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Compared to I2P, Freenet offers some substantial benefits - it is a distributed data\n"
"store, while I2P is not, allowing people to retrieve the content published by others \n"
"even when the publisher is no longer online. In addition, it should be able to \n"
"distribute popular data fairly efficiently. I2P itself does not and will not provide \n"
"this functionality. On the other hand, there is overlap for users who simply want to \n"
"communicate with each other anonymously through websites, message boards, file sharing\n"
"programs, etc. There have also been some attempts to develop a distributed data \n"
2013-06-05 10:00:16 +00:00
"store to run on top of I2P,\n"
"(most recently a port of <a href=\"%(tahoe)s\">Tahoe-LAFS</a>)\n"
"but nothing is yet ready for general use."
msgstr ""
#: i2p2www/pages/site/comparison/freenet.html:29
msgid ""
2013-07-03 01:01:50 +00:00
"However, even ignoring any implementations issues, there are some concerns \n"
"about Freenet's algorithms from both a scalability and anonymity perspective, owing \n"
"largely to Freenet's heuristic driven routing. The interactions of various techniques \n"
"certainly may successfully deter various attacks, and perhaps some aspects of the \n"
"routing algorithms will provide the hoped for scalability. Unfortunately, not much\n"
"analysis of the algorithms involved has resulted in positive results, but there is still\n"
"hope. At the very least, Freenet does provide substantial anonymity against an attacker\n"
2013-06-05 10:00:16 +00:00
"who does not have the resources necessary to analyze it further."
msgstr ""
#: i2p2www/pages/site/comparison/index.html:2
msgid "Comparing I2P to other projects"
msgstr ""
#: i2p2www/pages/site/comparison/index.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"There are a great many other applications and projects working on anonymous \n"
"communication and I2P has been inspired by much of their efforts. This is not \n"
2013-06-05 10:00:16 +00:00
"a comprehensive list of anonymity resources - both freehaven's \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://freehaven.net/anonbib/topic.html\">Anonymity Bibliography</a>\n"
"and GNUnet's <a href=\"https://www.gnunet.org/links/\">related projects</a>\n"
2013-06-05 10:00:16 +00:00
"serve that purpose well. That said, a few systems stand out for further\n"
"comparison. The following have individual comparison pages:"
msgstr ""
#: i2p2www/pages/site/comparison/index.html:20
#, python-format
msgid ""
"The following are discussed on the <a href=\"%(othernetworks)s\">other "
"networks page:</a>"
msgstr ""
#: i2p2www/pages/site/comparison/index.html:32
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The content of this page is subject to update, discussion and dispute, and we welcome comments and additions.\n"
"You may contribute an analysis by entering a <a href=\"http://%(trac)s/report/1\">new ticket on Trac</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:2
msgid "I2P Compared to Other Anonymous Networks"
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:5
msgid "The following networks are discussed on this page."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:16
#, python-format
msgid ""
"Most of the following sections are fairly old, and may not be accurate.\n"
"For an overview of available comparisons, see the\n"
"<a href=\"%(comparison)s\">main network comparisons page</a>.\n"
"You may contribute an analysis by entering a\n"
"<a href=\"http://%(trac)s/report/1\">new ticket on %(trac)s</a>."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:29
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Morphmix and Tarzan are both fully distributed, peer to peer networks of \n"
"anonymizing proxies, allowing people to tunnel out through the low latency \n"
"mix network. Morphmix includes some very interesting collusion detection \n"
"algorithms and Sybil defenses, while Tarzan makes use of the scarcity of IP\n"
2013-06-05 10:00:16 +00:00
"addresses to accomplish the same. The two primary differences between \n"
2013-07-03 01:01:50 +00:00
"these systems and I2P are related to I2P's <a href=\"%(threatmodel)s\">threat model</a> \n"
"and their out-proxy design (as opposed to providing both sender and receiver \n"
"anonymity). There is source code available to both systems, but we are not aware \n"
2013-06-05 10:00:16 +00:00
"of their use outside of academic environments."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:153
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"Mixminion and Mixmaster are networks to support anonymous email against a very\n"
2013-06-05 10:00:16 +00:00
"powerful adversary.\n"
"High-latency messaging applications running on top of I2P\n"
"(for example\n"
"<a href=\"http://syndie.i2p2.de/\">Syndie</a> or\n"
"I2PBote)\n"
"may perhaps prove adequate to meet the threat\n"
2013-07-03 01:01:50 +00:00
"model of those adversaries, while running in parallel along side the needs of low latency users, to provide\n"
2013-06-05 10:00:16 +00:00
"a significantly larger anonymity set.\n"
2013-07-03 01:01:50 +00:00
"High-latency support within the I2P router itself may or may not be added in a distant future release.\n"
"It is too early to say if I2P will meet the needs of users requiring extreme protection for email."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:167
msgid ""
"As with Tor and Onion Routing, \n"
"both Mixminion and Mixmaster take the directory based approach as well."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:177
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"JAP (Java Anonymous Proxy) is a network of mix cascades for anonymizing web requests,\n"
"and as such it has a few centralized nodes (participants in the cascade) that blend\n"
"and mix requests from clients through the sequence of nodes (the cascade) before \n"
"proxying out onto the web. The scope, threat model, and security is substantially \n"
"different from I2P, but for those who don't require significant anonymity but still\n"
"are not satisfied with an Anonymizer-like service, JAP is worth reviewing. One\n"
"caution to note is that anyone under the jurisdiction of the German courts may want\n"
"to take care, as the German Federal Bureau of Criminal Investigation (FBCI) has \n"
2013-06-05 10:00:16 +00:00
"successfully mounted an \n"
"<a href=\"%(url)s\">attack</a> \n"
2013-07-03 01:01:50 +00:00
"on the network. Even though the method of this attack was later found to be illegal \n"
"in the German courts, the fact that the data was successfully collected is the \n"
"concern. Courts change their minds based upon circumstance, and this is evidence that \n"
"if a government body or intelligence agency wanted to, they could gather the data, even \n"
2013-06-05 10:00:16 +00:00
"if it may be found inadmissible in some courts later)"
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:199
#, python-format
msgid ""
"Both of these systems work through the same basic \n"
"<a href=\"%(antnet)s\">antnet</a> routing, providing some degree of\n"
2013-07-03 01:01:50 +00:00
"anonymity based on the threat model of providing plausible deniability against a simple \n"
"non-colluding adversary. With the antnet routing, they first either do a random walk or a \n"
"broadcast search to find some peer with the data or identity desired, and then use a feedback\n"
"algorithm to optimize that found path. This works well for applications that merely want to know \n"
"what other people around them have to offer - \"How are y'all doing\" vs. \"Hey Alice, how are you\" - \n"
"you basically get a local cluster of nodes that can share files with and maintain some degree of \n"
"anonymity (though you don't have much control over who is in that group of peers)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:211
msgid ""
2013-07-03 01:01:50 +00:00
"However, the algorithm does not scale well at all - if the application wants to speak with a \n"
"particular peer it ends up doing a broadcast search or random walk (though if they are lucky enough\n"
"for that to succeed, the antnet routing should optimize that found connection). This means that \n"
"while these networks can work great at small scales, they are not suitable for large networks where\n"
"someone wants to get in touch with another specific peer. That does not mean that there is no \n"
"value in these systems, just that their applicability is limited to situations where their \n"
2013-06-05 10:00:16 +00:00
"particular issues can be addressed."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:222
#, python-format
msgid ""
"This was a closed-source network targeted at Iranian users.\n"
"Tor did a\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://blog.torproject.org/blog/ten-things-look-circumvention-tool\">good writeup on what to look for in a circumvention tool</a>.\n"
"Suffice it to say that being closed source and publicly targeting a specific country are not good ideas.\n"
2013-06-05 10:00:16 +00:00
"I2P is, of course, open source. However, that source, and our\n"
"<a href=\"%(docs)s\">technical documentation</a>, need much more review."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:231
msgid "Paid VPN Services"
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:232
#: i2p2www/pages/site/comparison/other-networks.html:238
#, python-format
msgid ""
"You may contribute an analysis by entering a\n"
"<a href=\"http://%(trac)s/report/1\">new ticket on %(trac)s</a>."
msgstr ""
#: i2p2www/pages/site/comparison/other-networks.html:237
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:14
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:169
msgid "Others"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:2
msgid "I2P Compared to Tor"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:8
#, python-format
msgid ""
"Tor and Onion Routing are both anonymizing proxy networks, \n"
"allowing people to tunnel out through their low latency mix \n"
"network. The two primary differences between Tor / \n"
"Onion-Routing and I2P are again related to differences in \n"
"the threat model and the out-proxy design (though Tor\n"
"supports hidden services as well). In addition, Tor\n"
"takes the directory-based approach - providing a \n"
"centralized point to manage the overall 'view' of the \n"
"network, as well as gather and report statistics, as \n"
"opposed to I2P's distributed <a href=\"%(netdb)s\">network \n"
"database</a> and <a href=\"%(peerselection)s\">peer selection</a>."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:22
msgid ""
"The I2P/Tor outproxy functionality does have a few \n"
"substantial weaknesses against certain attackers - \n"
"once the communication leaves the mixnet, global passive\n"
"adversaries can more easily mount traffic analysis. In \n"
"addition, the outproxies have access to the cleartext \n"
"of the data transferred in both directions, and \n"
"outproxies are prone to abuse, along with all of the \n"
"other security issues we've come to know and love with \n"
"normal Internet traffic."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:34
msgid ""
"However, many people don't need to worry about those \n"
"situations, as they are outside their threat model. It\n"
"is, also, outside I2P's (formal) functional scope (if people want\n"
"to build outproxy functionality on top of an anonymous\n"
"communication layer, they can). In fact, some I2P users\n"
"currently take advantage of Tor to outproxy."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:48
msgid "Comparison of Tor and I2P Terminology"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:49
msgid ""
"While Tor and I2P are similar in many ways, much of the terminology is "
"different."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:54
msgid "Cell"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:54
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:96
2013-06-05 10:00:16 +00:00
msgid "Message"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:55
msgid "Client"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:55
msgid "Router or Client"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:56
msgid "Circuit"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:56
msgid "Tunnel"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:57
msgid "Directory"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:57
msgid "NetDb"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:58
msgid "Directory Server"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:58
msgid "Floodfill Router"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:59
msgid "Entry Guards"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:59
msgid "Fast Peers"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:60
msgid "Entry Node"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:60
msgid "Inproxy"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:61
msgid "Exit Node"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:61
msgid "Outproxy"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:62
msgid "Hidden Service"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:62
msgid "Eepsite or Destination"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:63
msgid "Hidden Service Descriptor"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:63
msgid "LeaseSet"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:64
msgid "Introduction point"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:64
#: i2p2www/pages/site/docs/how/tunnel-routing.html:30
#: i2p2www/pages/site/docs/tunnels/implementation.html:140
msgid "Inbound Gateway"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:65
msgid "Node"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:65
#: i2p2www/pages/site/comparison/tor.html:67
#: i2p2www/pages/site/comparison/tor.html:70
#: i2p2www/pages/site/docs/spec/configuration.html:70
msgid "Router"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:66
msgid "Onion Proxy"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:66
msgid "I2PTunnel Client (more or less)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:67
msgid "Relay"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:68
msgid "Rendezvous Point"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:68
msgid "somewhat like Inbound Gateway + Outbound Endpoint"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:69
msgid "Router Descriptor"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:69
msgid "RouterInfo"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:70
msgid "Server"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:73
msgid "Benefits of Tor over I2P"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"Much bigger user base; much more visibility in the academic and hacker communities; benefits from\n"
2013-06-05 10:00:16 +00:00
"formal studies of anonymity, resistance, and performance;\n"
"has a non-anonymous, visible, university-based leader"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:82
msgid "Has already solved some scaling issues I2P has yet to address"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:83
msgid "Has significant funding"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:84
msgid "Has more developers, including several that are funded"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:86
msgid ""
2013-07-03 01:01:50 +00:00
"More resistant to state-level blocking due to TLS transport layer and bridges\n"
"(I2P has proposals for \"full restricted routes\" but these are not yet implemented)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:91
msgid "Big enough that it has had to adapt to blocking and DOS attempts"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:92
2013-07-03 01:01:50 +00:00
msgid ""
"Designed and optimized for exit traffic, with a large number of exit nodes"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:94
msgid ""
"Better documentation, has formal papers and specifications,\n"
"better website, many more translations"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:99
msgid "More efficient with memory usage"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:100
msgid "Tor client nodes have very low bandwidth overhead"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:102
msgid ""
"Centralized control reduces the complexity at each\n"
"node and can efficiently address Sybil attacks"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:108
msgid ""
"A core of high capacity nodes provides higher\n"
"throughput and lower latency"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:113
msgid "C, not Java (ewww)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:116
msgid "Benefits of I2P over Tor"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:118
msgid ""
2013-07-03 01:01:50 +00:00
"Designed and optimized for hidden services, which are much faster than in "
"Tor"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:119
msgid "Fully distributed and self organizing"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:121
msgid ""
"Peers are selected by continuously profiling and ranking performance,\n"
"rather than trusting claimed capacity"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:127
msgid ""
"Floodfill peers (\"directory servers\") are varying and untrusted,\n"
"rather than hardcoded"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:132
msgid "Small enough that it hasn't been blocked or DOSed much, or at all"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:133
msgid "Peer-to-peer friendly"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:134
msgid "Packet switched instead of circuit switched"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:137
msgid ""
"implicit transparent load balancing of messages \n"
"across multiple peers, rather than a single path"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:143
msgid ""
"resilience vs. failures by running multiple \n"
"tunnels in parallel, plus rotating tunnels"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:149
msgid ""
"scale each client's connections at O(1) instead \n"
"of O(N) (Alice has e.g. 2 inbound tunnels that are \n"
"used by all of the peers Alice is talking with, \n"
"rather than a circuit for each)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:159
msgid ""
"Unidirectional tunnels instead of bidirectional\n"
"circuits, doubling the number of nodes a peer has to\n"
"compromise to get the same information."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:166
msgid ""
"Protection against detecting client activity, even\n"
"when an attacker is participating in the tunnel, as\n"
"tunnels are used for more than simply passing end \n"
"to end messages (e.g. netDb, tunnel management, \n"
"tunnel testing)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:175
msgid ""
"Tunnels in I2P are short lived, decreasing the number\n"
"of samples that an attacker can use to mount an \n"
"active attack with, unlike circuits in Tor, which are\n"
"typically long lived."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:183
msgid ""
"I2P APIs are designed specifically for anonymity and\n"
"security, while SOCKS is designed for functionality."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:188
msgid "Essentially all peers participate in routing for others"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:190
msgid ""
"The bandwidth overhead of being a full peer is low, \n"
"while in Tor, while client nodes don't require much\n"
"bandwidth, they don't fully participate in the mixnet."
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:196
msgid "Integrated automatic update mechanism"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:197
msgid "Both TCP and UDP transports"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:198
msgid "Java, not C (ewww)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:201
msgid "Other potential benefits of I2P but not yet implemented"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:202
msgid "...and may never be implemented, so don't count on them!"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:205
msgid ""
"Defense vs. message count analysis by garlic wrapping \n"
"multiple messages"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:211
msgid ""
"Defense vs. long term intersection by adding delays \n"
"at various hops (where the delays are not discernible\n"
"by other hops)"
msgstr ""
#: i2p2www/pages/site/comparison/tor.html:218
msgid ""
"Various mixing strategies at the tunnel level (e.g.\n"
"create a tunnel that will handle 500 messages / minute,\n"
"where the endpoint will inject dummy messages if there\n"
"are insufficient messages, etc)"
msgstr ""
#: i2p2www/pages/site/docs/index.html:2 i2p2www/pages/site/docs/index.html:25
msgid "Index to Technical Documentation"
msgstr ""
#: i2p2www/pages/site/docs/index.html:3 i2p2www/pages/site/docs/ports.html:3
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:3
#: i2p2www/pages/site/docs/spec/geoip.html:3
#: i2p2www/pages/site/docs/spec/updates.html:3
#: i2p2www/pages/site/docs/transport/ssu.html:3
#: i2p2www/pages/site/get-involved/develop/applications.html:3
msgid "May 2013"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/index.html:6
msgid "How does I2P work"
msgstr ""
#: i2p2www/pages/site/docs/index.html:8
msgid "Following is an index to the technical documentation for I2P."
msgstr ""
#: i2p2www/pages/site/docs/index.html:12
msgid ""
"This index is ordered from the highest to lowest layers.\n"
"The higher layers are for \"clients\" or applications;\n"
"the lower layers are inside the router itself.\n"
2013-07-03 01:01:50 +00:00
"The interface between applications and the router is the I2CP (I2P Control Protocol) API."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/index.html:19
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P Project is committed to maintaining accurate, current documentation.\n"
2013-06-05 10:00:16 +00:00
"If you find any inaccuracies in the documents linked below, please\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://%(trac)s/report/1\">enter a ticket identifying the problem</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/index.html:27 i2p2www/pages/site/docs/naming.html:7
#: i2p2www/pages/site/docs/api/i2ptunnel.html:12
#: i2p2www/pages/site/docs/api/streaming.html:6
#: i2p2www/pages/site/docs/how/elgamal-aes.html:6
#: i2p2www/pages/site/docs/how/network-database.html:6
#: i2p2www/pages/site/docs/how/peer-selection.html:6
#: i2p2www/pages/site/docs/how/tech-intro.html:13
#: i2p2www/pages/site/docs/how/tech-intro.html:97
#: i2p2www/pages/site/docs/spec/blockfile.html:7
#: i2p2www/pages/site/docs/spec/configuration.html:6
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/geoip.html:7
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:6
#: i2p2www/pages/site/docs/tunnels/implementation.html:67
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:6
#: i2p2www/pages/site/misc/jbigi.html:6
msgid "Overview"
msgstr ""
#: i2p2www/pages/site/docs/index.html:29
msgid "Technical Introduction"
msgstr ""
#: i2p2www/pages/site/docs/index.html:30
msgid "A Less-Technical Introduction"
msgstr ""
#: i2p2www/pages/site/docs/index.html:31
msgid "Threat model and analysis"
msgstr ""
#: i2p2www/pages/site/docs/index.html:32
msgid "Comparisons to other anonymous networks"
msgstr ""
#: i2p2www/pages/site/docs/index.html:33
msgid "Protocol stack chart"
msgstr ""
#: i2p2www/pages/site/docs/index.html:34
#: i2p2www/pages/site/research/papers.html:2
#: i2p2www/pages/site/research/papers.html:4
msgid "Papers on I2P"
msgstr ""
#: i2p2www/pages/site/docs/index.html:35
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(pdf)s\">Invisible Internet Project (I2P) Project Overview</a> "
"August 28, 2003 (pdf)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/index.html:38
msgid "Application-Layer Topics"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:41 i2p2www/pages/site/docs/naming.html:2
2013-06-05 10:00:16 +00:00
msgid "Naming and Addressbook"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:42
2013-06-05 10:00:16 +00:00
msgid "Plugins Overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:43
2013-06-05 10:00:16 +00:00
msgid "Plugin Specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:44
2013-06-05 10:00:16 +00:00
msgid "Router software updates"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:45
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/applications/bittorrent.html:2
msgid "Bittorrent over I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:46
2013-06-05 10:00:16 +00:00
msgid "I2PControl Plugin API"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:47
2013-06-05 10:00:16 +00:00
msgid "hostsdb.blockfile Format"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/index.html:48
#: i2p2www/pages/site/docs/index.html:185
2013-06-05 10:00:16 +00:00
msgid "Configuration File Format"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:51
2013-06-05 10:00:16 +00:00
msgid "Application Layer API and Protocols"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:52
2013-06-05 10:00:16 +00:00
msgid ""
"High-level, easy-to-use APIs for applications written in any language to "
"send and receive data."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:54
2013-06-05 10:00:16 +00:00
msgid "Application Development Overview and Guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:72
2013-06-05 10:00:16 +00:00
msgid "SAM Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:74
2013-06-05 10:00:16 +00:00
msgid "SAMv2 Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:76
2013-06-05 10:00:16 +00:00
msgid "SAMv3 Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:78
2013-06-05 10:00:16 +00:00
msgid "BOB Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:81
2013-06-05 10:00:16 +00:00
msgid "End-to-End Transport API and Protocols"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:82
2013-06-05 10:00:16 +00:00
msgid ""
"The end-to-end protocols used by clients for reliable and unreliable "
"communication."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:84
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/streaming.html:2
msgid "Streaming Library"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:86
2013-06-05 10:00:16 +00:00
msgid "Streaming Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:90
2013-06-05 10:00:16 +00:00
msgid "Datagram Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:93
2013-06-05 10:00:16 +00:00
msgid "Client-to-Router Interface API and Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:94
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The lowest-level API used for clients (applications) to send and receive traffic to a router.\n"
2013-06-05 10:00:16 +00:00
"Traditionally used only by Java applications and higher-level APIs."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:99
2013-06-05 10:00:16 +00:00
msgid "I2CP - I2P Control Protocol / API overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:101
2013-06-05 10:00:16 +00:00
msgid "I2CP Specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:103
2013-06-05 10:00:16 +00:00
msgid "I2CP API Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:105
#: i2p2www/pages/site/docs/index.html:134
2013-06-05 10:00:16 +00:00
msgid "Common data structures specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:107
#: i2p2www/pages/site/docs/index.html:136
2013-06-05 10:00:16 +00:00
msgid "Data Structures Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:110
2013-06-05 10:00:16 +00:00
msgid "End-to-End Encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:111
2013-06-05 10:00:16 +00:00
msgid "How client messages are end-to-end encrypted by the router."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:113
2013-06-05 10:00:16 +00:00
msgid "ElGamal/AES+SessionTag encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:114
#: i2p2www/pages/site/docs/index.html:147
2013-06-05 10:00:16 +00:00
msgid "ElGamal and AES cryptography details"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:117
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/tech-intro.html:15
#: i2p2www/pages/site/docs/how/tech-intro.html:329
msgid "Network Database"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:118
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Distributed storage and retrieval of information about routers and clients."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:120
2013-06-05 10:00:16 +00:00
msgid "Network database overview, details, and threat analysis"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:121
2013-06-05 10:00:16 +00:00
msgid "Cryptographic hashes"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:122
2013-06-05 10:00:16 +00:00
msgid "Cryptographic signatures"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:125
2013-06-05 10:00:16 +00:00
msgid "Router Message Protocol"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:126
2013-06-05 10:00:16 +00:00
msgid ""
"I2P is a message-oriented router. The messages sent between routers are "
"defined by the I2NP protocol."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:128
2013-06-05 10:00:16 +00:00
msgid "I2NP - I2P Network Protocol Overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:130
2013-06-05 10:00:16 +00:00
msgid "I2NP Specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:132
2013-06-05 10:00:16 +00:00
msgid "I2NP Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:140
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Selecting peers, requesting tunnels through those peers, and encrypting and "
"routing messages through these tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:142
2013-06-05 10:00:16 +00:00
msgid "Peer profiling and selection"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:143
2013-06-05 10:00:16 +00:00
msgid "Tunnel routing overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:144
2013-06-05 10:00:16 +00:00
msgid "Garlic routing and \"garlic\" terminology"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:145
2013-06-05 10:00:16 +00:00
msgid "Tunnel building and encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:146
2013-06-05 10:00:16 +00:00
msgid "ElGamal/AES"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:146
2013-06-05 10:00:16 +00:00
msgid "for build request encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:148
2013-06-05 10:00:16 +00:00
msgid "Tunnel building specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:149
2013-06-05 10:00:16 +00:00
msgid "Low-level tunnel message specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:150
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:2
msgid "Unidirectional Tunnels"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:151
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/peer-selection.html:299
msgid "Peer Profiling and Selection in the I2P Anonymous Network"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:152
2013-06-05 10:00:16 +00:00
msgid "2009 paper (pdf), not current but still generally accurate"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:155
2013-06-05 10:00:16 +00:00
msgid "Transport Layer"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:156
2013-07-03 01:01:50 +00:00
msgid ""
"The protocols for direct (point-to-point) router to router communication."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:160
2013-06-05 10:00:16 +00:00
msgid "TCP-based transport overview and specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:162
2013-06-05 10:00:16 +00:00
msgid "UDP-based transport overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:164
2013-06-05 10:00:16 +00:00
msgid "SSU specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:166
2013-06-05 10:00:16 +00:00
msgid "NTCP transport encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:168
2013-06-05 10:00:16 +00:00
msgid "SSU transport encryption"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:170
2013-06-05 10:00:16 +00:00
msgid "Transport Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:172
2013-06-05 10:00:16 +00:00
msgid "NTCP Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:174
2013-06-05 10:00:16 +00:00
msgid "SSU Javadoc"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:177
2013-06-05 10:00:16 +00:00
msgid "Other Router Topics"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:179
2013-06-05 10:00:16 +00:00
msgid "Native BigInteger Library"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:181
2013-06-05 10:00:16 +00:00
msgid "Time synchronization and NTP"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:190
2013-06-05 10:00:16 +00:00
msgid "Developer's Guides and Resources"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:192
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/new-developers.html:2
msgid "New Developer's Guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:194
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/new-translators.html:2
msgid "New Translator's Guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:196
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/guides/monotone.html:4
msgid "Monotone Guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:198
2013-06-05 10:00:16 +00:00
msgid "Developer Guidelines"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:200
2013-06-05 10:00:16 +00:00
msgid "Javadocs on the standard internet:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:201
#: i2p2www/pages/site/docs/index.html:205
#: i2p2www/pages/site/docs/index.html:206
#: i2p2www/pages/site/docs/index.html:207
2013-06-05 10:00:16 +00:00
#, python-format
msgid "Server %(num)s"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:202
#: i2p2www/pages/site/docs/index.html:211
2013-06-05 10:00:16 +00:00
msgid ""
"Note: always verify that javadocs are current by checking the release "
"number."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:204
2013-06-05 10:00:16 +00:00
msgid "Javadocs inside I2P:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:213
2013-06-05 10:00:16 +00:00
msgid "Ports used by I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:215
2013-06-05 10:00:16 +00:00
msgid "Automatic updates to development builds inside I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:217
2013-06-05 10:00:16 +00:00
msgid "Updating the wrapper manually"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:219
2013-06-05 10:00:16 +00:00
msgid "User forum"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:221
2013-06-05 10:00:16 +00:00
msgid "Developer forum inside I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:225
2013-06-05 10:00:16 +00:00
msgid "Viewmtn inside I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:227
2013-06-05 10:00:16 +00:00
msgid "I2P Source exported to GitHub"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:229
2013-06-05 10:00:16 +00:00
msgid "I2P Source Git Repo inside I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:231
2013-06-05 10:00:16 +00:00
msgid "Source translation at Transifex"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:233
2013-06-05 10:00:16 +00:00
msgid "Roadmap wiki"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:235
2013-06-05 10:00:16 +00:00
msgid "Old roadmap"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:235
#: i2p2www/pages/site/docs/index.html:237
2013-06-05 10:00:16 +00:00
msgid "not current"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/index.html:237
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/todo.html:2
msgid "To Do List"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:3
#: i2p2www/pages/site/docs/how/cryptography.html:3
msgid "March 2012"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:6
msgid "Naming in I2P"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:9
msgid ""
"I2P ships with a generic naming library and a base implementation \n"
"designed to work off a local name to destination mapping, as well as an\n"
"add-on application called the <a href=\"#addressbook\">addressbook</a>. \n"
2013-07-03 01:01:50 +00:00
"I2P also supports <a href=\"#base32\">Base32 hostnames</a> similar to Tor's .onion addresses."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:16
msgid ""
"The addressbook is a web-of-trust\n"
2013-07-03 01:01:50 +00:00
"driven secure, distributed, and human readable naming system, sacrificing only\n"
"the call for all human readable names to be globally unique by mandating only\n"
"local uniqueness. While all messages in I2P are cryptographically addressed\n"
"by their destination, different people can have local addressbook entries for\n"
"\"Alice\" which refer to different destinations. People can still discover new\n"
"names by importing published addressbooks of peers specified in their web of trust,\n"
"by adding in the entries provided through a third party, or (if some people organize\n"
"a series of published addressbooks using a first come first serve registration\n"
"system) people can choose to treat these addressbooks as name servers, emulating\n"
2013-06-05 10:00:16 +00:00
"traditional DNS."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:30
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"NOTE: For the reasoning behind the I2P naming system, common arguments against it\n"
"and possible alternatives see the <a href=\"%(namingdiscussion)s\">naming discussion</a>\n"
2013-06-05 10:00:16 +00:00
"page."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:37
msgid "Naming System Components"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:39
msgid ""
"There is no central naming authority in I2P.\n"
"All hostnames are local."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:44
msgid ""
"The naming system is quite simple and most of it is implemented\n"
"in applications external to the router, but bundled with\n"
"the I2P distribution.\n"
"The components are:"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:52
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"#lookup\">client application</a> which does local lookups in hosts.txt\n"
2013-06-05 10:00:16 +00:00
"and also takes care of the <a href=\"#base32\">Base32 hostnames</a>."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:56
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"#httpproxy\">HTTP proxy</a> which asks the router for lookups and points\n"
2013-06-05 10:00:16 +00:00
"the user to remote jump services to assist with failed lookups."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:60
msgid ""
2013-07-03 01:01:50 +00:00
"HTTP <a href=\"#add-services\">host-add forms</a> which allow users to add "
"hosts to their local hosts.txt"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:63
msgid ""
2013-07-03 01:01:50 +00:00
"HTTP <a href=\"#jump-services\">jump services</a> which provide their own "
"lookups and redirection."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:66
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"#addressbook\">addressbook</a> application which merges external\n"
2013-06-05 10:00:16 +00:00
"host lists, retrieved via HTTP, with the local list."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:70
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"#susidns\">SusiDNS</a> application which is a simple web front-end\n"
2013-06-05 10:00:16 +00:00
"for addressbook configuration and viewing of the local host lists."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:77
msgid "Naming Files and Lookups"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:79
#, python-format
msgid ""
"All destinations in I2P are 516-byte (or longer) keys.\n"
2013-07-03 01:01:50 +00:00
"(To be more precise, it is a 256-byte public key plus a 128-byte signing key\n"
2013-06-05 10:00:16 +00:00
"plus a null certificate, which in Base64 representation is 516 bytes.\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(namingdiscussion)s#certificates\">Certificates</a> are not used now,\n"
2013-06-05 10:00:16 +00:00
"if they are, the keys will be longer.\n"
2013-07-03 01:01:50 +00:00
"One possible use of certificates is for <a href=\"%(todo)s#hashcash\">proof of work</a>.)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:88
msgid ""
"If an application (i2ptunnel or the HTTP proxy) wishes to access\n"
"a destination by name, the router does a very simple local lookup\n"
"to resolve that name.\n"
2013-07-03 01:01:50 +00:00
"The client application (technically, the client side of I2CP in the I2P API)\n"
2013-06-05 10:00:16 +00:00
"does a linear search through three local files, in order, to\n"
"look up host names and convert them to a 516-byte destination key:"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:103
msgid ""
"The lookup is case-insensitive.\n"
"The first match is used, and conflicts are not detected.\n"
"There is no enforcement of naming rules in lookups."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:109
#, python-format
msgid ""
"Lookups are cached for a few minutes.\n"
2013-07-03 01:01:50 +00:00
"There is an experimental facility for real-time lookups (a la DNS) over the network within the router,\n"
2013-06-05 10:00:16 +00:00
"although it is not enabled by default\n"
2013-07-03 01:01:50 +00:00
"(see \"EepGet\" under <a href=\"%(namingdiscussion)s#alternatives\">Alternatives on the discussion page</a>)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:116
msgid "HTTP Proxy"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:118
msgid ""
2013-07-03 01:01:50 +00:00
"The HTTP proxy does a lookup via the router for all hostnames ending in '.i2p'.\n"
2013-06-05 10:00:16 +00:00
"Otherwise, it forwards the request to a configured HTTP outproxy.\n"
2013-07-03 01:01:50 +00:00
"Thus, in practice, all HTTP (eepsite) hostnames must end in the pseudo-Top Level Domain '.i2p'."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:124
msgid ""
"If the router fails to resolve the hostname, the HTTP proxy returns\n"
"an error page to the user with links to several \"jump\" services.\n"
"See below for details."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:130
#: i2p2www/pages/site/docs/spec/configuration.html:77
msgid "Addressbook"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:131
msgid "Incoming Subscriptions and Merging"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:133
msgid ""
"The addressbook application periodically\n"
"retrieves other users' hosts.txt files and merges\n"
"them with the local hosts.txt, after several checks.\n"
"Naming conflicts are resolved on a first-come first-served\n"
"basis."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:141
msgid ""
"Subscribing to another user's hosts.txt file involves\n"
"giving them a certain amount of trust.\n"
"You do not want them, for example, 'hijacking' a new site\n"
"by quickly entering in their own key for a new site before\n"
"passing the new host/key entry to you."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:149
msgid ""
"For this reason, the only subscription configured by\n"
"default is <code>http://www.i2p2.i2p/hosts.txt</code>,\n"
"which contains a copy of the hosts.txt included\n"
"in the I2P release.\n"
"Users must configure additional subscriptions in their\n"
2013-07-03 01:01:50 +00:00
"local addressbook application (via subscriptions.txt or <a href=\"#susidns\">SusiDNS</a>)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:158
msgid "Some other public addressbook subscription links:"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:165
msgid ""
2013-07-03 01:01:50 +00:00
"The operators of these services may have various policies for listing hosts.\n"
2013-06-05 10:00:16 +00:00
"Presence on this list does not imply endorsement."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:170
#: i2p2www/pages/site/docs/naming.html:182
msgid "Naming Rules"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:171
msgid ""
2013-07-03 01:01:50 +00:00
"While there are hopefully not any technical limitations within I2P on host names,\n"
2013-06-05 10:00:16 +00:00
"the addressbook enforces several restrictions on host names\n"
"imported from subscriptions.\n"
2013-07-03 01:01:50 +00:00
"It does this for basic typographical sanity and compatibility with browsers,\n"
2013-06-05 10:00:16 +00:00
"and for security.\n"
"The rules are essentially the same as those in RFC2396 Section 3.2.2.\n"
"Any hostnames violating these rules may not be propagated\n"
"to other routers."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:186
msgid "Names are converted to lower case on import."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:190
msgid ""
2013-07-03 01:01:50 +00:00
"Names are checked for conflict with existing names in the existing userhosts.txt and hosts.txt\n"
2013-06-05 10:00:16 +00:00
"(but not privatehosts.txt) after conversion to lower case."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:195
2013-07-03 01:01:50 +00:00
msgid ""
"Must contain only [a-z] [0-9] '.' and '-' after conversion to lower case."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:199
msgid "Must not start with '.' or '-'."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:203
msgid "Must end with '.i2p'."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:207
msgid "67 characters maximum, including the '.i2p'."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:211
msgid "Must not contain '..'."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:215
msgid "Must not contain '.-' or '-.' (as of 0.6.1.33)."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:219
msgid "Must not contain '--' except in 'xn--' for IDN."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:223
msgid "Base32 hostnames (*.b32.i2p) are not allowed."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:227
msgid ""
"Certain hostnames reserved for project use are not allowed\n"
2013-07-03 01:01:50 +00:00
"(proxy.i2p, router.i2p, console.i2p, *.proxy.i2p, *.router.i2p, *.console.i2p, and others)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:232
msgid "Keys are checked for base64 validity."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:236
msgid ""
"Keys are checked for conflict with existing keys in hosts.txt (but not "
"privatehosts.txt)."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:240
msgid "Minimum key length 516 bytes."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:244
msgid "Maximum key length 616 bytes (to account for certs up to 100 bytes)."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:249
msgid ""
2013-07-03 01:01:50 +00:00
"Any name received via subscription that passes all the checks is added to "
"the local hosts.txt."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:253
msgid ""
"Note that the '.' symbols in a host name are of no significance,\n"
"and do not denote any actual naming or trust hierarchy.\n"
"If the name 'host.i2p' already exists, there is nothing\n"
"to prevent anybody from adding a name 'a.host.i2p' to their hosts.txt,\n"
"and this name can be imported by others' addressbook.\n"
"Methods to deny subdomains to non-domain 'owners' (certificates?),\n"
"and the desirability and feasibility of these methods,\n"
"are topics for future discussion."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:264
msgid ""
2013-07-03 01:01:50 +00:00
"International Domain Names (IDN) also work in i2p (using punycode 'xn--' form).\n"
"To see IDN .i2p domain names rendered correctly in Firefox's location bar,\n"
2013-06-05 10:00:16 +00:00
"add 'network.IDN.whitelist.i2p (boolean) = true' in about:config."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:270
msgid ""
2013-07-03 01:01:50 +00:00
"As the addressbook application does not use privatehosts.txt at all, in practice\n"
"this file is the only place where it is appropriate to place private aliases or\n"
2013-06-05 10:00:16 +00:00
"\"pet names\" for sites already in hosts.txt."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:276
msgid "Outgoing Subscriptions"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:277
msgid ""
"Addressbook will publish the merged hosts.txt to a location\n"
2013-07-03 01:01:50 +00:00
"(traditionally hosts.txt in the local eepsite's home directory) to be accessed by others\n"
2013-06-05 10:00:16 +00:00
"for their subscriptions.\n"
"This step is optional and is disabled by default."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:285
msgid ""
2013-07-03 01:01:50 +00:00
"The addressbook application, together with eepget, saves the Etag and/or Last-Modified\n"
2013-06-05 10:00:16 +00:00
"information returned by the web server of the subscription.\n"
"This greatly reduces the bandwidth required, as the web server will\n"
"return a '304 Not Modified' on the next fetch if nothing has changed."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:292
msgid ""
"However the entire hosts.txt is downloaded if it has changed.\n"
"See below for discussion on this issue."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:297
msgid ""
"Hosts serving a static hosts.txt or an equivalent CGI application\n"
"are strongly encouraged to deliver\n"
"a Content-Length header, and either an Etag or Last-Modified header.\n"
2013-07-03 01:01:50 +00:00
"Also ensure that the server delivers a '304 Not Modified' when appropriate.\n"
2013-06-05 10:00:16 +00:00
"This will dramatically reduce the network bandwidth, and\n"
"reduce chances of corruption."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:306
msgid "Host Add Services"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:307
msgid ""
2013-07-03 01:01:50 +00:00
"A host add service is a simple CGI application that takes a hostname and a Base64 key as parameters\n"
2013-06-05 10:00:16 +00:00
"and adds that to its local hosts.txt.\n"
"If other routers subscribe to that hosts.txt, the new hostname/key\n"
"will be propagated through the network."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:314
msgid ""
2013-07-03 01:01:50 +00:00
"It is recommended that host add services impose, at a minimum, the restrictions imposed by the addressbook application listed above.\n"
"Host add services may impose additional restrictions on hostnames and keys, for example:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:319
msgid "A limit on number of 'subdomains'."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:323
msgid "Authorization for 'subdomains' through various methods."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:327
msgid "Hashcash or signed certificates."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:331
msgid "Editorial review of host names and/or content."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:335
msgid "Categorization of hosts by content."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:339
msgid "Reservation or rejection of certain host names."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:343
msgid "Restrictions on the number of names registered in a given time period."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:347
msgid "Delays between registration and publication."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:351
msgid "Requirement that the host be up for verification."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:355
msgid "Expiration and/or revocation."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:359
msgid "IDN spoof rejection."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:364
msgid "Jump Services"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:365
msgid ""
2013-07-03 01:01:50 +00:00
"A jump service is a simple CGI application that takes a hostname as a parameter\n"
"and returns a 301 redirect to the proper URL with a <code>?i2paddresshelper=key</code>\n"
2013-06-05 10:00:16 +00:00
"string appended.\n"
"The HTTP proxy will interpret the appended string and\n"
"use that key as the actual destination.\n"
"In addition, the proxy will cache that key so the\n"
"address helper is not necessary until restart."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:375
msgid ""
"Note that, like with subscriptions, using a jump service\n"
"implies a certain amount of trust, as a jump service could maliciously\n"
"redirect a user to an incorrect destination."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:381
msgid ""
"To provide the best service, a jump service should be subscribed to\n"
"several hosts.txt providers so that its local host list is current."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:387
msgid ""
2013-07-03 01:01:50 +00:00
"SusiDNS is simply a web interface front-end to configuring addressbook subscriptions\n"
2013-06-05 10:00:16 +00:00
"and accessing the four addressbook files.\n"
"All the real work is done by the 'addressbook' application."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:393
msgid ""
2013-07-03 01:01:50 +00:00
"Currently, there is little enforcement of addressbook naming rules within SusiDNS,\n"
2013-06-05 10:00:16 +00:00
"so a user may enter hostnames locally that would be rejected by\n"
"the addressbook subscription rules."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:399
msgid "Base32 Names"
msgstr ""
#: i2p2www/pages/site/docs/naming.html:400
msgid ""
"I2P supports Base32 hostnames similar to Tor's .onion addresses.\n"
"Base32 addresses are much shorter and easier to handle than the\n"
"full 516-character Base64 Destinations or addresshelpers.\n"
2013-07-03 01:01:50 +00:00
"Example: <code>ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p</code>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/naming.html:407
msgid ""
2013-07-03 01:01:50 +00:00
"In Tor, the address is 16 characters (80 bits), or half of the SHA-1 hash.\n"
2013-06-05 10:00:16 +00:00
"I2P uses 52 characters (256 bits) to represent the full SHA-256 hash.\n"
"The form is {52 chars}.b32.i2p.\n"
"Base32 is implemented in the naming service, which queries the\n"
"router over I2CP to lookup the LeaseSet to get the full Destination.\n"
2013-07-03 01:01:50 +00:00
"Base32 lookups will only be successful when the Destination is up and publishing\n"
2013-06-05 10:00:16 +00:00
"a LeaseSet.\n"
2013-07-03 01:01:50 +00:00
"Because resolution may require a network database lookup, it may take significantly\n"
2013-06-05 10:00:16 +00:00
"longer than a local address book lookup."
msgstr ""
#: i2p2www/pages/site/docs/naming.html:419
msgid ""
2013-07-03 01:01:50 +00:00
"Base32 addresses can be used in most places where hostnames or full destinations\n"
2013-06-05 10:00:16 +00:00
"are used, however there are some exceptions where they may fail if the\n"
"name does not immediately resolve. I2PTunnel will fail, for example, if\n"
"the name does not resolve to a destination."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:3
msgid "June 2012"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:6
msgid "I2P Plugins"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:8
msgid "General Information"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:9
msgid ""
"I2P includes a plugin architecture\n"
"to support easy development and installation of additional software."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:14
msgid ""
2013-07-03 01:01:50 +00:00
"There are now plugins available that support distributed email, blogs, IRC\n"
2013-06-05 10:00:16 +00:00
"clients, distributed file storage, wikis, and more."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:19
msgid "Benefits to i2p users and app developers:"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:24
msgid "Easy distribution of applications"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:28
msgid ""
"Allows innovation and use of additional libraries without worrying about\n"
"increasing the size of <code>i2pupdate.sud</code>"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:33
msgid ""
2013-07-03 01:01:50 +00:00
"Support large or special-purpose applications that would never be bundled\n"
2013-06-05 10:00:16 +00:00
"with the I2P installation"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:38
msgid "Cryptographically signed and verified applications"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:42
msgid "Automatic updates of applications, just like for the router"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:46
msgid ""
2013-07-03 01:01:50 +00:00
"Separate initial install and update packages, if desired, for smaller update"
" downloads"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:50
msgid ""
"One-click installation of applications. No more asking users to modify\n"
"<code>wrapper.config</code> or <code>clients.config</code>"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:55
msgid "Isolate applications from the base <code>$I2P</code> installation"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:59
msgid ""
"Automatic compatibility checking for I2P version, Java version, Jetty\n"
"version, and previous installed application version"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:64
msgid "Automatic link addition in console"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:68
msgid ""
"Automatic startup of application, including modifying classpath, without "
"requiring a restart"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:72
2013-07-03 01:01:50 +00:00
msgid ""
"Automatic integration and startup of webapps into console Jetty instance"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:76
#, python-format
msgid ""
"Facilitate creation of 'app stores' like the one at\n"
"<a href=\"http://%(pluginsite)s\">%(pluginsite)s</a>"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:81
msgid "One-click uninstall"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:85
msgid "Language and theme packs for the console"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:89
msgid "Bring detailed application information to the router console"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:93
msgid "Non-java applications also supported"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:99
msgid "Required I2P version"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:100
msgid "0.7.12 or newer."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:102
msgid "Installation"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:103
msgid ""
2013-07-03 01:01:50 +00:00
"To install and start a plugin, copy the <code>.xpi2p</code> install link to\n"
2013-06-05 10:00:16 +00:00
"the form at the bottom of\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp in\n"
"your router console</a> and click the \"install plugin\" button. After a\n"
"plugin is installed and started, a link to the plugin will usually appear at\n"
2013-06-05 10:00:16 +00:00
"the top of your summary bar."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:112
msgid ""
2013-07-03 01:01:50 +00:00
"To update a plugin to the latest version, just click the update button on\n"
"<a href=\"http://127.0.0.1:7657/configclients.jsp#plugin\">configclients.jsp</a>.\n"
"There is also a button to check if the plugin has a more recent version, as\n"
"well as a button to check for updates for all plugins. Plugins will be checked\n"
"for updates automatically when updating to a new I2P release (not including dev\n"
2013-06-05 10:00:16 +00:00
"builds)."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:122
msgid "Development"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:123
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"See the latest <a href=\"%(pluginspec)s\">plugin specification</a> and the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"http://%(zzz)s/forums/16\">plugin forum</a> on %(zzz)s."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:128
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"See also the sources for plugins developed by various people. Some plugins, such\n"
"as <a href=\"http://%(pluginsite)s/plugins/snowman\">snowman</a>, were developed\n"
2013-06-05 10:00:16 +00:00
"specifically as examples."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:134
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Developers wanted!</b> Plugins are a great way to learn more about I2P\n"
2013-06-05 10:00:16 +00:00
"or easily add some feature."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:139
msgid "Getting Started"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:140
#, python-format
msgid ""
"To create a plugin from an existing binary package you will need to get\n"
2013-07-03 01:01:50 +00:00
"makeplugin.sh from <a href=\"%(url)s\">the i2p.scripts branch in monotone</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:146
msgid "Known Issues"
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:147
msgid ""
"Note that the router's plugin architecture does <b>NOT</b> currently\n"
"provide any additional security isolation or sandboxing of plugins."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:153
msgid ""
"Updates of a plugin with included jars (not wars) won't be recognized if\n"
2013-07-03 01:01:50 +00:00
"the plugin was already run, as it requires class loader trickery to flush the\n"
2013-06-05 10:00:16 +00:00
"class cache; a full router restart is required."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:159
msgid "The stop button may be displayed even if there is nothing to stop."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:163
msgid ""
2013-07-03 01:01:50 +00:00
"Plugins running in a separate JVM create a <code>logs/</code> directory in\n"
2013-06-05 10:00:16 +00:00
"<code>$CWD</code>."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:168
msgid ""
2013-07-03 01:01:50 +00:00
"No initial keys are present, except for those of jrandom and zzz (using the\n"
2013-06-05 10:00:16 +00:00
"same keys as for router update), so the first key seen for a signer is\n"
"automatically accepted&mdash;there is no signing key authority."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:174
msgid ""
2013-07-03 01:01:50 +00:00
"When deleting a plugin, the directory is not always deleted, especially on\n"
2013-06-05 10:00:16 +00:00
"Windows."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:179
msgid ""
2013-07-03 01:01:50 +00:00
"Installing a plugin requiring Java 1.6 on a Java 1.5 machine will result in a\n"
"\"plugin is corrupt\" message if pack200 compression of the plugin file is used."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:184
msgid "Theme and translation plugins are untested."
msgstr ""
#: i2p2www/pages/site/docs/plugins.html:188
msgid "Disabling autostart doesn't always work."
msgstr ""
#: i2p2www/pages/site/docs/ports.html:2
msgid "Ports Used by I2P"
msgstr ""
#: i2p2www/pages/site/docs/ports.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"These are the ports used or reserved by I2P, including those for known plugins,\n"
2013-06-05 10:00:16 +00:00
"common alternates,\n"
"and some typical related applications."
msgstr ""
#: i2p2www/pages/site/docs/ports.html:13
#, python-format
msgid ""
"Note that many of these are not enabled by default.\n"
"There is more information in <a href=\"%(faq)s#ports\">the FAQ</a>.\n"
"See also the documentation for individual plugins.\n"
"Plugin authors please add any ports you use here.\n"
"For new plugins, we recommend using the next available port\n"
"in the 766x range."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/ports.html:53
2013-06-05 10:00:16 +00:00
msgid "recommended spot for new plugins/applications"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:5
msgid "BOB - Basic Open Bridge"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:7
msgid "Technical differences from SAM (for the better?)"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:9
msgid ""
"BOB has separate command and data channels. \n"
"One, an application command channel socket to router to configure.\n"
"Two, the application data sockets to/from router that carry only data.\n"
"The command channel is only needed for making or setting the initial\n"
"destination key, and to set the destination key to port bindings. \n"
"All connections run in parallel."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:18
msgid ""
"SAM has one connection that does everything, and you need to parse every "
"packet."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:22
msgid ""
"BOB does not hold keypair values, nor does the router.\n"
"Your application holds the keypair values. \n"
2013-07-03 01:01:50 +00:00
"This is to reduce any extra complexity in the router code, it also adds to\n"
2013-06-05 10:00:16 +00:00
"your privacy."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:29
msgid "SAM router stores every keypair you ever make."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:33
msgid "Those are the important differences."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:37
msgid "<code>KEYS</code> = keypair public+private, these are BASE64"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:40
msgid "<code>KEY</code> = public key, also BASE64"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:43
msgid ""
"<code>ERROR</code> as is implied returns the message <code>\"ERROR "
2013-07-03 01:01:50 +00:00
"\"+DESCRIPTION+\"\\n\"</code>, where the <code>DESCRIPTION</code> is what "
"went wrong."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:46
msgid ""
2013-07-03 01:01:50 +00:00
"<code>OK</code> returns <code>\"OK\"</code>, and if data is to be returned, "
"it is on the same line. <code>OK</code> means the command is finished."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:49
msgid ""
2013-07-03 01:01:50 +00:00
"<code>DATA</code> lines contain information that you requested. There may be"
" multiple <code>DATA</code> lines per request."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"<b>NOTE:</b> The help command is the ONLY command that has an exception to\n"
2013-06-05 10:00:16 +00:00
"the rules... it can actually return nothing! This is intentional, since\n"
"help is a HUMAN and not an APPLICATION command."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:59
msgid ""
"<b>PLEASE NOTE:</b>\n"
2013-07-03 01:01:50 +00:00
"For CURRENT details on the commands PLEASE use the built-in help command. \n"
"Just telnet to localhost 2827 and type help and you can get full documentation on each command."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:65
msgid ""
2013-07-03 01:01:50 +00:00
"Commands never get obsoleted or changed, however new commands do get added "
"from time to time."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:69
msgid "Here are the commands we have as of this writing:"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:74
msgid "COMMAND"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:74
msgid "OPERAND"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:74
msgid "RETURNS"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:101
msgid ""
2013-07-03 01:01:50 +00:00
"Once set up, all TCP sockets can and will block as needed, and there is no need for any \n"
"additional messages to/from the command channel. This allows the router to pace the\n"
"stream without exploding with OOM like SAM does as it chokes on attempting to shove \n"
"many streams in or out one socket -- that can't scale when you have alot of connections!"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:108
msgid ""
2013-07-03 01:01:50 +00:00
"What is also nice about this particular interface is that writing anything to interface \n"
"to it, is much much easier than SAM. There is no other processing to do after the set up.\n"
"It's configuration is so simple, that very simple tools, such as nc (netcat) can be used \n"
"to point to some application. The value there is that one could schedule up and down times \n"
"for an application, and not have to change the application to do that, or to even have \n"
"to stop that application. Instead, you can literally \"unplug\" the destination, and \n"
"\"plug it in\" again. As long as the same IP/port addresses and destination keys are used \n"
"when bringing the bridge up, the normal TCP application won't care, and won't notice.\n"
"It will simply be fooled -- the destinations are not reachable, and that nothing is coming in."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:120
msgid ""
2013-07-03 01:01:50 +00:00
"For the following example, we'll setup a very simple local loopback connection, \n"
"with two destinations. Destination \"mouth\" will be the CHARGEN service from \n"
"the INET superserver daemon. Destination \"ear\" will be a local port that you\n"
2013-06-05 10:00:16 +00:00
"can telnet into, and watch the pretty ASCII test puke forth."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:128
msgid "EXAMPLE SESSION DIALOGUE -- simple telnet 127.0.0.1 2827 works"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:129
msgid "Application"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:130
msgid "BOB's Command response."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:132
#: i2p2www/pages/site/docs/api/bob.html:144
#: i2p2www/pages/site/docs/api/bob.html:164
#: i2p2www/pages/site/docs/api/bob.html:272
#: i2p2www/pages/site/docs/api/bob.html:284
#: i2p2www/pages/site/docs/api/bob.html:299
msgid "FROM"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:132
#: i2p2www/pages/site/docs/api/bob.html:144
#: i2p2www/pages/site/docs/api/bob.html:164
#: i2p2www/pages/site/docs/api/bob.html:272
#: i2p2www/pages/site/docs/api/bob.html:284
#: i2p2www/pages/site/docs/api/bob.html:299
msgid "TO"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:132
#: i2p2www/pages/site/docs/api/bob.html:144
#: i2p2www/pages/site/docs/api/bob.html:164
#: i2p2www/pages/site/docs/api/bob.html:272
#: i2p2www/pages/site/docs/api/bob.html:284
#: i2p2www/pages/site/docs/api/bob.html:299
msgid "DIALOGUE"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:139
msgid "MAKE NOTE OF THE ABOVE DESTINATION KEY, YOURS WILL BE DIFFERENT!"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:153
msgid ""
2013-07-03 01:01:50 +00:00
"At this point, there was no error, a destination with a nickname of \"mouth\" \n"
"is set up. When you contact the destination provided, you actually connect \n"
2013-06-05 10:00:16 +00:00
"to the <code>CHARGEN</code> service on <code>19/TCP</code>."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:159
2013-07-03 01:01:50 +00:00
msgid ""
"Now for the other half, so that we can actually contact this destination."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:179
msgid ""
"Now all we need to do is telnet into 127.0.0.1, port 37337,\n"
2013-07-03 01:01:50 +00:00
"send the destination key or host address from addressbook we want to contact.\n"
2013-06-05 10:00:16 +00:00
"In this case, we want to contact \"mouth\", all we do is paste in the\n"
"key and it goes."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:186
msgid ""
2013-07-03 01:01:50 +00:00
"<b>NOTE:</b> The \"quit\" command in the command channel does NOT disconnect"
" the tunnels like SAM."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:203
msgid "After a few virtual miles of this spew, press <code>Control-]</code>"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:215
msgid "Here is what happened..."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:223
msgid "You can connect to EEPSITES too!"
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:256
msgid ""
2013-07-03 01:01:50 +00:00
"Pretty cool isn't it? Try some other well known EEPSITES if you like, nonexistent ones, \n"
"etc, to get a feel for what kind of output to expect in different situations. \n"
"For the most part, it is suggested that you ignore any of the error messages. \n"
"They would be meaningless to the application, and are only presented for human debugging."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:263
msgid "Let's put down our destinations now that we are all done with them."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:267
msgid "First, lets see what destination nicknames we have."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:279
msgid "Alright, there they are. First, let's remove \"mouth\"."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:293
msgid ""
2013-07-03 01:01:50 +00:00
"Now to remove \"ear\", note that this is what happens when you type too fast,\n"
2013-06-05 10:00:16 +00:00
"and shows you what typical ERROR messages looks like."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:312
msgid ""
"I won't bother to show an example of the receiver end of a bridge\n"
"because it is very simple. There are two possible settings for it, and\n"
"it is toggled with the \"quiet\" command."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:318
msgid ""
"The default is NOT quiet, and the first data to come into your\n"
"listening socket is the destination that is making the contact. It is a\n"
"single line consisting of the BASE64 address followed by a newline.\n"
"Everything after that is for the application to actually consume."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:325
msgid ""
"In quiet mode, think of it as a regular Internet connection. No\n"
"extra data comes in at all. It's just as if you are plain connected to\n"
"the regular Internet. This mode allows a form of transparency much like\n"
"is available on the router console tunnel settings pages, so that you\n"
"can use BOB to point a destination at a web server, for example, and\n"
"you would not have to modify the web server at all."
msgstr ""
#: i2p2www/pages/site/docs/api/bob.html:334
msgid ""
"The advantage with using BOB for this is as discussed\n"
"previously. You could schedule random uptimes for the application,\n"
"redirect to a different machine, etc. One use of this may be something\n"
"like wanting to try to goof up router-to-destination upness guessing.\n"
"You could stop and start the destination with a totally different\n"
"process to make random up and down times on services. That way you\n"
"would only be stopping the ability to contact such a service, and not\n"
"have to bother shutting it down and restarting it. You could redirect\n"
"and point to a different machine on your LAN while you do updates, or\n"
"point to a set of backup machines depending on what is running, etc,\n"
"etc. Only your imagination limits what you could do with BOB."
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:6
msgid "Datagram Overview"
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:7
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Datagrams build upon the base <a href=\"%(i2cp)s\">I2CP</a> to provide authenticated\n"
"and repliable messages in a standard format. This lets applications reliably read\n"
"the \"from\" address out of a datagram and know that the address really sent the\n"
"message. This is necessary for some applications since the base I2P message is\n"
"completely raw - it has no \"from\" address (unlike IP packets). In addition, the\n"
2013-06-05 10:00:16 +00:00
"message and sender are authenticated by signing the payload."
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:16
#, python-format
msgid ""
"Datagrams, like <a href=\"%(streaming)s\">streaming library packets</a>,\n"
"are an application-level construct.\n"
2013-07-03 01:01:50 +00:00
"These protocols are independent of the low-level <a href=\"%(transports)s\">transports</a>;\n"
2013-06-05 10:00:16 +00:00
"the protocols are converted to I2NP messages by the router, and\n"
"either protocol may be carried by either transport."
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:25
msgid "Application Guide"
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:26
#, python-format
msgid ""
"Applications written in Java may use the \n"
"<a href=\"%(url)s\">datagram API</a>,\n"
"while applications in other languages \n"
"can use <a href=\"%(sam)s\">SAM</a>'s datagram support.\n"
2013-07-03 01:01:50 +00:00
"There is also limited support in i2ptunnel in the <a href=\"%(socks)s\">SOCKS proxy</a>,\n"
2013-06-05 10:00:16 +00:00
"the 'streamr' tunnel types, and udpTunnel classes."
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:37
msgid "Datagram Length"
msgstr ""
#: i2p2www/pages/site/docs/api/datagrams.html:38
msgid ""
2013-07-03 01:01:50 +00:00
"The application designer should carefully consider the tradeoff of repliable vs. non-repliable\n"
"datagrams. Also, the datagram size will affect reliability, due to tunnel fragmentation into 1KB\n"
"tunnel messages. The more message fragments, the more likely that one of them will be dropped\n"
"by an intermediate hop. Messages larger than a few KB are not recommended.\n"
2013-06-11 12:45:56 +00:00
"Over about 10 KB, the delivery probablility drops dramatically.\n"
2013-07-03 01:01:50 +00:00
"Messages over 16 KB cannot be delivered over NTCP, dropping delivery chances even more."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:47
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Also note that the various overheads added by lower layers, in particular asymmetric\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES</a>, place a large burden on intermittent messages\n"
"such as used by a Kademlia-over-UDP application. The implementations are currently tuned\n"
"for frequent traffic using the streaming library. There are a high number\n"
"of session tags delivered, and a short session tag lifetime, for example.\n"
"There are currently no configuration parameters available within I2CP to tune\n"
2013-06-05 10:00:16 +00:00
"the ElGamal Session Tag parameters."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:57
2013-06-05 10:00:16 +00:00
msgid "I2CP Protocol Number and Ports"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:58
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"The standard I2CP protocol number for datagrams is PROTO_DATAGRAM (17).\n"
"Applications may or may not choose to set the\n"
2013-06-05 10:00:16 +00:00
"protocol in the I2CP header. It is not set by default.\n"
2013-07-03 01:01:50 +00:00
"It must be set to demultiplex datagram and streaming traffic received on the same Destination."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:65
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"As datagrams are not connection-oriented, the application may require\n"
2013-07-03 01:01:50 +00:00
"port numbers to correlate datagrams with particular peers or communications sessions,\n"
2013-06-05 10:00:16 +00:00
"as is traditional with UDP over IP.\n"
2013-07-03 01:01:50 +00:00
"Applications may add 'from' and 'to' ports to the I2CP (gzip) header as described in\n"
2013-06-05 10:00:16 +00:00
"the <a href=\"%(i2cp)s#format\">I2CP page</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:73
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"There is no method within the datagram API to specify whether it is non-repliable (raw)\n"
"or repliable. The application should be designed to expect the appropriate type.\n"
2013-06-11 12:45:56 +00:00
"The I2CP protocol number or port should be used by the application to\n"
"indicate datagram type.\n"
2013-07-03 01:01:50 +00:00
"The I2CP protocol numbers PROTO_DATAGRAM (signed) and PROTO_DATAGRAM_RAW are defined in the\n"
2013-06-11 12:45:56 +00:00
"<a href=\"%(i2psession)s\">I2PSession API</a>\n"
2013-07-03 01:01:50 +00:00
"for this purpose. A common design pattern in client/server datagram applications is to\n"
"use signed datagrams for a request which includes a nonce, and use a raw datagram\n"
2013-06-11 12:45:56 +00:00
"for the reply, returning the nonce from the request."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:85
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The protocols and ports may be set in I2CP's\n"
"<a href=\"%(i2psession)s\">I2PSession API</a>,\n"
"as implemented in\n"
"<a href=\"%(i2psessionmuxed)s\">I2PSessionMuxedImpl</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:93
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/streaming.html:325
msgid "Data Integrity"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:94
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
"There is no checksum field in the datagram protocol."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:100
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/api/streaming.html:333
msgid "Packet Encapsulation"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:101
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Each datagram is sent through I2P as a single message (or as an individual clove in a\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(garlicrouting)s\">Garlic Message</a>).\n"
"Message encapsulation is implemented in the underlying\n"
"<a href=\"%(i2cp)s\">I2CP</a>,\n"
"<a href=\"%(i2np)s\">I2NP</a>, and\n"
"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers.\n"
2013-07-03 01:01:50 +00:00
"There is no packet delimiter mechanism or length field in the datagram protocol."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:114
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:10
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:567
2013-06-05 10:00:16 +00:00
msgid "Specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/api/datagrams.html:116
2013-06-05 10:00:16 +00:00
msgid "See the Datagrams Specification page."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:4
msgid "I2PControl - Remote Control Service"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:5
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P enables a <a href=\"http://en.wikipedia.org/wiki/JSON-RPC\">JSONRPC2</a> interface via the plugin <a href=\"%(itoopie)s\">I2PControl</a>.\n"
"The aim of the interface is to provide simple way to interface with a running I2P node. A client, itoopie, has been developed in parallel.\n"
"The JSONRPC2 implementation for the client as well as the plugin is provided by the java libraries <a href=\"http://software.dzhuvinov.com/json-rpc-2.0.html\">JSON-RPC 2.0</a>. \n"
"A list of implementations of JSON-RPC for various languages can be found at <a href=\"http://json-rpc.org/wiki/implementations\">the JSON-RPC wiki</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:12
msgid "I2PControl is by default listening on localhost:7650"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:14
msgid "API, version 1."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:15
msgid "Parameters are only provided in a named way (maps)."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:19
msgid "JSON-RPC 2 format"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:21
#: i2p2www/pages/site/docs/api/i2pcontrol.html:27
#: i2p2www/pages/site/docs/api/i2pcontrol.html:40
#: i2p2www/pages/site/docs/api/i2pcontrol.html:50
#: i2p2www/pages/site/docs/api/i2pcontrol.html:59
#: i2p2www/pages/site/docs/api/i2pcontrol.html:69
#: i2p2www/pages/site/docs/api/i2pcontrol.html:84
#: i2p2www/pages/site/docs/api/i2pcontrol.html:137
#: i2p2www/pages/site/docs/api/i2pcontrol.html:154
msgid "Request:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:23
#: i2p2www/pages/site/docs/api/i2pcontrol.html:32
#: i2p2www/pages/site/docs/api/i2pcontrol.html:44
#: i2p2www/pages/site/docs/api/i2pcontrol.html:54
#: i2p2www/pages/site/docs/api/i2pcontrol.html:64
#: i2p2www/pages/site/docs/api/i2pcontrol.html:75
#: i2p2www/pages/site/docs/api/i2pcontrol.html:101
#: i2p2www/pages/site/docs/api/i2pcontrol.html:145
#: i2p2www/pages/site/docs/api/i2pcontrol.html:169
msgid "Response:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:26
#: i2p2www/pages/site/docs/api/i2pcontrol.html:28
#: i2p2www/pages/site/docs/api/i2pcontrol.html:29
#: i2p2www/pages/site/docs/api/i2pcontrol.html:33
#: i2p2www/pages/site/docs/api/i2pcontrol.html:34
#: i2p2www/pages/site/docs/protocol/i2cp.html:99
#: i2p2www/pages/site/docs/protocol/i2cp.html:442
#: i2p2www/pages/site/docs/spec/common-structures.html:16
#: i2p2www/pages/site/docs/spec/common-structures.html:26
#: i2p2www/pages/site/docs/spec/common-structures.html:37
#: i2p2www/pages/site/docs/spec/common-structures.html:49
#: i2p2www/pages/site/docs/spec/common-structures.html:64
#: i2p2www/pages/site/docs/spec/common-structures.html:77
#: i2p2www/pages/site/docs/spec/common-structures.html:90
#: i2p2www/pages/site/docs/spec/common-structures.html:102
#: i2p2www/pages/site/docs/spec/common-structures.html:114
#: i2p2www/pages/site/docs/spec/common-structures.html:126
#: i2p2www/pages/site/docs/spec/common-structures.html:138
#: i2p2www/pages/site/docs/spec/common-structures.html:150
#: i2p2www/pages/site/docs/spec/common-structures.html:162
#: i2p2www/pages/site/docs/spec/common-structures.html:174
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:227
#: i2p2www/pages/site/docs/spec/common-structures.html:294
#: i2p2www/pages/site/docs/spec/common-structures.html:343
#: i2p2www/pages/site/docs/spec/common-structures.html:387
#: i2p2www/pages/site/docs/spec/common-structures.html:432
#: i2p2www/pages/site/docs/spec/common-structures.html:569
#: i2p2www/pages/site/docs/spec/common-structures.html:625
2013-06-05 10:00:16 +00:00
msgid "Description"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:30
msgid ""
2013-07-03 01:01:50 +00:00
"Token used for authenticating every request (excluding the 'Authenticate' "
"RPC method)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:38
msgid "Implemented methods"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:39
msgid ""
2013-07-03 01:01:50 +00:00
"Creates and returns an authentication token used for further communication."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:41
msgid "The version of the I2PControl API used by the client."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:42
msgid "The password used for authenticating against the remote server."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:45
msgid "The primary I2PControl API version implemented by the server."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:46
msgid "The token used for further communication."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:49
msgid "Echoes the value of the echo key, used for debugging and testing."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:51
msgid "Value will be returned in response."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:52
#: i2p2www/pages/site/docs/api/i2pcontrol.html:62
#: i2p2www/pages/site/docs/api/i2pcontrol.html:73
#: i2p2www/pages/site/docs/api/i2pcontrol.html:99
#: i2p2www/pages/site/docs/api/i2pcontrol.html:143
msgid ""
2013-07-03 01:01:50 +00:00
"Token used for authenticating the client. Is provided by the server via the "
"'Authenticate' RPC method."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:55
msgid "Value of the key 'echo' in the request."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:58
msgid ""
"Fetches rateStat from router statManager. Creates stat if not already "
"created."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:60
#, python-format
msgid ""
"Determines which rateStat to fetch, see <a "
"href=\"%(ratestats)s\">ratestats</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:61
msgid "Determines which period a stat is fetched for. Measured in ms."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:65
msgid "Returns the average value for the reuested rateStat and period."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:68
msgid "Manages I2PControl. Ports, passwords and the like."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:70
msgid ""
"Sets a new listen address for I2PControl (only 127.0.0.1 and 0.0.0.0 are "
"implemented in I2PControl currently)."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:71
msgid ""
"Sets a new password for I2PControl, all Authentication tokens will be "
"revoked."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:72
msgid "Switches which port I2PControl will listen for connections on."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:76
msgid "Returned if address was changed"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:77
#: i2p2www/pages/site/docs/api/i2pcontrol.html:78
msgid "Returned if setting was changed"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:79
msgid "Returns true if any changes were made."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:80
2013-07-03 01:01:50 +00:00
msgid ""
"Returns true if any changes requiring a restart to take effect were made."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:83
msgid "Fetches basic information about the I2P router. Uptime, version etc."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:102
msgid "What the status of the router is."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:103
msgid "What the uptime of the router is in ms."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:104
msgid "What version of I2P the router is running."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:105
msgid "The 1 second average inbound bandwidth in Bps."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:106
msgid "The 15 second average inbound bandwidth in Bps."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:107
msgid "The 1 second average outbound bandwidth in Bps."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:108
msgid "The 15 second average outbound bandwidth in Bps."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:109
msgid "What the current network status is. According to the below enum:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:128
msgid "How many tunnels on the I2P net are we participating in."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:129
msgid "How many peers have we communicated with recently."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:130
msgid "How many peers are considered 'fast'."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:131
msgid "How many peers are considered 'high capacity'."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:132
msgid "Is the router reseeding hosts to its NetDB?"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:133
msgid "How many peers are known to us (listed in our NetDB)."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:136
msgid "Manages I2P router restart/shutdown."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:138
msgid ""
2013-07-03 01:01:50 +00:00
"Initiates a router reseed, fetching peers into our NetDB from a remote host."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:139
msgid "Restarts the router."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:140
msgid ""
2013-07-03 01:01:50 +00:00
"Restarts the router gracefully (waits for participating tunnels to expire)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:141
msgid "Shuts down the router."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:142
msgid ""
"Shuts down the router gracefully (waits for participating tunnels to "
"expire)."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:146
msgid "If requested, verifies that a reseed has been initiated."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:147
msgid "If requested, verifies that a restart has been initiated."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:148
msgid "If requested, verifies that a graceful restart has been initiated."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:149
msgid "If requested, verifies that a shutdown has been initiated"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:150
msgid "If requested, verifies that a graceful shutdown has been initiated"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:153
2013-07-03 01:01:50 +00:00
msgid ""
"Fetches or sets various network related settings. Ports, addresses etc."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:155
msgid ""
"What port is used for the TCP transport. If null is submitted, current "
"setting will be returned."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:156
msgid ""
2013-07-03 01:01:50 +00:00
"What hostname is used for the TCP transport. If null is submitted, current "
"setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:157
msgid ""
"Use automatically detected ip for TCP transport. If null is submitted, "
"current setting will be returned."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:158
msgid ""
"What port is used for the UDP transport. If null is submitted, current "
"setting will be returned."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:159
msgid ""
2013-07-03 01:01:50 +00:00
"What hostname is used for the UDP transport. If null is submitted, current "
"setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:160
msgid ""
"Which methods should be used for detecting the ip address of the UDP "
"transport. If null is submitted, current setting will be returned."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:161
msgid "What ip has been detected by the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:162
2013-07-03 01:01:50 +00:00
msgid ""
"Is UPnP enabled. If null is submitted, current setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:163
msgid ""
2013-07-03 01:01:50 +00:00
"How many percent of bandwidth is usable for participating tunnels. If null "
"is submitted, current setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:164
msgid ""
2013-07-03 01:01:50 +00:00
"How many KB/s of inbound bandwidth is allowed. If null is submitted, current"
" setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:165
msgid ""
"How many KB/s of outbound bandwidth is allowed. If null is submitted, "
"current setting will be returned."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:166
msgid ""
2013-07-03 01:01:50 +00:00
"Is laptop mode enabled (change router identity and UDP port when IP changes "
"). If null is submitted, current setting will be returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:167
msgid ""
2013-07-03 01:01:50 +00:00
"Token used for authenticating the client. Is provided by the server via the "
"'Authenticate' RPC method. If null is submitted, current setting will be "
"returned."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:170
msgid "If requested, returns the port used for the TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:171
msgid "If requested, returns the hostname used for the TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:172
msgid ""
2013-07-03 01:01:50 +00:00
"If requested, returns the method used for automatically detecting ip for the"
" TCP transport."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:173
msgid "If requested, returns the port used for the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:174
msgid "If requested, returns the hostname used for the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:175
msgid ""
2013-07-03 01:01:50 +00:00
"If requested, returns methods used for detecting the ip address of the UDP "
"transport."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:176
msgid "If requested, returns what ip has been detected by the UDP transport."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:177
msgid "If requested, returns the UPNP setting."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:178
msgid ""
"If requested, returns how many percent of bandwidth is usable for "
"participating tunnels."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:179
msgid "If requested, returns how many KB/s of inbound bandwidth is allowed."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:180
msgid "If requested, returns how many KB/s of outbound bandwidth is allowed."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:181
msgid "If requested, returns the laptop mode."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:182
msgid "Have the provided settings been saved."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:183
msgid "Is a restart needed for the new settings to be used."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:186
msgid "denotes an optional value."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:187
msgid "denotes a possibly occuring return value"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:189
msgid "Error codes"
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:190
msgid "Standard JSON-RPC2 error codes."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:191
msgid "JSON parse error."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:192
msgid "Invalid request."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:193
msgid "Method not found."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:194
msgid "Internal error."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:196
msgid "I2PControl specific error codes."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:197
msgid "Invalid password provided."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:198
msgid "No authentication token presented."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:199
msgid "Authentication token doesn't exist."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:200
msgid "The provided authentication token was expired and will be removed."
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:201
msgid ""
2013-07-03 01:01:50 +00:00
"The version of the I2PControl API used wasn't specified, but is required to "
"be specified."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2pcontrol.html:202
msgid ""
2013-07-03 01:01:50 +00:00
"The version of the I2PControl API specified is not supported by I2PControl."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:13
#, python-format
msgid ""
"I2PTunnel is a tool for interfacing with and providing services on I2P.\n"
2013-07-03 01:01:50 +00:00
"Destination of an I2PTunnel can be defined using a <a href=\"%(naming)s\">hostname</a>,\n"
"<a href=\"%(naming)s#base32\">Base32</a>, or a full 516-byte destination key.\n"
"An established I2PTunnel will be available on your client machine as localhost:port.\n"
"If you wish to provide a service on I2P network, you simply create I2PTunnel to the\n"
"appropriate ip_address:port. A corresponding 516-byte destination key will be generated\n"
2013-06-05 10:00:16 +00:00
"for the service and it will become avaliable throughout I2P.\n"
"A web interface for I2PTunnel management is avaliable on\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://localhost:7657/i2ptunnel/\">localhost:7657/i2ptunnel/</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:25
msgid "Default Services"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:26
msgid "Server tunnels"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:28
msgid ""
"<b>I2P Webserver</b> - A tunnel pointed to a Jetty webserver run\n"
2013-07-03 01:01:50 +00:00
"on <a href=\"http://localhost:7658\">localhost:7658</a> for convenient and quick hosting on I2P.\n"
2013-06-05 10:00:16 +00:00
"<br>The document root is:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:36
msgid "Client tunnels"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:38
msgid ""
2013-07-03 01:01:50 +00:00
"A HTTP proxy used for browsing I2P and the regular internet anonymously through I2P. \n"
"Browsing internet through I2P uses a random proxy specified by the \"Outproxies:\" option."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:42
msgid "An IRC tunnel to the default anonymous IRC network, Irc2P."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:43
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The anonymous <a href=\"http://en.wikipedia.org/wiki/Monotone_%28software%29\">monotone</a>\n"
2013-06-05 10:00:16 +00:00
"sourcecode repository for I2P"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:47
#, python-format
msgid ""
"A SMTP service provided by postman at <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:50
#, python-format
msgid ""
"The accompanying POP sevice of postman at <a "
"href=\"http://%(postman)s/?page_id=16\">%(postman)s</a>"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:55
msgid "Client Modes"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:56
#: i2p2www/pages/site/docs/api/i2ptunnel.html:138
msgid "Standard"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:57
msgid ""
2013-07-03 01:01:50 +00:00
"Opens a local TCP port that connects to a service (like HTTP, FTP or SMTP) on a destination inside of I2P.\n"
"The tunnel is directed to a random host from the comma seperated (\", \") list of destinations."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:63
msgid ""
2013-07-03 01:01:50 +00:00
"A HTTP-client tunnel. The tunnel connects to the destination specified by the URL\n"
"in a HTTP request. Supports proxying onto internet if an outproxy is provided. Strips HTTP connections of the following headers:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:68
msgid ""
"<b>Accept, Accept-Charset, Accept-Encoding, Accept-Language\n"
2013-07-03 01:01:50 +00:00
" and Accept-Ranges</b> as they vary greatly between browsers and can be used as an identifier."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"HTTP client/server tunnels are via I2Ptunnel force-enabling compression via "
"the following http headers:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:83
msgid ""
2013-07-03 01:01:50 +00:00
"Depending on if the tunnel is using an outproxy or not it will append the "
"following User-Agent:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:87
msgid "Outproxy:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:88
msgid "Internal I2P use:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:93
msgid ""
2013-07-03 01:01:50 +00:00
"Creates a connection to a random IRC server specified by the comma seprated (\", \") \n"
"list of destinations. Only a whitelisted subset of IRC commands are allowed due to anonymity concerns."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:97
msgid "Whitelist:"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:112
msgid "Enables using the I2P router as a SOCKS proxy."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:117
msgid ""
2013-07-03 01:01:50 +00:00
"Enables using the I2P router as a SOCKS proxy with the command whitelist specified by\n"
2013-06-05 10:00:16 +00:00
"<a href=\"#client-mode-irc\">IRC</a> client mode."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:123
msgid ""
"Creates a HTTP tunnel and uses the HTTP request method \"CONNECT\" \n"
"to build a TCP tunnel that usually is used for SSL and HTTPS."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:129
msgid ""
2013-07-03 01:01:50 +00:00
"Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr client tunnel will \n"
2013-06-05 10:00:16 +00:00
"subscribe to a streamr server tunnel."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:137
msgid "Server Modes"
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:139
msgid "Creates a destination to a local ip:port with an open TCP port."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:144
msgid ""
2013-07-03 01:01:50 +00:00
"Creates a destination to a local HTTP server ip:port. Supports gzip for requests with \n"
"Accept-encoding: x-i2p-gzip, replies with Content-encoding: x-i2p-gzip in such a request."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:150
msgid ""
2013-07-03 01:01:50 +00:00
"Functions as both a I2PTunnel HTTP Server, and a I2PTunnel HTTP client with no outproxying\n"
"capabilities. An example application would be a web application that does client-type\n"
2013-06-05 10:00:16 +00:00
"requests, or loopback-testing an eepsite as a diagnostic tool."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:157
msgid ""
2013-07-03 01:01:50 +00:00
"Creates a destination that filters the reqistration sequence of a client and passes \n"
2013-06-05 10:00:16 +00:00
"the clients destination key as a hostname to the IRC-server."
msgstr ""
#: i2p2www/pages/site/docs/api/i2ptunnel.html:163
msgid ""
2013-07-03 01:01:50 +00:00
"A UDP-client that connects to a media server is created. The UDP-Client is "
"coupled with a Streamr server I2PTunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:2
#: i2p2www/pages/site/docs/api/ministreaming.html:17
msgid "Ministreaming Library"
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:5
msgid "Note"
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:7
#, python-format
msgid ""
"The ministreaming library has been enhanced and extended by the\n"
"\"full\" <a href=\"%(streaming)s\">streaming library</a>.\n"
2013-07-03 01:01:50 +00:00
"Ministreaming is deprecated and is incompatible with today's applications.\n"
2013-06-05 10:00:16 +00:00
"The following documentation is old.\n"
2013-07-03 01:01:50 +00:00
"Also note that streaming extends ministreaming in the same Java package (net.i2p.client.streaming),\n"
2013-06-05 10:00:16 +00:00
"so the current <a href=\"%(api)s\">API documentation</a> contains both.\n"
2013-07-03 01:01:50 +00:00
"Obsolete ministreaming classes and methods are clearly marked as deprecated in the Javadocs."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:19
#, python-format
msgid ""
"\n"
"The ministreaming library is a layer on top of the core \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2cp)s\">I2CP</a> that allows reliable, in order, and authenticated streams\n"
"of messages to operate across an unreliable, unordered, and unauthenticated \n"
2013-06-05 10:00:16 +00:00
"message layer. Just like the TCP to IP relationship, this streaming \n"
2013-07-03 01:01:50 +00:00
"functionality has a whole series of tradeoffs and optimizations available, but\n"
"rather than embed that functionality into the base I2P code, it has been factored\n"
"off into its own library both to keep the TCP-esque complexities separate and to\n"
2013-06-05 10:00:16 +00:00
"allow alternative optimized implementations."
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:30
#, python-format
msgid ""
"The ministreaming library was written by mihi as a part of his \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2ptunnel)s\">I2PTunnel</a> application and then factored out and released\n"
"under the BSD license. It is called the \"mini\"streaming library because it makes\n"
"some simplifications in the implementation, while a more robust streaming library\n"
"could be further optimized for operation over I2P. The two main issues with \n"
2013-06-05 10:00:16 +00:00
"the ministreaming library are its use of the traditional TCP two phase \n"
2013-07-03 01:01:50 +00:00
"establishment protocol and the current fixed window size of 1. The establishment\n"
"issue is minor for long lived streams, but for short ones, such as quick HTTP\n"
"requests, the impact can be <a href=\"%(minwww)s\">significant</a>. As for the window\n"
"size, the ministreaming library doesn't maintain any ID or ordering within the \n"
"messages sent (or include any application level ACK or SACK), so it must wait \n"
"on average twice the time it takes to send a message before sending another."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/ministreaming.html:45
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Even with those issues, the ministreaming library performs quite well in many\n"
2013-06-05 10:00:16 +00:00
"situations, and its <a href=\"%(api)s\">API</a>\n"
2013-07-03 01:01:50 +00:00
"is both quite simple and capable of remaining unchanged as different streaming\n"
2013-06-05 10:00:16 +00:00
"implementations are introduced. The library is deployed in its own \n"
"ministreaming.jar.\n"
"Developers in Java who would like to use it can\n"
2013-07-03 01:01:50 +00:00
"access the API directly, while developers in other languages can use it through\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(samv3)s\">SAM</a>'s streaming support."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:4
msgid "SOCKS and SOCKS proxies"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:5
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.\n"
2013-06-05 10:00:16 +00:00
"Enable SOCKS by creating a SOCKS client tunnel in i2ptunnel.\n"
"Both shared-clients and non-shared are supported.\n"
"There is no SOCKS outproxy so it is of limited use."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:12
#, python-format
msgid ""
"\n"
"As it says on the <a href=\"%(faq)s#socks\">FAQ</a>:"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:15
msgid ""
"Many applications leak sensitive\n"
"information that could identify you on the Internet. I2P only filters\n"
"connection data, but if the program you intend to run sends this\n"
"information as content, I2P has no way to protect your anonymity. For\n"
"example, some mail applications will send the IP address of the machine\n"
"they are running on to a mail server. There is no way for I2P to filter\n"
2013-07-03 01:01:50 +00:00
"this, thus using I2P to 'socksify' existing applications is possible, but\n"
2013-06-05 10:00:16 +00:00
"extremely dangerous."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:25
msgid "And quoting from a 2005 email:"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:28
msgid ""
"... there is a reason why human and\n"
"others have both built and abandoned the SOCKS proxies. Forwarding\n"
"arbitrary traffic is just plain unsafe, and it behooves us as\n"
"developers of anonymity and security software to have the safety of\n"
"our end users foremost in our minds."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:36
msgid ""
"Hoping that we can simply strap an arbitrary client on top of I2P\n"
"without auditing both its behavior and its exposed protocols for\n"
"security and anonymity is naive. Pretty much *every* application\n"
"and protocol violates anonymity, unless it was designed for it\n"
"specifically, and even then, most of those do too. That's the\n"
"reality. End users are better served with systems designed for\n"
"anonymity and security. Modifying existing systems to work in\n"
"anonymous environments is no small feat, orders of magnitude more\n"
"work that simply using the existing I2P APIs."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:48
msgid ""
"The SOCKS proxy\n"
"supports standard addressbook names, but not Base64 destinations.\n"
"Base32 hashes should work as of release 0.7.\n"
"It supports outgoing connections only, i.e. an I2PTunnel Client.\n"
"UDP support is stubbed out but not working yet.\n"
"Outproxy selection by port number is stubbed out."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:57
#: i2p2www/pages/site/docs/how/tunnel-routing.html:281
msgid "See Also"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:59
#, python-format
msgid ""
"The notes for <a href=\"%(meeting81)s\">Meeting 81</a> and\n"
"<a href=\"%(meeting82)s\">Meeting 82</a> in March 2004."
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:69
msgid "If You Do Get Something Working"
msgstr ""
#: i2p2www/pages/site/docs/api/socks.html:70
msgid ""
"Please let us know. And please provide substantial warnings about the\n"
"risks of socks proxies."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:3
#: i2p2www/pages/site/docs/protocol/i2cp.html:3
#: i2p2www/pages/site/docs/spec/streaming.html:3
msgid "November 2012"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:8
#, python-format
msgid ""
"The streaming library is technically part of the \"application\" layer,\n"
"as it is not a core router function.\n"
"In practice, however, it provides a vital function for almost all\n"
"existing I2P applications, by providing a TCP-like\n"
"streams over I2P, and allowing existing apps to be easily ported to I2P.\n"
"The other end-to-end transport library for client communication is the\n"
"<a href=\"%(datagrams)s\">datagram library</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:18
#, python-format
msgid ""
"The streaming library is a layer on top of the core \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2cp)s\">I2CP API</a> that allows reliable, in-order, and authenticated streams\n"
"of messages to operate across an unreliable, unordered, and unauthenticated \n"
2013-06-05 10:00:16 +00:00
"message layer. Just like the TCP to IP relationship, this streaming \n"
2013-07-03 01:01:50 +00:00
"functionality has a whole series of tradeoffs and optimizations available, but\n"
"rather than embed that functionality into the base I2P code, it has been factored\n"
"off into its own library both to keep the TCP-esque complexities separate and to\n"
2013-06-05 10:00:16 +00:00
"allow alternative optimized implementations."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:29
msgid ""
"In consideration of the relatively high cost of messages, \n"
2013-07-03 01:01:50 +00:00
"the streaming library's protocol for scheduling and delivering those messages has been optimized to\n"
"allow individual messages passed to contain as much information as is available.\n"
"For instance, a small HTTP transaction proxied through the streaming library can\n"
"be completed in a single round trip - the first messages bundle a SYN, FIN, and\n"
2013-06-05 10:00:16 +00:00
"the small HTTP request payload, and the reply bundles the SYN,\n"
"FIN, ACK, and the HTTP response payload. While an additional\n"
2013-07-03 01:01:50 +00:00
"ACK must be transmitted to tell the HTTP server that the SYN/FIN/ACK has been\n"
"received, the local HTTP proxy can often deliver the full response to the browser \n"
2013-06-05 10:00:16 +00:00
"immediately."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:42
msgid ""
"The streaming library bears much resemblance to an \n"
2013-07-03 01:01:50 +00:00
"abstraction of TCP, with its sliding windows, congestion control algorithms\n"
"(both slow start and congestion avoidance), and general packet behavior (ACK,\n"
2013-06-05 10:00:16 +00:00
"SYN, FIN, RST, rto calculation, etc)."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:49
msgid ""
"The streaming library is\n"
"a robust library\n"
"which is optimized for operation over I2P.\n"
"It has a one-phase setup, and\n"
"it contains a full windowing implementation."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:60
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The streaming library API provides a standard socket paradigm to Java applications.\n"
"The lower-level <a href=\"%(i2cp)s\">I2CP</a> API is completely hidden, except that\n"
"applications may pass <a href=\"%(i2cp)s#options\">I2CP parameters</a> through the\n"
2013-06-05 10:00:16 +00:00
"streaming library, to be interpreted by I2CP."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:67
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The standard interface to the streaming lib is for the application to use the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a> to create an\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2psktm)s\">I2PSocketManager</a>. The application then asks the\n"
"socket manager for an <a href=\"%(i2psess)s\">I2PSession</a>, which will cause\n"
"a connection to the router via <a href=\"%(i2cp)s\">I2CP</a>. The application\n"
"can then setup connections with an <a href=\"%(i2pskt)s\">I2PSocket</a> or\n"
2013-06-05 10:00:16 +00:00
"receive connections with an <a href=\"%(i2psskt)s\">I2PServerSocket</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:82
#, python-format
msgid "Here are the <a href=\"%(url)s\">full streaming library Javadocs</a>."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:86
msgid "For a good example of usage, see the i2psnark code."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:91
msgid "Options and Defaults"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:92
#, python-format
msgid ""
"The options and current default values are listed below.\n"
2013-07-03 01:01:50 +00:00
"Options are case-sensitive and may be set for the whole router, for a particular client, or for an individual socket on a\n"
2013-06-05 10:00:16 +00:00
"per-connection basis.\n"
2013-07-03 01:01:50 +00:00
"Many values are tuned for HTTP performance over typical I2P conditions. Other applications such\n"
2013-06-05 10:00:16 +00:00
"as peer-to-peer services are strongly encouraged to\n"
2013-07-03 01:01:50 +00:00
"modify as necessary, by setting the options and passing them via the call to\n"
"<a href=\"%(i2psktmf)s\">I2PSocketManagerFactory</a>.createManager(_i2cpHost, _i2cpPort, opts).\n"
2013-06-05 10:00:16 +00:00
"Time values are in ms."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:103
#, python-format
msgid ""
"Note that higher-layer APIs, such as <a href=\"%(samv3)s\">SAM</a>,\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(bob)s\">BOB</a>, and <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n"
2013-06-05 10:00:16 +00:00
"may override these defaults with their own defaults.\n"
2013-07-03 01:01:50 +00:00
"Also note that many options only apply to servers listening for incoming connections."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:110
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.9.1, most, but not all, options may be changed on an active socket manager or session.\n"
2013-06-05 10:00:16 +00:00
"See the javadocs for details."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:117
#: i2p2www/pages/site/docs/protocol/i2cp.html:94
#: i2p2www/pages/site/docs/protocol/i2cp.html:437
msgid "Option"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:117
#: i2p2www/pages/site/docs/protocol/i2cp.html:98
#: i2p2www/pages/site/docs/protocol/i2cp.html:441
msgid "Default"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:117
#: i2p2www/pages/site/docs/how/elgamal-aes.html:267
#: i2p2www/pages/site/docs/how/peer-selection.html:282
#: i2p2www/pages/site/docs/spec/common-structures.html:58
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:203
#: i2p2www/pages/site/docs/spec/common-structures.html:257
#: i2p2www/pages/site/docs/spec/common-structures.html:335
#: i2p2www/pages/site/docs/spec/common-structures.html:421
#: i2p2www/pages/site/docs/spec/common-structures.html:529
#: i2p2www/pages/site/docs/spec/common-structures.html:607
#: i2p2www/pages/site/docs/spec/common-structures.html:709
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:31
#: i2p2www/pages/site/docs/spec/datagrams.html:90
2013-06-05 10:00:16 +00:00
msgid "Notes"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:119
msgid ""
2013-07-03 01:01:50 +00:00
"Comma- or space-separated list of Base64 peer Hashes used for either access "
"list or blacklist."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:121
#: i2p2www/pages/site/docs/api/streaming.html:127
#: i2p2www/pages/site/docs/api/streaming.html:133
#: i2p2www/pages/site/docs/api/streaming.html:147
#: i2p2www/pages/site/docs/api/streaming.html:176
#: i2p2www/pages/site/docs/api/streaming.html:184
#: i2p2www/pages/site/docs/api/streaming.html:214
#: i2p2www/pages/site/docs/api/streaming.html:220
#: i2p2www/pages/site/docs/api/streaming.html:226
#: i2p2www/pages/site/docs/api/streaming.html:240
#: i2p2www/pages/site/docs/api/streaming.html:247
#: i2p2www/pages/site/docs/api/streaming.html:254
#, python-format
msgid "As of release %(release)s."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:125
msgid "Use the access list as a whitelist for incoming connections."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:131
msgid "Use the access list as a blacklist for incoming connections."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:137
msgid "Whether to respond to incoming pings"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:141
msgid ""
"Comma- or space-separated list of Base64 peer Hashes to be\n"
"blacklisted for incoming connections to ALL destinations in the context.\n"
2013-07-03 01:01:50 +00:00
"This option must be set in the context properties, NOT in the createManager() options argument.\n"
"Note that setting this in the router context will not affect clients outside the\n"
2013-06-05 10:00:16 +00:00
"router in a separate JVM and context."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:151
msgid ""
2013-07-03 01:01:50 +00:00
"How much transmit data (in bytes) will be accepted that hasn't been written "
"out yet."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:155
msgid ""
"When we're in congestion avoidance, we grow the window size at the rate\n"
2013-07-03 01:01:50 +00:00
"of <code>1/(windowSize*factor)</code>. In standard TCP, window sizes are in bytes,\n"
2013-06-05 10:00:16 +00:00
"while in I2P, window sizes are in messages.\n"
"A higher number means slower growth."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:162
msgid ""
"How long to wait after instantiating a new con \n"
"before actually attempting to connect. If this is\n"
2013-07-03 01:01:50 +00:00
"&lt;= 0, connect immediately with no initial data. If greater than 0, wait\n"
2013-06-05 10:00:16 +00:00
"until the output stream is flushed, the buffer fills, \n"
"or that many milliseconds pass, and include any initial data with the SYN."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:170
msgid ""
2013-07-03 01:01:50 +00:00
"How long to block on connect, in milliseconds. Negative means indefinitely. "
"Default is 5 minutes."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:174
msgid ""
"Whether to disable warnings in the logs when an incoming connection is "
"rejected due to connection limits."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:180
msgid ""
"Whether to listen only for the streaming protocol.\n"
2013-07-03 01:01:50 +00:00
"Setting to true will prohibit communication with Destinations earlier than release 0.7.1\n"
"(released March 2009). Set to true if running multiple protocols on this Destination."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:188
msgid ""
"(0=noop, 1=disconnect)\n"
2013-07-03 01:01:50 +00:00
"What to do on an inactivity timeout - do nothing, disconnect, or send a duplicate ack."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:196
msgid ""
2013-07-03 01:01:50 +00:00
"The initial value of the resend delay field in the packet header, times 1000.\n"
2013-06-05 10:00:16 +00:00
"Not fully implemented; see below."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:201
#: i2p2www/pages/site/docs/api/streaming.html:203
msgid "if no <a href=\"#sharing\">sharing data</a> available"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:203
msgid ""
2013-07-03 01:01:50 +00:00
"In standard TCP, window sizes are in bytes, while in I2P, window sizes are "
"in messages."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:207
msgid ""
"(0 or negative value means unlimited)\n"
"This is a total limit for incoming and outgoing combined."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:212
msgid "Incoming connection limit (per peer; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:218
#: i2p2www/pages/site/docs/api/streaming.html:224
msgid "(per peer; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:230
msgid "The MTU in bytes."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:234
msgid "Maximum number of retransmissions before failure."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:238
msgid "Incoming connection limit (all peers; 0 means disabled)"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:244
#: i2p2www/pages/site/docs/api/streaming.html:251
msgid ""
"(all peers; 0 means disabled)\n"
"Use with caution as exceeding this will disable a server for a long time."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:260
msgid ""
"(2=interactive not supported)\n"
2013-07-03 01:01:50 +00:00
"This doesn't currently do anything, but setting it to a value other than 1 will cause an error."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:265
2013-07-03 01:01:50 +00:00
msgid ""
"How long to block on read, in milliseconds. Negative means indefinitely."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:269
msgid ""
"When we're in slow start, we grow the window size at the rate\n"
"of 1/(factor). In standard TCP, window sizes are in bytes,\n"
"while in I2P, window sizes are in messages.\n"
"A higher number means slower growth."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:276
msgid ""
"How long to block on write/flush, in milliseconds. Negative means "
"indefinitely."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:284
#: i2p2www/pages/site/docs/spec/streaming.html:10
msgid "Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:286
msgid "See the Streaming Library Specification page."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:290
msgid "Implementation Details"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:293
msgid ""
2013-07-03 01:01:50 +00:00
"The initiator sends a packet with the SYNCHRONIZE flag set. This packet may contain the initial data as well.\n"
"The peer replies with a packet with the SYNCHRONIZE flag set. This packet may contain the initial response data as well."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:298
msgid ""
2013-07-03 01:01:50 +00:00
"The initiator may send additional data packets, up to the initial window size, before receiving the SYNCHRONIZE response.\n"
2013-06-05 10:00:16 +00:00
"These packets will also have the send Stream ID field set to 0.\n"
2013-07-03 01:01:50 +00:00
"Recipients must buffer packets received on unknown streams for a short period of time, as they may\n"
2013-06-05 10:00:16 +00:00
"arrive out of order, in advance of the SYNCHRONIZE packet."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:305
msgid "MTU Selection and Negotiation"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:306
msgid ""
2013-07-03 01:01:50 +00:00
"The maximum message size (also called the MTU / MRU) is negotiated to the lower value supported by\n"
"the two peers. As tunnel messages are padded to 1KB, a poor MTU selection will lead to\n"
2013-06-05 10:00:16 +00:00
"a large amount of overhead.\n"
"The MTU is specified by the option i2p.streaming.maxMessageSize.\n"
2013-07-03 01:01:50 +00:00
"The current default MTU of 1730 was chosen to fit precisely into two 1K I2NP tunnel messages,\n"
2013-06-05 10:00:16 +00:00
"including overhead for the typical case."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:315
msgid ""
2013-07-03 01:01:50 +00:00
"The first message in a connection includes a 387 byte (typical) Destination added by the streaming layer,\n"
"and usually a 898 byte (typical) LeaseSet, and Session keys, bundled in the Garlic message by the router.\n"
"(The LeaseSet and Session Keys will not be bundled if an ElGamal Session was previously established).\n"
"Therefore, the goal of fitting a complete HTTP request in a single 1KB I2NP message is not always attainable.\n"
"However, the selection of the MTU, together with careful implementation of fragmentation\n"
"and batching strategies in the tunnel gateway processor, are important factors in network bandwidth,\n"
"latency, reliability, and efficiency, especially for long-lived connections."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:326
#, python-format
msgid ""
"Data integrity is assured by the gzip CRC-32 checksum implemented in\n"
"<a href=\"%(i2cp)s#format\">the I2CP layer</a>.\n"
"There is no checksum field in the streaming protocol."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:334
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Each packet is sent through I2P as a single message (or as an individual clove in a\n"
"<a href=\"%(garlicrouting)s\">Garlic Message</a>). Message encapsulation is implemented\n"
"in the underlying <a href=\"%(i2cp)s\">I2CP</a>, <a href=\"%(i2np)s\">I2NP</a>, and\n"
"<a href=\"%(tunnelmessage)s\">tunnel message</a> layers. There is no packet delimiter\n"
2013-06-05 10:00:16 +00:00
"mechanism or payload length field in the streaming protocol."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:344
msgid "Windowing"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:345
msgid ""
2013-07-03 01:01:50 +00:00
"The streaming lib uses standard slow-start (exponential window growth) and congestion avoidance (linear window growth)\n"
2013-06-05 10:00:16 +00:00
"phases, with exponential backoff.\n"
"Windowing and acknowledgments use packet count, not byte count."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:352
msgid "Close"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:353
msgid ""
2013-07-03 01:01:50 +00:00
"Any packet, including one with the SYNCHRONIZE flag set, may have the CLOSE flag sent as well.\n"
"The connection is not closed until the peer responds with the CLOSE flag.\n"
2013-06-05 10:00:16 +00:00
"CLOSE packets may contain data as well."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:360
msgid "Control Block Sharing"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:361
msgid ""
"The streaming lib supports \"TCP\" Control Block sharing.\n"
"This shares two important streaming lib parameters\n"
"(window size and round trip time)\n"
"across connections to the same remote peer.\n"
"This is used for \"temporal\" sharing at connection open/close time,\n"
"not \"ensemble\" sharing during a connection (See\n"
"<a href=\"http://www.ietf.org/rfc/rfc2140.txt\">RFC 2140</a>).\n"
2013-07-03 01:01:50 +00:00
"There is a separate share per ConnectionManager (i.e. per local Destination)\n"
2013-06-05 10:00:16 +00:00
"so that there is no information leakage to other Destinations on the\n"
"same router.\n"
"The share data for a given peer expires after a few minutes."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:375
msgid "Other Parameters"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:376
msgid ""
2013-07-03 01:01:50 +00:00
"The following parameters are hardcoded, but may be of interest for analysis:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:393
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:785
2013-06-05 10:00:16 +00:00
msgid "History"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:394
msgid ""
2013-07-03 01:01:50 +00:00
"The streaming library has grown organically for I2P - first mihi implemented the\n"
"\"mini streaming library\" as part of I2PTunnel, which was limited to a window\n"
"size of 1 message (requiring an ACK before sending the next one), and then it was\n"
"refactored out into a generic streaming interface (mirroring TCP sockets) and the\n"
"full streaming implementation was deployed with a sliding window protocol and \n"
"optimizations to take into account the high bandwidth x delay product. Individual\n"
"streams may adjust the maximum packet size and other options. The default\n"
"message size is selected to fit precisely in two 1K I2NP tunnel messages,\n"
2013-06-05 10:00:16 +00:00
"and is a reasonable tradeoff between the bandwidth costs of \n"
2013-07-03 01:01:50 +00:00
"retransmitting lost messages, and the latency and overhead of multiple messages."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:408
#: i2p2www/pages/site/docs/how/elgamal-aes.html:331
#: i2p2www/pages/site/docs/how/garlic-routing.html:242
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:790
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/peer-selection.html:265
#: i2p2www/pages/site/docs/how/tunnel-routing.html:255
#: i2p2www/pages/site/docs/protocol/i2cp.html:646
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:235
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:222
#: i2p2www/pages/site/docs/transport/ntcp.html:443
#: i2p2www/pages/site/docs/transport/ssu.html:502
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/tunnels/implementation.html:503
msgid "Future Work"
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:409
msgid ""
"The behavior of the streaming library has a profound impact on\n"
"application-level performance, and as such, is an important\n"
"area for further analysis."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:415
msgid "Additional tuning of the streaming lib parameters may be necessary."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:418
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Another area for research is the interaction of the streaming lib with the\n"
2013-06-05 10:00:16 +00:00
"NTCP and SSU transport layers.\n"
"See <a href=\"%(ntcpdisc)s\">the NTCP discussion page</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:423
msgid ""
2013-07-03 01:01:50 +00:00
"The interaction of the routing algorithms with the streaming lib strongly affects performance.\n"
"In particular, random distribution of messages to multiple tunnels in a pool\n"
"leads to a high degree of out-of-order delivery which results in smaller window\n"
2013-06-05 10:00:16 +00:00
"sizes than would otherwise be the case. The router currently routes \n"
"messages for a single from/to destination pair through a consistent set \n"
"of tunnels, until tunnel expiration or delivery failure. The router's \n"
"failure and tunnel selection algorithms should be reviewed for possible \n"
"improvements."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:433
msgid "The data in the first SYN packet may exceed the receiver's MTU."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:436
msgid "The DELAY_REQUESTED field could be used more."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:439
msgid ""
"Duplicate initial SYNCHRONIZE packets on short-lived streams may not be "
"recognized and removed."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:442
msgid "Don't send the MTU in a retransmission."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:445
msgid ""
"Data is sent along unless the outbound window is full.\n"
"(i.e. no-Nagle or TCP_NODELAY)\n"
"Probably should have a configuration option for this."
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:450
msgid ""
2013-07-03 01:01:50 +00:00
"zzz has added debug code to the streaming library to log packets in a wireshark-compatible\n"
2013-06-05 10:00:16 +00:00
"(pcap) format; Use this to further analyze performance.\n"
2013-07-03 01:01:50 +00:00
"The format may require enhancement to map more streaming lib parameters to TCP fields."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/api/streaming.html:455
msgid ""
"There are proposals to replace the streaming lib with standard TCP\n"
"(or perhaps a null layer together with raw sockets).\n"
"This would unfortunately be incompatible with the streaming lib\n"
"but it would be good to compare the performance of the two."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:3
#: i2p2www/pages/site/docs/spec/configuration.html:3
msgid "September 2012"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:7
msgid ""
"There are several bittorrent clients and trackers on I2P.\n"
"As I2P addressing uses a Destination instead of an IP and port, minor\n"
2013-07-03 01:01:50 +00:00
"changes are required to tracker and client software for operation on I2P.\n"
2013-06-05 10:00:16 +00:00
"These changes are specified below.\n"
2013-07-03 01:01:50 +00:00
"Note carefully the guidelines for compatibility with older I2P clients and trackers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:15
msgid ""
"This page specifies protocol details common to all clients and trackers.\n"
2013-07-03 01:01:50 +00:00
"Specific clients and trackers may implement other unique features or protocols."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:20
msgid "We welcome additional ports of client and tracker software to I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:26
msgid "Announces"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:27
msgid ""
2013-07-03 01:01:50 +00:00
"Clients generally include a fake port=6881 parameter in the announce, for compatibility with older trackers.\n"
2013-06-05 10:00:16 +00:00
"Trackers may ignore the port parameter, and should not require it."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:32
#, python-format
msgid ""
"The ip parameter is the base 64 of the client's\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>,\n"
"using the I2P Base 64 alphabet [A-Z][a-z][0-9]-~.\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"are 387+ bytes, so the Base 64 is 516+ bytes.\n"
2013-07-03 01:01:50 +00:00
"Clients generally append \".i2p\" to the Base 64 Destination for compatibility with older trackers.\n"
2013-06-05 10:00:16 +00:00
"Trackers should not require an appended \".i2p\"."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:42
msgid "Other parameters are the same as in standard bittorrent."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:46
msgid ""
2013-07-03 01:01:50 +00:00
"While all current Destinations for clients are exactly 387 bytes, a tracker should not\n"
"presume that will always be so. A reasonable maximum to assume, for now, is 475 bytes.\n"
"As the tracker must decode the Base64 to deliver compact responses (see below),\n"
2013-06-05 10:00:16 +00:00
"the tracker should probably decode and reject bad Base64 when announced."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"The default response type is non-compact. Clients may request a compact response with\n"
2013-06-05 10:00:16 +00:00
"the parameter compact=1. A tracker may, but is not required to, return\n"
"a compact response when requested."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:59
msgid ""
"Developers of new I2P clients\n"
2013-07-03 01:01:50 +00:00
"are strongly encouraged to implemenent announces over their own tunnel rather than\n"
"the HTTP client proxy at port 4444. Doing so is both more efficient and it allows\n"
2013-06-05 10:00:16 +00:00
"destination enforcement by the tracker (see below)."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:66
msgid ""
"There are no known I2P clients or trackers that currently support UDP "
"announce/responses."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:71
msgid "Non-Compact Tracker Responses"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:72
msgid ""
"The non-compact response is just as in standard bittorrent, with an I2P "
"\"ip\"."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"Trackers generally include a fake port key, or use the port from the announce, for compatibility with older clients.\n"
2013-06-05 10:00:16 +00:00
"Clients must ignore the port parameter, and should not require it."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:81
#, python-format
msgid ""
"The value of the ip key is the base 64 of the client's\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>, as described above.\n"
"Trackers generally append \".i2p\" to the Base 64 Destination if it wasn't in the announce ip, for compatibility with older clients.\n"
2013-06-05 10:00:16 +00:00
"Clients should not require an appended \".i2p\" in the responses."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:88
msgid "Other response keys and values are the same as in standard bittorrent."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:94
msgid "Compact Tracker Responses"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:95
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In the compact response, the value of the \"peers\" dictionary key is a single byte string,\n"
2013-06-05 10:00:16 +00:00
"whose length is a multiple of 32 bytes.\n"
"This string contains the concatenated\n"
"<a href=\"%(commonstructures)s#type_Hash\">32-byte SHA-256 Hashes</a>\n"
"of the binary\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"of the peers.\n"
2013-07-03 01:01:50 +00:00
"This hash must be computed by the tracker, unless destination enforcement\n"
"(see below) is used, in which case the hash delivered in the X-I2P-DestHash\n"
2013-06-05 10:00:16 +00:00
"or X-I2P-DestB32 HTTP headers may be converted to binary and stored.\n"
"The peers key may be absent, or the peers value may be zero-length."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:109
msgid ""
2013-07-03 01:01:50 +00:00
"While compact response support is optional for both clients and trackers, it is highly\n"
2013-06-05 10:00:16 +00:00
"recommended as it reduces the nominal response size by over 90%."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:116
msgid "Destination Enforcement"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:117
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Some, but not all, I2P bittorrent clients announce over their own tunnels.\n"
"Trackers may choose to prevent spoofing by requiring this, and verifying the\n"
2013-06-05 10:00:16 +00:00
"client's\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destination</a>\n"
"using HTTP headers added by the I2PTunnel HTTP Server tunnel.\n"
2013-07-03 01:01:50 +00:00
"The headers are X-I2P-DestHash, X-I2P-DestB64, and X-I2P-DestB32, which are\n"
2013-06-05 10:00:16 +00:00
"different formats for the same information.\n"
"These headers cannot be spoofed by the client.\n"
2013-07-03 01:01:50 +00:00
"A tracker enforcing destinations need not require the ip announce parameter at all."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:129
msgid ""
2013-07-03 01:01:50 +00:00
"As several clients use the HTTP proxy instead of their own tunnel for announces,\n"
"destination enforcement will prevent usage by those clients unless or until\n"
2013-06-05 10:00:16 +00:00
"those clients are converted to announcing over their own tunnel."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:135
msgid ""
2013-07-03 01:01:50 +00:00
"Unfortunately, as the network grows, so will the amount of maliciousness,\n"
2013-06-05 10:00:16 +00:00
"so we expect that all trackers will eventually enforce destinations.\n"
"Both tracker and client developers should anticipate it."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:143
msgid "Announce Host Names"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:144
#, python-format
msgid ""
"Announce URL host names in torrent files generally follow the\n"
"<a href=\"%(naming)s\">I2P naming standards</a>.\n"
2013-07-03 01:01:50 +00:00
"In addition to host names from address books and \".b32.i2p\" Base 32 hostnames,\n"
"the full Base 64 Destination (with [or without?] \".i2p\" appended) should be supported.\n"
"Non-open trackers should recognize their own host name in any of these formats."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:152
msgid ""
"To preserve anonymity,\n"
"clients should generally ignore non-I2P announce URLs in torrent files."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:159
msgid "Client Connections"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:160
msgid ""
"Client-to-client connections use the standard protocol over TCP.\n"
"There are no known I2P clients that currently support uTP communication."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:165
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P uses 387+ byte <a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
2013-06-05 10:00:16 +00:00
"for addresses, as explained above."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:170
msgid ""
2013-07-03 01:01:50 +00:00
"If the client has only the hash of the destination (such as from a compact response or PEX), it must perform a lookup\n"
"by encoding it with Base 32, appending \".b32.i2p\", and querying the Naming Service,\n"
2013-06-05 10:00:16 +00:00
"which will return the full Destination if available."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:176
msgid ""
2013-07-03 01:01:50 +00:00
"If the client has a peer's full Destination it received in a non-compact response, it should use it\n"
2013-06-05 10:00:16 +00:00
"directly in the connection setup.\n"
2013-07-03 01:01:50 +00:00
"Do not convert a Destination back to a Base 32 hash for lookup, this is quite inefficient."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:183
msgid "Cross-Network Prevention"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:184
msgid ""
"To preserve anonymity,\n"
2013-07-03 01:01:50 +00:00
"I2P bittorrent clients generally do not support non-I2P announces or peer connections.\n"
2013-06-05 10:00:16 +00:00
"I2P HTTP outproxies often block announces.\n"
"There are no known SOCKS outproxies supporting bittorrent traffic."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:191
msgid ""
2013-07-03 01:01:50 +00:00
"To prevent usage by non-I2P clients via an HTTP inproxy, I2P trackers often\n"
2013-06-05 10:00:16 +00:00
"block accesses or announces that contain an X-Forwarded-For HTTP header.\n"
2013-07-03 01:01:50 +00:00
"Trackers should reject standard network announces with IPv4 or IPv6 IPs, and not deliver them in responses."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:200
#, python-format
msgid ""
"I2P PEX is based on ut_pex.\n"
2013-07-03 01:01:50 +00:00
"As there does not appear to be a formal specification of ut_pex available,\n"
2013-06-05 10:00:16 +00:00
"it may be necessary to review the libtorrent source for assistance.\n"
"It is an extension message, identified as \"i2p_pex\" in\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension handshake</a>.\n"
"It contains a bencoded dictionary with up to 3 keys, \"added\", \"added.f\", and \"dropped\".\n"
"The added and dropped values are each a single byte string, whose length is a multiple of 32 bytes.\n"
2013-06-05 10:00:16 +00:00
"These byte strings are the concatenated SHA-256 Hashes of the binary\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>\n"
"of the peers.\n"
2013-07-03 01:01:50 +00:00
"This is the same format as the peers dictionary value in the i2p compact response format specified above.\n"
2013-06-05 10:00:16 +00:00
"The added.f value, if present, is the same as in ut_pex."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:218
msgid ""
"DHT support is included in the i2psnark client as of version 0.9.2.\n"
"Preliminary differences from\n"
"<a href=\"http://www.bittorrent.org/beps/bep_0005.html\">BEP 5</a>\n"
"are described below, and are subject to change.\n"
"Contact the I2P developers if you wish to develop a client supporting DHT."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:226
msgid ""
2013-07-03 01:01:50 +00:00
"Unlike standard DHT, I2P DHT does not use a bit in the options handshake, or the PORT message.\n"
2013-06-05 10:00:16 +00:00
"It is advertised with an extension message, identified as \"i2p_dht\" in\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.bittorrent.org/beps/bep_0010.html\">the extension handshake</a>.\n"
"It contains a bencoded dictionary with two keys, \"port\" and \"rport\", both integers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:233
msgid ""
"The UDP (datagram) port listed in the compact node info is used\n"
"to receive repliable (signed) datagrams.\n"
"This is used for queries, except for announces.\n"
"We call this the \"query port\".\n"
"This is the \"port\" value from the extension message.\n"
"Queries use I2CP protocol number 17."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:242
msgid ""
"In addition to that UDP port, we use a second datagram\n"
"port equal to the query port + 1. This is used to receive\n"
"unsigned (raw) datagrams for replies, errors, and announces.\n"
"This port provides increased efficiency since replies\n"
"contain tokens sent in the query, and need not be signed.\n"
"We call this the \"response port\".\n"
"This is the \"rport\" value from the extension message.\n"
"It must be 1 + the query port.\n"
"Responses and announces use I2CP protocol number 18."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:254
msgid ""
"Compact peer info is 32 bytes (32 byte SHA256 Hash)\n"
"instead of 4 byte IP + 2 byte port. There is no peer port.\n"
2013-07-03 01:01:50 +00:00
"In a response, the \"values\" key is a list of strings, each containing a single compact peer info."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:260
msgid ""
2013-07-03 01:01:50 +00:00
"Compact node info is 54 bytes (20 byte SHA1 Hash + 32 byte SHA256 Hash + 2 byte port)\n"
2013-06-05 10:00:16 +00:00
"instead of 20 byte SHA1 Hash + 4 byte IP + 2 byte port.\n"
"In a response, the \"nodes\" key is a\n"
"single byte string with concatenated compact node info."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:267
msgid ""
"Secure node ID requirement: To make various DHT attacks more difficult,\n"
2013-07-03 01:01:50 +00:00
"the first 4 bytes of the Node ID must match the first 4 bytes of the destination Hash,\n"
"and the next two bytes of the Node ID must match the next two bytes of the\n"
2013-06-05 10:00:16 +00:00
"destination hash exclusive-ORed with the port."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:274
msgid ""
"In a torrent file,\n"
"the trackerless torrent dictionary \"nodes\" key is TBD.\n"
"It could be a list of\n"
"32 byte binary strings (SHA256 Hashes) instead of a list of lists\n"
"containing a host string and a port integer.\n"
"Alternatives: A single byte string with concatenated hashes,\n"
"or a list of strings alone."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:285
#: i2p2www/pages/site/docs/how/intro.html:187
msgid "Additional Information"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:287
#, python-format
msgid ""
"I2P bittorrent standards are generally discussed on <a "
"href=\"http://%(zzz)s/\">%(zzz)s</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:290
#, python-format
msgid ""
"A chart of current tracker software capabilities is <a "
"href=\"http://%(zzz)s/files/trackers.html\">also available there</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:293
#, python-format
msgid ""
"The\n"
"<a href=\"http://%(forum)s/viewtopic.php?t=2068\">I2P bittorrent FAQ</a>"
msgstr ""
#: i2p2www/pages/site/docs/applications/bittorrent.html:297
#, python-format
msgid "<a href=\"http://%(zzz)s/topics/812\">DHT on I2P discussion</a>"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:2
#: i2p2www/pages/site/docs/applications/supported.html:5
msgid "Supported Applications"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:9
#: i2p2www/pages/site/docs/applications/supported.html:186
msgid "Blogging, Forums, and Wikis"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:11
#: i2p2www/pages/site/docs/applications/supported.html:232
msgid "Decentralized File Storage"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:14
#: i2p2www/pages/site/docs/applications/supported.html:244
msgid "Development Tools"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:17
#: i2p2www/pages/site/docs/applications/supported.html:246
msgid "Version control"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:21
#: i2p2www/pages/site/docs/applications/supported.html:265
msgid "Domain Naming"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:23
#: i2p2www/pages/site/docs/applications/supported.html:283
msgid "Email"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:26
#: i2p2www/pages/site/docs/applications/supported.html:315
msgid "File Sharing"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:29
#: i2p2www/pages/site/docs/applications/supported.html:317
msgid "BitTorrent clients"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:31
#: i2p2www/pages/site/docs/applications/supported.html:359
msgid "BitTorrent trackers and indexers"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:40
#: i2p2www/pages/site/docs/applications/supported.html:426
msgid "Network Administration"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:43
#: i2p2www/pages/site/docs/applications/supported.html:428
msgid "General-purpose socket utilities"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:50
#: i2p2www/pages/site/docs/applications/supported.html:469
msgid "Real-time Chat"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:53
#: i2p2www/pages/site/docs/applications/supported.html:471
msgid "Instant messaging clients"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:55
#: i2p2www/pages/site/docs/applications/supported.html:481
msgid "IRC clients"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:57
#: i2p2www/pages/site/docs/applications/supported.html:532
msgid "IRC servers"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:62
#: i2p2www/pages/site/docs/applications/supported.html:548
msgid "Web Browsing"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:65
#: i2p2www/pages/site/docs/applications/supported.html:550
msgid "Anonymous websites"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:67
#: i2p2www/pages/site/docs/applications/supported.html:599
msgid "Proxy software"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:69
#: i2p2www/pages/site/docs/applications/supported.html:624
msgid "Inproxies"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:71
#: i2p2www/pages/site/docs/applications/supported.html:640
msgid "Outproxies"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:76
#: i2p2www/pages/site/docs/applications/supported.html:654
msgid "Website Hosting"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:79
#: i2p2www/pages/site/docs/applications/supported.html:669
msgid "Web servers"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:85
#, python-format
msgid ""
"This is intended to be a comprehensive listing of applications used with\n"
"I2P. If you know of something that's missing please submit a ticket on\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://%(trac)s/report/1/\">Trac</a>, and be sure to select the\n"
2013-06-05 10:00:16 +00:00
"“www” component in the submission form."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:92
msgid ""
"\n"
"Supported applications are tagged with one or more of the following:"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:97
#: i2p2www/pages/site/docs/applications/supported.html:279
#: i2p2www/pages/site/docs/applications/supported.html:311
#: i2p2www/pages/site/docs/applications/supported.html:323
#: i2p2www/pages/site/docs/applications/supported.html:666
msgid "bundled"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:100
msgid ""
"<em>Bundled application</em> — I2P ships with a few officially\n"
"supported applications that let new users take immediate advantage of\n"
"some of I2P's more useful capabilities."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:107
#: i2p2www/pages/site/docs/applications/supported.html:195
#: i2p2www/pages/site/docs/applications/supported.html:208
#: i2p2www/pages/site/docs/applications/supported.html:220
#: i2p2www/pages/site/docs/applications/supported.html:228
#: i2p2www/pages/site/docs/applications/supported.html:241
#: i2p2www/pages/site/docs/applications/supported.html:292
#: i2p2www/pages/site/docs/applications/supported.html:391
#: i2p2www/pages/site/docs/applications/supported.html:413
#: i2p2www/pages/site/docs/applications/supported.html:422
#: i2p2www/pages/site/docs/applications/supported.html:510
msgid "plugin"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:110
#, python-format
msgid ""
"<em>Third-party plugin</em> — I2P's plugin system provides convenient\n"
"deployment of I2P-enabled applications and allows tighter integration\n"
"with the router. Plugins are [reviewed by the community](<a href=\n"
"\"http://%(plugins)s\">http://%(plugins)s</a>) to identify security and\n"
"anonymity issues."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:121
#: i2p2www/pages/site/docs/applications/supported.html:220
#: i2p2www/pages/site/docs/applications/supported.html:228
#: i2p2www/pages/site/docs/applications/supported.html:241
#: i2p2www/pages/site/docs/applications/supported.html:252
#: i2p2www/pages/site/docs/applications/supported.html:261
#: i2p2www/pages/site/docs/applications/supported.html:329
#: i2p2www/pages/site/docs/applications/supported.html:340
#: i2p2www/pages/site/docs/applications/supported.html:355
#: i2p2www/pages/site/docs/applications/supported.html:401
#: i2p2www/pages/site/docs/applications/supported.html:413
#: i2p2www/pages/site/docs/applications/supported.html:422
#: i2p2www/pages/site/docs/applications/supported.html:437
#: i2p2www/pages/site/docs/applications/supported.html:443
#: i2p2www/pages/site/docs/applications/supported.html:449
#: i2p2www/pages/site/docs/applications/supported.html:459
#: i2p2www/pages/site/docs/applications/supported.html:465
#: i2p2www/pages/site/docs/applications/supported.html:477
#: i2p2www/pages/site/docs/applications/supported.html:510
#: i2p2www/pages/site/docs/applications/supported.html:516
#: i2p2www/pages/site/docs/applications/supported.html:522
#: i2p2www/pages/site/docs/applications/supported.html:528
#: i2p2www/pages/site/docs/applications/supported.html:605
#: i2p2www/pages/site/docs/applications/supported.html:614
#: i2p2www/pages/site/docs/applications/supported.html:620
#: i2p2www/pages/site/docs/applications/supported.html:666
#: i2p2www/pages/site/docs/applications/supported.html:681
#: i2p2www/pages/site/docs/applications/supported.html:687
#: i2p2www/pages/site/docs/applications/supported.html:693
#: i2p2www/pages/site/docs/applications/supported.html:699
msgid "standalone"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:121
#: i2p2www/pages/site/docs/applications/supported.html:195
#: i2p2www/pages/site/docs/applications/supported.html:202
#: i2p2www/pages/site/docs/applications/supported.html:208
#: i2p2www/pages/site/docs/applications/supported.html:214
#: i2p2www/pages/site/docs/applications/supported.html:349
#: i2p2www/pages/site/docs/applications/supported.html:373
#: i2p2www/pages/site/docs/applications/supported.html:382
#: i2p2www/pages/site/docs/applications/supported.html:538
#: i2p2www/pages/site/docs/applications/supported.html:544
msgid "standalone/mod"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:124
msgid ""
"<em>Third-party standalone application</em> — Many standard network\n"
"applications only require careful setup and configuration to communicate\n"
"anonymously over I2P. These are tagged with <em>standalone</em>. Some\n"
"applications, tagged with <em>standalone/mod</em>, require patching to\n"
"function properly over I2P or to prevent inadvertent disclosure of\n"
"identifying information such as the user's hostname or external IP\n"
"address."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:135
#: i2p2www/pages/site/docs/applications/supported.html:302
#: i2p2www/pages/site/docs/applications/supported.html:558
#: i2p2www/pages/site/docs/applications/supported.html:568
#: i2p2www/pages/site/docs/applications/supported.html:577
#: i2p2www/pages/site/docs/applications/supported.html:583
#: i2p2www/pages/site/docs/applications/supported.html:589
#: i2p2www/pages/site/docs/applications/supported.html:595
#: i2p2www/pages/site/docs/applications/supported.html:636
#: i2p2www/pages/site/docs/applications/supported.html:650
msgid "service"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:138
msgid ""
"<em>Third-party essential network service</em> — Services which on\n"
"the I2P network are analogous to those provided on the public Internet\n"
"by hosting providers, ISPs, and Google: eepsite indexes and jump\n"
"services, search engines, email, DNS-style name services, hosting,\n"
"proxies, etc. These services focus on boosting the usefulness of the\n"
"network as a whole, and making network content more discoverable."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:148
#: i2p2www/pages/site/docs/applications/supported.html:220
#: i2p2www/pages/site/docs/applications/supported.html:355
msgid "unmaintained"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:151
msgid ""
"<em>Unmaintained</em> — This is used to tag plugins, applications,\n"
"and services which appear to be unmaintained and may be removed from\n"
"this listing in the future."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:159
#, python-format
msgid ""
"Warning: Using an application, plugin, or service with I2P\n"
2013-07-03 01:01:50 +00:00
"doesn't automatically protect your anonymity. I2P is merely a set of tools\n"
"which can help you mitigate certain <a href=\"%(threatmodel)s\">identified\n"
"threats to anonymity</a>. We do not and cannot make any guarantees about the\n"
2013-06-05 10:00:16 +00:00
"safety of the applications, plugins, and services listed below. Most\n"
2013-07-03 01:01:50 +00:00
"applications and plugins must be properly configured, and some will need to\n"
"be patched — and even then your anonymity might not be assured. Similarly,\n"
2013-06-05 10:00:16 +00:00
"services could put your anonymity at risk, either by design or through\n"
"carelessness on their part or your own."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:171
msgid ""
"If you have doubts about the suitability of an application,\n"
2013-07-03 01:01:50 +00:00
"plugin, or service for use with I2P, you are urged to inquire about privacy\n"
"issues with its maintainers, to search its mailing lists and bug tracker if\n"
2013-06-05 10:00:16 +00:00
"one exists, and consult trusted, knowledgeable members of the I2P\n"
"community."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:179
msgid ""
"Take responsibility for your own anonymity and safety — always\n"
2013-07-03 01:01:50 +00:00
"seek expert advice, educate yourself, practice good judgment, be mindful of\n"
2013-06-05 10:00:16 +00:00
"disclosing personally identifying information, and don't take\n"
"shortcuts."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:201
msgid "Lightweight forum software."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:207
msgid "Another lightweight blogging platform."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:213
msgid "Most popular open source forum software."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:219
msgid "Distributed forums software, originally developed by jrandom."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:224
#, python-format
msgid ""
"A Java-based MediaWiki clone. No external database needed.\n"
"Plugin available <a href=\"http://%(plugins)s/plugins/jamwiki\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:236
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Port of the <a href=\"http://tahoe-lafs.org/\"><strong>Tahoe-LAFS</strong></a>\n"
2013-06-05 10:00:16 +00:00
"distributed file system to the I2P network. Controller plugin <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:251
msgid "Most popular distributed version control system."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:257
#, python-format
msgid ""
"Another distributed version control system. Currently\n"
"<a href=\"%(monotone)s\">used in I2P development</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:269
#, python-format
msgid ""
"Provides management of addressbooks, which are part of a simple,\n"
"user-controlled <a href=\"%(naming)s\">I2P naming system</a> somewhat\n"
"analogous to the Internet's Domain Name System (DNS). Addressbooks map\n"
2013-07-03 01:01:50 +00:00
"Base64 destinations to short, usually human-readable “domain” names ending\n"
"with a .i2p suffix which the I2P router's HTTP client can resolve back to\n"
2013-06-05 10:00:16 +00:00
"Base64 addresses. (<em>Note:</em> While Base64 destinations are globally\n"
"unique, addressbook “domain” names only resolve to unique destinations\n"
"locally.)"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:288
msgid ""
"Serverless peer-to-peer email application using a distributed hash table\n"
"(DHT) for secure mail storage."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:297
msgid ""
"Provides email service within the I2P network via @mail.i2p addresses,\n"
2013-07-03 01:01:50 +00:00
"and email gateway service between the I2P network and the public Internet\n"
2013-06-05 10:00:16 +00:00
"via @i2pmail.org addresses. One of the oldest continuous services on I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:307
msgid ""
"Simple web browser-based email interface. Configured to use Postman's\n"
"email service by default."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:322
msgid "I2P's integrated BitTorrent client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:328
msgid "Modified version of I2PSnark."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:334
msgid ""
"\n"
"A fork of rufus that uses the Basic Open Bridge (BOB) and has many\n"
"improvements, including using the latest wxwidgets and python. It also\n"
"supports use of seedless if installed for trackerless torrents and\n"
"magnet-link like fetching of torrents within I2P.\n"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:345
msgid ""
"Clean, full-featured cross-platform BitTorrent client with official\n"
"ports for several GUI toolkits."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:354
msgid "Has a plugin providing I2P support."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:361
#, python-format
msgid ""
"For a detailed feature comparison of I2P-enabled trackers/indexers, see\n"
"<a href=\"http://%(zzz)s/files/trackers.html\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:369
msgid ""
2013-07-03 01:01:50 +00:00
"The code that powered one of the first major tracker/indexer sites on the\n"
2013-06-05 10:00:16 +00:00
"Internet. Patched for I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:378
#, python-format
msgid ""
"Lightweight tracker/indexer. I2P mod available in the i2p.opentracker\n"
"branch of the <a href=\"%(newdevs)s\">I2P Monotone repository</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:387
#, python-format
msgid ""
"<a href=\"http://%(zzz)s/\">zzz's</a> Java-based open tracker. More info\n"
"<a href=\"http://%(zzz)s/topics/598?page=1#p2085\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:400
msgid "I2P port of the aMule ED2K client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:409
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Port of the <a href=\"http://www.phex.org/mambo/\">Phex</a> Gnutella client. Website\n"
2013-06-05 10:00:16 +00:00
"for plugin version <a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:418
#, python-format
msgid ""
"Cache for Gnutella peers on I2P. Website for plugin version\n"
"<a href=\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:433
msgid ""
"Unix standard tool for socket relaying. Several clones, ports, and forks\n"
"have appeared over the years."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:442
msgid "Like netcat but more powerful."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:448
msgid ""
2013-07-03 01:01:50 +00:00
"Proxy providing simple, transparent SOCKS-ification of network applications."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:458
msgid ""
2013-07-03 01:01:50 +00:00
"Most popular implementation of the Secure Shell (SSH) protocol and related "
"tools."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:464
msgid "Open source Secure Shell (SSH) client for Windows."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:476
msgid "IM client with multiple incarnations."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:483
msgid ""
"Many IRC clients leak identifying information to servers or other\n"
2013-07-03 01:01:50 +00:00
"clients, so I2P's IRC and SOCKS IRC client tunnels filter certain inbound\n"
"and outbound messages to scrub data such as LAN IP addresses, external IP\n"
"addresses, local hostnames, and the name and version of the IRC client. Two\n"
"message types in particular, DCC and CTCP, can't be sufficiently anonymized\n"
"without changes to the protocols or to IRC client/server code, so they are\n"
2013-06-05 10:00:16 +00:00
"completely blocked, except for CTCP ACTION (the message emitted by the\n"
"<code>/me</code> command) which isn't inherently dangerous."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:494
msgid ""
2013-07-03 01:01:50 +00:00
"I2P's IRC filtering may not cover every possible leak — users should also\n"
"check if their client is sending their real name or local username. Packet\n"
2013-06-05 10:00:16 +00:00
"sniffers such as <a href=\"http://www.wireshark.org/\">Wireshark</a> are\n"
2013-07-03 01:01:50 +00:00
"useful here. Eliminating remaining leaks may be as simple as changing the\n"
2013-06-05 10:00:16 +00:00
"client's default configuration. If that doesn't help, inform the I2P\n"
"developers; they may be able to solve it via additional filtering."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:506
#, python-format
msgid ""
"Small Java-based IRC client. Plugin available <a href=\n"
"\"http://%(stats)s/i2p/plugins/\">here</a>."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:515
msgid "Cross-platform graphical IRC client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:521
msgid "Unixy terminal-based IRC client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:527
msgid "Another Unixy terminal-based IRC client."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:537
msgid "IRC server developed from scratch."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:543
msgid "Most popular IRC server."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:555
msgid ""
2013-07-03 01:01:50 +00:00
"Any website hosted anonymously on I2P, reachable through the I2P router's "
"HTTP proxy."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:563
msgid ""
"Distributed anonymous websites hosted\n"
"using Tahoe-LAFS-I2P, currently only reachable with Tahoe-LAFS-I2P\n"
"clients or through the Tahoe-LAFS-I2P HTTP proxy."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:573
#, python-format
msgid ""
"Website for <a href=\"http://%(sponge)s/\">sponge's</a> jump service.\n"
"Source code available."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:582
msgid "Another jump service."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:588
msgid "Dynamically updated eepsite index."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:594
#, python-format
msgid "Website for <a href=\"http://%(zzz)s/\">zzz's</a> jump service."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:604
msgid "SOCKS-enabled caching web proxy with basic filtering capabilities."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:610
msgid ""
"Privacy-focused non-caching web proxy with advanced filtering\n"
"capabilities. Excels at removing ads and other junk."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:619
msgid "Venerable caching web proxy."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:626
msgid "Gateways allowing users on the public Internet to access eepsites."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:633
#, python-format
msgid "<a href=\"http://%(tino)s/\">tino's</a> inproxy on the public Internet."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:642
msgid ""
2013-07-03 01:01:50 +00:00
"Gateways allowing I2P users to access content hosted on the public Internet."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:649
msgid "Publicly advertised outproxy running Squid, located in Germany."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:659
msgid ""
"Lightweight web server and Java servlet container. I2P is tightly\n"
2013-07-03 01:01:50 +00:00
"integrated with a bundled copy of Jetty which by default is configured to\n"
"host the <a href=\"http://127.0.0.1:7658/\">user's eepsite</a>. The bundled\n"
"Jetty also serves the I2P router console and web applications bundled with\n"
2013-06-05 10:00:16 +00:00
"I2P."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:671
msgid ""
"In addition to Jetty, any web server should function over I2P without\n"
"modification so long as it's HTTP-compliant. Some web servers known to\n"
"currently serve content on the I2P network are:"
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:680
msgid "Most popular web server on the public WWW."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:686
msgid "Web server and Java servlet container. More features than Jetty."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:692
msgid "Fast lightweight web server."
msgstr ""
#: i2p2www/pages/site/docs/applications/supported.html:698
msgid "High-performance lightweight web server."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:2
msgid "Naming discussion"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:4
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"NOTE: The following is a discussion of the reasons behind the I2P naming system,\n"
2013-06-05 10:00:16 +00:00
"common arguments and possible alternatives.\n"
"See <a href=\"%(naming)s\">the naming page</a> for current documentation."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:10
msgid "Discarded alternatives"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:12
msgid ""
2013-07-03 01:01:50 +00:00
"Naming within I2P has been an oft-debated topic since the very beginning with\n"
"advocates across the spectrum of possibilities. However, given I2P's inherent\n"
"demand for secure communication and decentralized operation, the traditional\n"
"DNS-style naming system is clearly out, as are \"majority rules\" voting systems."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:19
msgid ""
2013-07-03 01:01:50 +00:00
"I2P does not promote the use of DNS-like services though, as the damage done\n"
"by hijacking a site can be tremendous - and insecure destinations have no\n"
"value. DNSsec itself still falls back on registrars and certificate authorities,\n"
"while with I2P, requests sent to a destination cannot be intercepted or the reply\n"
"spoofed, as they are encrypted to the destination's public keys, and a destination\n"
"itself is just a pair of public keys and a certificate. DNS-style systems on the\n"
"other hand allow any of the name servers on the lookup path to mount simple denial\n"
"of service and spoofing attacks. Adding on a certificate authenticating the\n"
"responses as signed by some centralized certificate authority would address many of\n"
"the hostile nameserver issues but would leave open replay attacks as well as \n"
2013-06-05 10:00:16 +00:00
"hostile certificate authority attacks."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:33
msgid ""
2013-07-03 01:01:50 +00:00
"Voting style naming is dangerous as well, especially given the effectiveness of\n"
"Sybil attacks in anonymous systems - the attacker can simply create an arbitrarily\n"
"high number of peers and \"vote\" with each to take over a given name. Proof-of-work\n"
"methods can be used to make identity non-free, but as the network grows the load\n"
"required to contact everyone to conduct online voting is implausible, or if the\n"
2013-06-05 10:00:16 +00:00
"full network is not queried, different sets of answers may be reachable."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:42
msgid ""
2013-07-03 01:01:50 +00:00
"As with the Internet however, I2P is keeping the design and operation of a \n"
"naming system out of the (IP-like) communication layer. The bundled naming library\n"
"includes a simple service provider interface which <a href=\"#alternatives\">alternate naming systems</a> can\n"
"plug into, allowing end users to drive what sort of naming tradeoffs they prefer."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:50
msgid ""
2013-07-03 01:01:50 +00:00
"See also <a href=\"https://zooko.com/distnames.html\">Names: Decentralized, "
"Secure, Human-Meaningful: Choose Two</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:55
msgid "(adapted from a post in the old Syndie, November 26, 2005)"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:58
msgid ""
"Q:\n"
"What to do if some hosts \n"
2013-07-03 01:01:50 +00:00
"do not agree on one address and if some addresses are working, others are not? \n"
2013-06-05 10:00:16 +00:00
"Who is the right source of a name?"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:64
msgid ""
"A:\n"
2013-07-03 01:01:50 +00:00
"You don't. This is actually a critical difference between names on I2P and how \n"
"DNS works - names in I2P are human readable, secure, but <b>not globally \n"
"unique</b>. This is by design, and an inherent part of our need for security."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:70
msgid ""
2013-07-03 01:01:50 +00:00
"If I could somehow convince you to change the destination associated with some \n"
"name, I'd successfully \"take over\" the site, and under no circumstances is that \n"
"acceptable. Instead, what we do is make names <b>locally unique</b>: they are \n"
"what <i>you</i> use to call a site, just as how you can call things whatever \n"
"you want when you add them to your browser's bookmarks, or your IM client's \n"
"buddy list. Who you call \"Boss\" may be who someone else calls \"Sally\"."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:78
msgid "Names will not, ever, be securely human readable and globally unique."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:83
msgid ""
"The following from zzz is a review of several common\n"
"complaints about I2P's naming system."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:89
msgid ""
"<b>Inefficiency:</b>\n"
2013-07-03 01:01:50 +00:00
"The whole hosts.txt is downloaded (if it has changed, since eepget uses the etag and last-modified headers).\n"
2013-06-05 10:00:16 +00:00
"It's about 400K right now for almost 800 hosts."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:94
msgid ""
2013-07-03 01:01:50 +00:00
"True, but this isn't a lot of traffic in the context of i2p, which is itself wildly inefficient\n"
"(floodfill databases, huge encryption overhead and padding, garlic routing, etc.).\n"
"If you downloaded a hosts.txt file from someone every 12 hours it averages out to about 10 bytes/sec."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:99
msgid ""
2013-07-03 01:01:50 +00:00
"As is usually the case in i2p, there is a fundamental tradeoff here between anonymity and efficiency.\n"
"Some would say that using the etag and last-modified headers is hazardous because it exposes when you\n"
2013-06-05 10:00:16 +00:00
"last requested the data.\n"
2013-07-03 01:01:50 +00:00
"Others have suggested asking for specific keys only (similar to what jump services do, but\n"
2013-06-05 10:00:16 +00:00
"in a more automated fashion), possibly at a further cost in anonymity."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:106
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Possible improvements would be a replacement or supplement to addressbook (see <a href=\"http://%(i2host)s/\">%(i2host)sp</a>),\n"
"or something simple like subscribing to http://example.i2p/cgi-bin/recenthosts.cgi rather than http://example.i2p/hosts.txt.\n"
"If a hypothetical recenthosts.cgi distributed all hosts from the last 24 hours, for example,\n"
"that could be both more efficient and more anonymous than the current hosts.txt with last-modified and etag."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:112
#, python-format
msgid ""
"A sample implementation is on stats.i2p at\n"
"<a href=\"%(url)s\">%(url)s</a>.\n"
"This script returns an Etag with a timestamp.\n"
"When a request comes in with the If-None-Match etag,\n"
2013-07-03 01:01:50 +00:00
"the script ONLY returns new hosts since that timestamp, or 304 Not Modified if there are none.\n"
"In this way, the script efficiently returns only the hosts the subscriber\n"
2013-06-05 10:00:16 +00:00
"does not know about, in an addressbook-compatible manner."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:121
msgid ""
2013-07-03 01:01:50 +00:00
"So the inefficiency is not a big issue and there are several ways to improve things without\n"
2013-06-05 10:00:16 +00:00
"radical change."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:127
msgid ""
"<b>Not Scalable:</b>\n"
"The 400K hosts.txt (with linear search) isn't that big at the moment and\n"
"we can probably grow by 10x or 100x before it's a problem."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:132
msgid ""
"As far as network traffic see above.\n"
2013-07-03 01:01:50 +00:00
"But unless you're going to do a slow real-time query over the network for\n"
"a key, you need to have the whole set of keys stored locally, at a cost of about 500 bytes per key."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:139
msgid ""
"<b>Requires configuration and \"trust\":</b>\n"
2013-07-03 01:01:50 +00:00
"Out-of-the-box addressbook is only subscribed to http://www.i2p2.i2p/hosts.txt, which is rarely updated,\n"
2013-06-05 10:00:16 +00:00
"leading to poor new-user experience."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:144
msgid ""
2013-07-03 01:01:50 +00:00
"This is very much intentional. jrandom wants a user to \"trust\" a hosts.txt\n"
2013-06-05 10:00:16 +00:00
"provider, and as he likes to say, \"trust is not a boolean\".\n"
2013-07-03 01:01:50 +00:00
"The configuration step attempts to force users to think about issues of trust in an anonymous network."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:149
msgid ""
"As another example, the \"Eepsite Unknown\" error page in the HTTP Proxy\n"
2013-07-03 01:01:50 +00:00
"lists some jump services, but doesn't \"recommend\" any one in particular,\n"
2013-06-05 10:00:16 +00:00
"and it's up to the user to pick one (or not).\n"
2013-07-03 01:01:50 +00:00
"jrandom would say we trust the listed providers enough to list them but not enough to\n"
2013-06-05 10:00:16 +00:00
"automatically go fetch the key from them."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:156
msgid ""
"How successful this is, I'm not sure.\n"
"But there must be some sort of hierarchy of trust for the naming system.\n"
"To treat everyone equally may increase the risk of hijacking."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:163
msgid "<b>It isn't DNS</b>"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:166
msgid ""
2013-07-03 01:01:50 +00:00
"Unfortunately real-time lookups over i2p would significantly slow down web "
"browsing."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:169
msgid ""
2013-07-03 01:01:50 +00:00
"Also, DNS is based on lookups with limited caching and time-to-live, while i2p\n"
2013-06-05 10:00:16 +00:00
"keys are permanent."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:173
msgid "Sure, we could make it work, but why? It's a bad fit."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:178
msgid ""
"<b>Not reliable:</b>\n"
"It depends on specific servers for addressbook subscriptions."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:182
msgid ""
"Yes it depends on a few servers that you have configured.\n"
"Within i2p, servers and services come and go.\n"
"Any other centralized system (for example DNS root servers) would\n"
2013-07-03 01:01:50 +00:00
"have the same problem. A completely decentralized system (everybody is authoritative)\n"
"is possible by implementing an \"everybody is a root DNS server\" solution, or by\n"
"something even simpler, like a script that adds everybody in your hosts.txt to your addressbook."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:190
msgid ""
2013-07-03 01:01:50 +00:00
"People advocating all-authoritative solutions generally haven't thought through\n"
2013-06-05 10:00:16 +00:00
"the issues of conflicts and hijacking, however."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:196
msgid ""
"<b>Awkward, not real-time:</b>\n"
2013-07-03 01:01:50 +00:00
"It's a patchwork of hosts.txt providers, key-add web form providers, jump service providers,\n"
2013-06-05 10:00:16 +00:00
"eepsite status reporters.\n"
"Jump servers and subscriptions are a pain, it should just work like DNS."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:202
msgid "See the reliability and trust sections."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:207
msgid ""
2013-07-03 01:01:50 +00:00
"So, in summary, the current system is not horribly broken, inefficient, or un-scalable,\n"
2013-06-05 10:00:16 +00:00
"and proposals to \"just use DNS\" aren't well thought-through."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:212
msgid "Alternatives"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:213
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P source contains several pluggable naming systems and supports configuration options\n"
2013-06-05 10:00:16 +00:00
"to enable experimentation with naming systems."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:218
msgid ""
"<b>Meta</b> - calls two or more other naming systems in order.\n"
"By default, calls PetName then HostsTxt."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:222
msgid ""
"<b>PetName</b> - Looks up in a petnames.txt file.\n"
"The format for this file is NOT the same as hosts.txt."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:226
msgid "<b>HostsTxt</b> - Looks up in the following files, in order:"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:234
msgid ""
2013-07-03 01:01:50 +00:00
"<b>AddressDB</b> - Each host is listed in a separate file in a addressDb/ "
"directory."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:237
msgid ""
"<b>Eepget</b> - does an HTTP lookup request from an external\n"
"server - must be stacked after the HostsTxt lookup with Meta.\n"
"This could augment or replace the jump system.\n"
"Includes in-memory caching."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:243
msgid ""
"<b>Exec</b> - calls an external program for lookup, allows\n"
"additional experimentation in lookup schemes, independent of java.\n"
"Can be used after HostsTxt or as the sole naming system.\n"
"Includes in-memory caching."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:249
msgid "<b>Dummy</b> - used as a fallback for Base64 names, otherwise fails."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:253
msgid ""
2013-07-03 01:01:50 +00:00
"The current naming system can be changed with the advanced config option 'i2p.naming.impl'\n"
2013-06-05 10:00:16 +00:00
"(restart required).\n"
"See core/java/src/net/i2p/client/naming for details."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:258
msgid ""
"Any new system should be stacked with HostsTxt, or should\n"
2013-07-03 01:01:50 +00:00
"implement local storage and/or the addressbook subscription functions, since addressbook\n"
2013-06-05 10:00:16 +00:00
"only knows about the hosts.txt files and format."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:264
msgid "Certificates"
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:265
msgid ""
2013-07-03 01:01:50 +00:00
"I2P destinations contain a certificate, however at the moment that certificate\n"
2013-06-05 10:00:16 +00:00
"is always null.\n"
2013-07-03 01:01:50 +00:00
"With a null certificate, base64 destinations are always 516 bytes ending in \"AAAA\",\n"
"and this is checked in the addressbook merge mechanism, and possibly other places.\n"
"Also, there is no method available to generate a certificate or add it to a\n"
2013-06-05 10:00:16 +00:00
"destination. So these will have to be updated to implement certificates."
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:273
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"One possible use of certificates is for <a href=\"%(todo)s#hashcash\">proof "
"of work</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:276
msgid ""
2013-07-03 01:01:50 +00:00
"Another is for \"subdomains\" (in quotes because there is really no such thing,\n"
"i2p uses a flat naming system) to be signed by the 2nd level domain's keys."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:280
msgid ""
2013-07-03 01:01:50 +00:00
"With any certificate implementation must come the method for verifying the\n"
2013-06-05 10:00:16 +00:00
"certificates.\n"
"Presumably this would happen in the addressbook merge code.\n"
2013-07-03 01:01:50 +00:00
"Is there a method for multiple types of certificates, or multiple certificates?"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/discussions/naming.html:286
msgid ""
"Adding on a certificate authenticating the\n"
2013-07-03 01:01:50 +00:00
"responses as signed by some centralized certificate authority would address many of\n"
"the hostile nameserver issues but would leave open replay attacks as well as \n"
2013-06-05 10:00:16 +00:00
"hostile certificate authority attacks."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:2
msgid "Low-level Cryptography Details"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:6
msgid "This page specifies the low-level details of the cryptography in I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:10
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"There are a handful of cryptographic algorithms in use within I2P, but we have\n"
"reduced them to a bare minimum to deal with our needs - one symmetric algorithm\n"
"one asymmetric algorithm, one signing algorithm, and one hashing algorithm. However, \n"
"we do combine them in some particular ways to provide message integrity (rather than\n"
"relying on a MAC). In addition, as much as we hate doing anything new in regards to \n"
"cryptography, we can't seem to find a reference discussing (or even naming) the \n"
"technique used in <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> (but we're sure others have done it)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:20
msgid "ElGamal encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:22
msgid ""
"\n"
"ElGamal is used for asymmetric encryption.\n"
"ElGamal is used in several places in I2P:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:27
#, python-format
msgid ""
"To encrypt router-to-router <a href=\"%(tunnelcreation)s\">Tunnel Build "
"Messages</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:30
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"For end-to-end (destination-to-destination) encryption as a part of <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
"using the encryption key in the <a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:34
#: i2p2www/pages/site/docs/how/cryptography.html:189
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"For encryption of some <a href=\"%(netdb)s#delivery\">netDb stores and queries sent to floodfill routers</a>\n"
2013-06-05 10:00:16 +00:00
"as a part of <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>\n"
"(destination-to-router or router-to-router)."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:41
msgid ""
2013-07-03 01:01:50 +00:00
"We use common primes for 2048 ElGamal encryption and decryption, as given by <a href=\"http://tools.ietf.org/html/rfc3526\">IETF RFC-3526</a>.\n"
"We currently only use ElGamal to encrypt the IV and session key in a single block, followed by the \n"
2013-06-05 10:00:16 +00:00
"AES encrypted payload using that key and IV."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:47
msgid "The unencrypted ElGamal contains:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:64
msgid ""
2013-07-03 01:01:50 +00:00
"The H(data) is the SHA256 of the data that is encrypted in the ElGamal block,\n"
2013-06-05 10:00:16 +00:00
"and is preceded by a nonzero byte. \n"
"This byte could be random, but as implemented it is always 0xFF.\n"
"It could possibly be used for flags in the future.\n"
"The data encrypted in the block may be up to 222 bytes long.\n"
"As the encrypted data may contain a substantial number of zeros if the\n"
2013-07-03 01:01:50 +00:00
"cleartext is smaller than 222 bytes, it is recommended that higher layers pad\n"
2013-06-05 10:00:16 +00:00
"the cleartext to 222 bytes with random data.\n"
"Total length: typically 255 bytes."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:76
msgid "The encrypted ElGamal contains:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:102
msgid ""
2013-07-03 01:01:50 +00:00
"Each encrypted part is prepended with zeros to a size of exactly 257 bytes.\n"
2013-06-05 10:00:16 +00:00
"Total length: 514 bytes.\n"
"In typical usage, higher layers pad the cleartext data to 222 bytes,\n"
"resulting in an unencrypted block of 255 bytes.\n"
"This is encoded as two 256-byte encrypted parts,\n"
"and there is a single byte of zero padding before each part at this layer."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:111
#, python-format
msgid "See <a href=\"%(url)s\">the ElGamal code</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:115
msgid ""
"The shared prime is the \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://tools.ietf.org/html/rfc3526#section-3\">[Oakley prime for 2048 bit keys]</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:122
msgid "or as a hexadecimal value:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:138
msgid "Using 2 as the generator."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:142
msgid "Short Exponent"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:143
#, python-format
msgid ""
"While the standard exponent size is 2048 bits (256 bytes) and the I2P\n"
"<a href=\"%(commonstructures)s#type_PrivateKey\">PrivateKey</a>\n"
"is a full 256 bytes,\n"
"we use the short exponent size of 226 bits (28.25 bytes).\n"
"This should be safe for use with the Oakley primes, per\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(pdf)s\">On Diffie-Hellman Key Agreement with Short Exponents - van Oorschot, Weiner</a>\n"
"at EuroCrypt 96, and <a href=\"%(benchmarks)s\">crypto++'s benchmarks</a>.\n"
2013-06-05 10:00:16 +00:00
"Benchmarks originally at <code>%(oldbenchmarks)s</code> (now dead),\n"
2013-07-03 01:01:50 +00:00
"rescued from <a href=\"http://www.archive.org/\">the wayback machine</a>, dated Apr 23, 2008."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:158
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Also, <a href=\"%(book)s\">Koshiba &amp; Kurosawa: Short Exponent Diffie-Hellman Problems</a> (PKC 2004, LNCS 2947, pp. 173-186)\n"
"<a href=\"%(fulltext)s\">(full text on Google Books)</a> apparently supports this, according to\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(thread)s\">this sci.crypt thread</a>.\n"
"The remainder of the PrivateKey is padded with zeroes."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:167
#: i2p2www/pages/site/docs/how/cryptography.html:264
#: i2p2www/pages/site/docs/how/cryptography.html:343
#: i2p2www/pages/site/docs/how/cryptography.html:382
msgid "Obsolescence"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:168
msgid ""
2013-07-03 01:01:50 +00:00
"The vulnerability of the network to an ElGamal attack and the impact of transitioning to a longer bit length is to be studied.\n"
2013-06-05 10:00:16 +00:00
"It may be quite difficult to make any change backward-compatible."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:176
msgid "AES is used for symmetric encryption, in several cases:"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:181
msgid "For <a href=\"#transports\">transport encryption</a> after DH key exchange"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:185
#, python-format
msgid ""
"For end-to-end (destination-to-destination) encryption as a part of <a "
"href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:195
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"For encryption of <a href=\"%(tunnelrouting)s#testing\">periodic tunnel test"
" messages</a> sent from the router to itself, through its own tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:200
#, python-format
msgid ""
"We use AES with 256 bit keys and 128 bit blocks in CBC mode.\n"
2013-07-03 01:01:50 +00:00
"The padding used is specified in <a href=\"%(rfc2313)s\">IETF RFC-2313 (PKCS#5 1.5, section 8.1 (for block type 02))</a>.\n"
"In this case, padding exists of pseudorandomly generated octets to match 16 byte blocks.\n"
"Specifically, see <a href=\"%(code1)s\">[the CBC code]</a> and the Cryptix AES\n"
"<a href=\"%(code2)s\">[implementation]</a>, as well as the padding, found in the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(code3)s\">ElGamalAESEngine.getPadding</a> function."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:265
msgid ""
2013-07-03 01:01:50 +00:00
"The vulnerability of the network to an AES attack and the impact of transitioning to a longer bit length is to be studied.\n"
2013-06-05 10:00:16 +00:00
"It may be quite difficult to make any change backward-compatible."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:270
#: i2p2www/pages/site/docs/how/cryptography.html:362
#: i2p2www/pages/site/docs/how/cryptography.html:388
#: i2p2www/pages/site/docs/how/cryptography.html:456
#: i2p2www/pages/site/docs/how/garlic-routing.html:281
#: i2p2www/pages/site/docs/how/peer-selection.html:296
msgid "References"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:273
msgid "Feb. 7, 2006 Status Notes"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:280
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Signatures are generated and verified with 1024 bit DSA (L=1024, N=160), as implemented in\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(code)s\">[DSAEngine]</a>.\n"
"DSA was chosen because it is much faster for signatures than ElGamal."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:286
msgid "The DSA constants"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:337
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"%(commonstructures)s#type_SigningPublicKey\">Signing Public Key</a> is 1024 bits.\n"
"The <a href=\"%(commonstructures)s#type_SigningPrivateKey\">Signing Private Key</a> is 160 bits."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:344
#, python-format
msgid ""
"<a href=\"%(pdf)s\">NIST 800-57</a>\n"
"recommends a minimum of (L=2048, N=224) for usage beyond 2010.\n"
2013-07-03 01:01:50 +00:00
"This may be mitigated somewhat by the \"cryptoperiod\", or lifespan of a given key."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:350
msgid ""
"The prime number was chosen <a href=\"#choosing_constants\">in 2003</a>,\n"
2013-07-03 01:01:50 +00:00
"and the person that chose the number (TheCrypto) is currently no longer an I2P developer.\n"
2013-06-05 10:00:16 +00:00
"As such, we do not know if the prime chosen is a 'strong prime'.\n"
2013-07-03 01:01:50 +00:00
"If a larger prime is chosen for future purposes, this should be a strong prime, and we will document the construction process."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:357
msgid ""
2013-07-03 01:01:50 +00:00
"The vulnerability of the network to a DSA attack and the impact of transitioning to longer keys is to be studied.\n"
2013-06-05 10:00:16 +00:00
"It may be quite difficult to make any change backward-compatible."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:365
#: i2p2www/pages/site/docs/how/cryptography.html:367
#, python-format
msgid "Meeting %(num)s"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:369
msgid "Choosing the constants"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:377
#, python-format
msgid ""
"Hashes within I2P are plain old SHA256, as implemented in\n"
"<a href=\"%(code)s\">[SHA256Generator]</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:383
msgid ""
2013-07-03 01:01:50 +00:00
"The vulnerability of the network to a SHA-256 attack and the impact of transitioning to a longer hash is to be studied.\n"
2013-06-05 10:00:16 +00:00
"It may be quite difficult to make any change backward-compatible."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:395
msgid ""
"At the lowest protocol layer,\n"
2013-07-03 01:01:50 +00:00
"point-to-point inter-router communication is protected by the transport layer security.\n"
2013-06-05 10:00:16 +00:00
"Both transports use 256 byte (2048 bit) Diffie-Hellman key exchange\n"
"using\n"
2013-07-03 01:01:50 +00:00
"<a href=\"#elgamal\">the same shared prime and generator as specified above for ElGamal</a>,\n"
2013-06-05 10:00:16 +00:00
"followed by symmetric AES encryption as described above.\n"
"This provides\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">perfect forward secrecy</a>\n"
2013-06-05 10:00:16 +00:00
"on the transport links."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:407
msgid "NTCP connections"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:409
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"NTCP connections are negotiated with a 2048 Diffie-Hellman implementation,\n"
"using the router's identity to proceed with a station to station agreement, followed by\n"
"some encrypted protocol specific fields, with all subsequent data encrypted with AES\n"
2013-06-05 10:00:16 +00:00
"(as above).\n"
2013-07-03 01:01:50 +00:00
"The primary reason to do the DH negotiation instead of using <a href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> is that it provides '<a href=\"http://en.wikipedia.org/wiki/Perfect_forward_secrecy\">(perfect) forward secrecy</a>', while <a href=\"%(elgamalaes)s\">ElGamalAES+SessionTag</a> does not."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:417
msgid ""
2013-07-03 01:01:50 +00:00
"In order to migrate to a more standardized implementation (TLS/SSL or even "
"SSH), the following issues must be addressed:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:421
msgid ""
"Can we somehow reestablish sessions securely (ala session tags) or do we "
"need to do full negotiation each time?"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:424
msgid ""
2013-07-03 01:01:50 +00:00
"Can we simplify/avoid the x509 or other certificate formats and use our own RouterInfo structure (which \n"
2013-06-05 10:00:16 +00:00
"contains the ElGamal and DSA keys)?"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:429
#, python-format
msgid "See <a href=\"%(ntcp)s\">the NTCP specification</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:433
msgid "UDP connections"
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:434
msgid ""
2013-07-03 01:01:50 +00:00
"SSU (the UDP transport) encrypts each packet with AES256/CBC with both an explicit IV and MAC \n"
"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a 2048 bit \n"
"Diffie-Hellman exchange, station-to-station authentication with the other \n"
"router's DSA key, plus each network message has their own hash for local integrity \n"
2013-06-05 10:00:16 +00:00
"checking."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:442
#, python-format
msgid "See <a href=\"%(ssu)s#keys\">the SSU specification</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/cryptography.html:446
#, python-format
msgid ""
"WARNING - I2P's HMAC-MD5-128 used in SSU is apparently non-standard.\n"
2013-07-03 01:01:50 +00:00
"Apparently, an early version of SSU used HMAC-SHA256, and then it was switched\n"
"to MD5-128 for performance reasons, but left the 32-byte buffer size intact.\n"
2013-06-05 10:00:16 +00:00
"See HMACGenerator.java and\n"
"<a href=\"%(statusnotes)s\">the 2005-07-05 status notes</a>\n"
"for details."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:2
msgid "ElGamal/AES + SessionTag Encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:3
msgid "February 2011"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:7
msgid "ElGamal/AES+SessionTags is used for end-to-end encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:11
msgid ""
2013-07-03 01:01:50 +00:00
"As an unreliable, unordered, message based system, I2P uses a simple combination \n"
"of asymmetric and symmetric encryption algorithms to provide data confidentiality \n"
"and integrity to garlic messages. As a whole, the combination is referred \n"
"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to describe \n"
2013-06-05 10:00:16 +00:00
"the use of 2048bit ElGamal, AES256, SHA256, and 32 byte nonces."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:19
#: i2p2www/pages/site/docs/how/tech-intro.html:512
msgid ""
2013-07-03 01:01:50 +00:00
"The first time a router wants to encrypt a garlic message to another router, \n"
"they encrypt the keying material for an AES256 session key with ElGamal and \n"
"append the AES256/CBC encrypted payload after that encrypted ElGamal block. \n"
"In addition to the encrypted payload, the AES encrypted section contains the \n"
"payload length, the SHA256 hash of the unencrypted payload, as well as a number \n"
"of \"session tags\" - random 32 byte nonces. The next time the sender wants \n"
"to encrypt a garlic message to another router, rather than ElGamal encrypt \n"
"a new session key they simply pick one of the previously delivered session \n"
"tags and AES encrypt the payload like before, using the session key used with \n"
"that session tag, prepended with the session tag itself. When a router receives \n"
"a garlic encrypted message, they check the first 32 bytes to see if it matches \n"
"an available session tag - if it does, they simply AES decrypt the message, \n"
2013-06-05 10:00:16 +00:00
"but if it does not, they ElGamal decrypt the first block."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:35
#: i2p2www/pages/site/docs/how/tech-intro.html:528
msgid ""
2013-07-03 01:01:50 +00:00
"Each session tag can be used only once so as to prevent internal adversaries \n"
"from unnecessarily correlating different messages as being between the same \n"
"routers. The sender of an ElGamal/AES+SessionTag encrypted message chooses \n"
"when and how many tags to deliver, prestocking the recipient with enough tags \n"
"to cover a volley of messages. Garlic messages may detect the successful tag \n"
"delivery by bundling a small additional message as a clove (a \"delivery status \n"
"message\") - when the garlic message arrives at the intended recipient and \n"
"is decrypted successfully, this small delivery status message is one of the \n"
"cloves exposed and has instructions for the recipient to send the clove back \n"
"to the original sender (through an inbound tunnel, of course). When the original \n"
"sender receives this delivery status message, they know that the session tags \n"
2013-06-05 10:00:16 +00:00
"bundled in the garlic message were successfully delivered."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:50
msgid ""
"Session tags themselves have a short lifetime, after which they are \n"
2013-07-03 01:01:50 +00:00
"discarded if not used. In addition, the quantity stored for each key is limited, \n"
"as are the number of keys themselves - if too many arrive, either new or old \n"
"messages may be dropped. The sender keeps track whether messages using session \n"
"tags are getting through, and if there isn't sufficient communication it may \n"
"drop the ones previously assumed to be properly delivered, reverting back \n"
2013-06-05 10:00:16 +00:00
"to the full expensive ElGamal encryption.\n"
2013-07-03 01:01:50 +00:00
"A session will continue to exist until all its tags are exhausted or expire."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:61
msgid ""
"Sessions are unidirectional. Tags are delivered from Alice to Bob,\n"
"and Alice then uses the tags, one by one, in subsequent messages to Bob."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:66
msgid ""
"Sessions may be established between Destinations, between Routers, or\n"
"between a Router and a Destination.\n"
"Each Router and Destination maintains its own Session Key Manager to\n"
"keep track of Session Keys and Session Tags.\n"
2013-07-03 01:01:50 +00:00
"Separate Session Key Managers prevents correlation of multiple Destinations\n"
2013-06-05 10:00:16 +00:00
"to each other or a Router by adversaries."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:77
msgid "Message Reception"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:78
msgid ""
"Each message received has one of two\n"
"the two possible conditions:</p>"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:84
msgid ""
"It is part of an existing session and contains a Session Tag and an AES "
"encrypted block"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:85
2013-07-03 01:01:50 +00:00
msgid ""
"It is for a new session and contains both ElGamal and AES encrypted blocks"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:88
msgid ""
"When a router receives a message, it will first assume it is from\n"
2013-07-03 01:01:50 +00:00
"an existing session and attempt to look up the Session Tag and decrypt the following data using AES.\n"
2013-06-05 10:00:16 +00:00
"If that fails, it will assume it is for a new session and attempt to\n"
"decrypt it using ElGamal."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:97
msgid "New Session Message Specification"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:98
msgid ""
2013-07-03 01:01:50 +00:00
"A New Session ElGamal Message contains two parts, an encrypted ElGamal block\n"
2013-06-05 10:00:16 +00:00
"and an encrypted AES block."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:103
msgid "The encrypted message contains:"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:127
msgid "ElGamal Block"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:128
msgid "The encrypted ElGamal Block is always 514 bytes long."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:132
msgid "The unencrypted ElGamal data is 222 bytes long, containing:"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:164
#, python-format
msgid ""
"The 32-byte\n"
"<a href=\"%(commonstructures)s#type_SessionKey\">Session Key</a>\n"
"is the identifier for the session.\n"
2013-07-03 01:01:50 +00:00
"The 32-byte Pre-IV will be used to generate the IV for the AES block that follows;\n"
2013-06-05 10:00:16 +00:00
"the IV is the first 16 bytes of the SHA-256 Hash of the Pre-IV."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:172
#, python-format
msgid ""
"The 222 byte payload is encrypted\n"
"<a href=\"%(cryptography)s#elgamal\">using ElGamal</a>\n"
"and the encrypted block is 514 bytes long.\n"
"</p>"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:179
msgid "AES Block"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:180
msgid "The unencrypted data in the AES block contains the following:"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:224
#, python-format
msgid "2-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>, 0-200"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:228
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"That many 32-byte <a href=\"%(commonstructures)s#type_SessionTag\">Session "
"Tags</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:232
#, python-format
msgid "4-byte <a href=\"%(commonstructures)s#type_Integer\">Integer</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:236
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The 32-byte <a href=\"%(commonstructures)s#type_Hash\">SHA256 Hash</a> of "
"the payload"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:240
msgid "A one-byte value. Normally == 0. If == 0x01, a Session Key follows"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:244
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A 32-byte <a href=\"%(commonstructures)s#type_SessionKey\">Session Key</a>,\n"
" to replace the old key, and is only present if preceding flag is 0x01"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:249
msgid "the data"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:251
msgid ""
"Random data to a multiple of 16 bytes for the total length.\n"
" May contain more than the minimum required padding."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:256
msgid "Minimum length: 48 bytes"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:260
#, python-format
msgid ""
"The data is then <a href=\"%(cryptography)s\">AES Encrypted</a>,\n"
2013-07-03 01:01:50 +00:00
"using the session key and IV (calculated from the pre-IV) from the ElGamal section.\n"
"The encrypted AES Block length is variable but is always a multiple of 16 bytes.\n"
2013-06-05 10:00:16 +00:00
"</p>"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:269
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Actual max payload length, and max block length, is less than 64 KB; see the"
" <a href=\"%(i2np)s\">I2NP Overview</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:272
msgid "New Session Key is currently unused and is never present."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:277
msgid "Existing Session Message Specification"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:278
msgid ""
"The session tags delivered successfully are remembered for a \n"
"brief period (15 minutes currently) until they are used or discarded.\n"
"A tag is used by packaging one in an Existing Session Message that\n"
"contains only an AES encrypted block, and is not preceded by an\n"
"ElGamal block."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:286
msgid ""
"The existing session message is\n"
"as follows:"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:309
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A 32-byte <a href=\"%(commonstructures)s#type_SessionTag\">Session Tag</a>\n"
2013-06-05 10:00:16 +00:00
" previously delivered in an AES block"
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:314
msgid "As specified <a href=\"#aes\">above</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:318
msgid ""
"The session tag also serves as\n"
2013-07-03 01:01:50 +00:00
"the pre-IV. The IV is the first 16 bytes of the SHA-256 Hash of the sessionTag."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:323
msgid ""
2013-07-03 01:01:50 +00:00
"To decode a message from an existing session, a router looks up the Session Tag to find an\n"
"associated Session Key. If the Session Tag is found, the AES block is decrypted using the associated Session Key.\n"
"If the tag is not found, the message is assumed to be a <a href=\"#new\">New Session Message</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:332
msgid ""
2013-07-03 01:01:50 +00:00
"There are many possible areas to tune the Session Key Manager's algorithms;\n"
"some may interact with the streaming library behavior, or have significant\n"
2013-06-05 10:00:16 +00:00
"impact on overall performance."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:338
msgid ""
2013-07-03 01:01:50 +00:00
"Delivery of too many tags at one time may impose substantial overhead for brief streaming connections\n"
2013-06-05 10:00:16 +00:00
"or datagrams, and increase the chance of message loss.\n"
"We currently deliver 40 tags at a time (1280 bytes).\n"
"32 (1024 bytes) may be better for tunnel fragmentation."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:345
msgid ""
2013-07-03 01:01:50 +00:00
"A few tags could be delivered in each of several messages, or lots of tags "
"all at once."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:349
msgid ""
"It is also important to study and tune\n"
"the low-tag thresholds at which more tags are sent."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:354
msgid ""
2013-07-03 01:01:50 +00:00
"The number of tags delivered could depend on message size, keeping in mind\n"
2013-06-05 10:00:16 +00:00
"the eventual padding to 1KB at the tunnel message layer."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:359
msgid ""
2013-07-03 01:01:50 +00:00
"Clients could send an estimate of session lifetime to the router, as an advisory\n"
2013-06-05 10:00:16 +00:00
"on the number of tags required."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:364
msgid ""
"Delivery of too few tags causes the router to fall back to an expensive "
"ElGamal encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:368
msgid ""
2013-07-03 01:01:50 +00:00
"The router may assume delivery of Session Tags, or await acknowledgement before using them;\n"
2013-06-05 10:00:16 +00:00
"there are tradeoffs for each strategy."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:373
msgid ""
2013-07-03 01:01:50 +00:00
"For very brief messages, almost the full 222 bytes of the pre-IV and padding fields in the ElGamal block\n"
2013-06-05 10:00:16 +00:00
"could be used for the entire message, instead of establishing a session."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:378
msgid ""
"Evaluate padding strategy; currently we pad to a minimum of 128 bytes.\n"
"Would be better to add a few tags to small messages than pad."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:383
msgid ""
2013-07-03 01:01:50 +00:00
"Perhaps things could be more efficient if the Session Tag system was bidirectional,\n"
"so tags delivered in the 'forward' path could be used in the 'reverse' path,\n"
2013-06-05 10:00:16 +00:00
"thus avoiding ElGamal in the initial response.\n"
"The router currently plays some tricks like this when sending\n"
"tunnel test messages to itself."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:391
#, python-format
msgid ""
"Change from Session Tags to\n"
"<a href=\"%(futureperf)s#prng\">a synchronized PRNG</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/elgamal-aes.html:396
#, python-format
msgid ""
"Several of these ideas may require a new I2NP message type, or\n"
"set a flag in the\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
"or set a magic number in the first few bytes of the Session Key field\n"
2013-07-03 01:01:50 +00:00
"and accept a small risk of the random Session Key matching the magic number."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:2
msgid "Garlic Routing"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:6
msgid "Garlic Routing and \"Garlic\" Terminology"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"The terms \"garlic routing\" and \"garlic encryption\" are often used rather loosely when referring to I2P's technology.\n"
2013-06-05 10:00:16 +00:00
"Here, we explain the history of the terms, the various meanings, and\n"
"the usage of \"garlic\" methods in I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:13
msgid ""
"\"Garlic routing\" was first coined by\n"
"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>\n"
"in Roger Dingledine's Free Haven \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> Section 8.1.1 (June 2000), as derived from \n"
2013-06-05 10:00:16 +00:00
"<a href=\"http://www.onion-router.net/\">Onion Routing</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:21
msgid ""
2013-07-03 01:01:50 +00:00
"\"Garlic\" may have been used originally by I2P developers because I2P implements a form of\n"
"bundling as Freedman describes, or simply to emphasize general differences from Tor.\n"
2013-06-05 10:00:16 +00:00
"The specific reasoning may be lost to history.\n"
2013-07-03 01:01:50 +00:00
"Generally, when referring to I2P, the term \"garlic\" may mean one of three things:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:28
#: i2p2www/pages/site/docs/how/garlic-routing.html:39
msgid "Layered Encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:29
msgid "Bundling multiple messages together"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:30
#: i2p2www/pages/site/docs/how/garlic-routing.html:96
msgid "ElGamal/AES Encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:33
msgid ""
2013-07-03 01:01:50 +00:00
"Unfortunately, I2P's usage of \"garlic\" terminology over the past seven years has not always been precise; therefore the reader is\n"
2013-06-05 10:00:16 +00:00
"cautioned when encountering the term.\n"
"Hopefully, the explanation below will make things clear."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:40
msgid ""
2013-07-03 01:01:50 +00:00
"Onion routing is a technique for building paths, or tunnels, through a series of peers,\n"
2013-06-05 10:00:16 +00:00
"and then using that tunnel.\n"
2013-07-03 01:01:50 +00:00
"Messages are repeatedly encrypted by the originator, and then decrypted by each hop.\n"
"During the building phase, only the routing instructions for the next hop are exposed to each peer.\n"
"During the operating phase, messages are passed through the tunnel, and the\n"
"message and its routing instructions are only exposed to the endpoint of the tunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:49
#, python-format
msgid ""
"This is similar to the way Mixmaster\n"
2013-07-03 01:01:50 +00:00
"(see <a href=\"%(comparisons)s\">network comparisons</a>) sends messages - taking a message, encrypting it\n"
"to the recipient's public key, taking that encrypted message and encrypting\n"
"it (along with instructions specifying the next hop), and then taking that\n"
"resulting encrypted message and so on, until it has one layer of encryption\n"
2013-06-05 10:00:16 +00:00
"per hop along the path."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:58
msgid ""
2013-07-03 01:01:50 +00:00
"In this sense, \"garlic routing\" as a general concept is identical to \"onion routing\".\n"
"As implemented in I2P, of course, there are several differences from the implementation in Tor; see below.\n"
"Even so, there are substantial similarities such that I2P benefits from a\n"
"<a href=\"http://www.onion-router.net/Publications.html\">large amount of academic research on onion routing</a>,\n"
"<a href=\"http://freehaven.net/anonbib/topic.html\">Tor, and similar mixnets</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:67
msgid "Bundling Multiple Messages"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:68
msgid ""
2013-07-03 01:01:50 +00:00
"Michael Freedman defined \"garlic routing\" as an extension to onion routing,\n"
2013-06-05 10:00:16 +00:00
"in which multiple messages are bundled together.\n"
"He called each message a \"bulb\".\n"
2013-07-03 01:01:50 +00:00
"All the messages, each with its own delivery instructions, are exposed at the\n"
2013-06-05 10:00:16 +00:00
"endpoint.\n"
2013-07-03 01:01:50 +00:00
"This allows the efficient bundling of an onion routing \"reply block\" with the original message."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:77
msgid ""
"This concept is implemented in I2P, as described below.\n"
"Our term for garlic \"bulbs\" is \"cloves\".\n"
"Any number of messages can be\n"
"contained, instead of just a single message.\n"
2013-07-03 01:01:50 +00:00
"This is a significant distinction from the onion routing implemented in Tor.\n"
"However, it is only one of many major architectural differences between I2P and Tor;\n"
2013-06-05 10:00:16 +00:00
"perhaps it is not, by itself, enough to justify a change in terminology."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:87
msgid ""
"Another difference\n"
"from the method described by Freedman\n"
2013-07-03 01:01:50 +00:00
"is that the path is unidirectional - there is no \"turning point\" as seen in onion routing\n"
"or mixmaster reply blocks, which greatly simplifies the algorithm and allows for more flexible\n"
2013-06-05 10:00:16 +00:00
"and reliable delivery."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:97
#, python-format
msgid ""
"In some cases, \"garlic encryption\" may simply mean\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption\n"
"(without multiple layers)."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:105
msgid "\"Garlic\" Methods in I2P"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:106
msgid ""
"Now that we've defined various \"garlic\" terms, we can say that\n"
"I2P uses garlic routing, bundling and encryption in three places:"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:111
msgid "For building and routing through tunnels (layered encryption)"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:112
msgid ""
"For determining the success or failure of end to end message delivery "
"(bundling)"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:113
msgid ""
2013-07-03 01:01:50 +00:00
"For publishing some network database entries (dampening the probability of a"
" successful traffic analysis attack) (ElGamal/AES)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:116
msgid ""
2013-07-03 01:01:50 +00:00
"There are also significant ways that this technique can be used to improve the performance of the network, \n"
"exploiting transport latency/throughput tradeoffs, and branching data through redundant paths to increase reliability."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:122
msgid "Tunnel Building and Routing"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:123
msgid ""
"In I2P, tunnels are unidirectional. Each party builds two tunnels,\n"
"one for outbound and one for inbound traffic.\n"
2013-07-03 01:01:50 +00:00
"Therefore, four tunnels are required for a single round-trip message and reply."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:129
#, python-format
msgid ""
"Tunnels are built, and then used, with layered encryption.\n"
"This is described on the\n"
"<a href=\"%(tunnelimpl)s\">tunnel implementation page</a>.\n"
"Tunnel building details are defined on\n"
"<a href=\"%(tunnelcreation)s\">this page</a>.\n"
"We use\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:141
#, python-format
msgid ""
"Tunnels are a general-purpose mechanism to transport all\n"
"<a href=\"%(i2np)s\">I2NP messages</a>, and\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Messages</a> are not used to build tunnels.\n"
2013-06-05 10:00:16 +00:00
"We do not bundle multiple\n"
"<a href=\"%(i2np)s\">I2NP messages</a> into a single\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a> for unwrapping at the outbound tunnel endpoint;\n"
2013-06-05 10:00:16 +00:00
"the tunnel encryption is sufficient."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:152
msgid "End-to-End Message Bundling"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:153
#, python-format
msgid ""
"At the layer above tunnels, I2P delivers end-to-end messages between\n"
"<a href=\"%(commonstructures)s#struct_Destination\">Destinations</a>.\n"
"Just as within a single tunnel, we use\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> for the encryption.\n"
2013-06-05 10:00:16 +00:00
"Each client message as delivered to the router through the\n"
"<a href=\"%(i2cp)s\">I2CP interface</a> becomes a single\n"
"<a href=\"%(i2npspec)s#struct_GarlicClove\">Garlic Clove</a>\n"
"with its own\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>,\n"
"inside a\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>.\n"
"Delivery Instructions may specify a Destination, Router, or Tunnel."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:172
msgid ""
"Generally, a Garlic Message will contain only one clove.\n"
"However, the router will periodically bundle two additional\n"
"cloves in the Garlic Message:"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:177
msgid "Garlic Message Cloves"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:180
#, python-format
msgid ""
"A\n"
"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">Delivery Status Message</a>,\n"
"with\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
2013-07-03 01:01:50 +00:00
"specifying that it be sent back to the originating router as an acknowledgment.\n"
2013-06-05 10:00:16 +00:00
"This is similar to the \"reply block\" or \"reply onion\"\n"
"described in the references.\n"
2013-07-03 01:01:50 +00:00
"It is used for determining the success or failure of end to end message delivery.\n"
"The originating router may, upon failure to receive the Delivery Status Message\n"
"within the expected time period, modify the routing to the far-end Destination,\n"
2013-06-05 10:00:16 +00:00
"or take other actions."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:194
#, python-format
msgid ""
"A\n"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>,\n"
"containing a\n"
"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSet</a>\n"
"for the originating Destination, with\n"
"<a href=\"%(tunnelmessage)s#delivery\">Delivery Instructions</a>\n"
"specifying the far-end destination's router.\n"
2013-07-03 01:01:50 +00:00
"By periodically bundling a LeaseSet, the router ensures that the far-end will be able\n"
2013-06-05 10:00:16 +00:00
"to maintain communications.\n"
2013-07-03 01:01:50 +00:00
"Otherwise the far-end would have to query a floodfill router for the network database entry,\n"
"and all LeaseSets would have to be published to the network database, as explained on the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(netdb)s\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:213
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In the current implementation, the Delivery Status and Database Store Messages\n"
2013-06-05 10:00:16 +00:00
"are bundled when the local LeaseSet changes, when additional\n"
"<a href=\"%(commonstructures)s#type_SessionTag\">Session Tags</a>\n"
2013-07-03 01:01:50 +00:00
"are delivered, or if the messages have not been bundled in the previous minute."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:220
msgid ""
2013-07-03 01:01:50 +00:00
"Obviously, the additional messages are currently bundled for specific purposes,\n"
2013-06-05 10:00:16 +00:00
"and not part of a general-purpose routing scheme."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:226
msgid "Storage to the Floodfill Network Database"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:227
#, python-format
msgid ""
"As explained on the\n"
"<a href=\"%(netdb)s#delivery\">network database page</a>,\n"
"local\n"
"<a href=\"%(commonstructures)s#struct_LeaseSet\">LeaseSets</a>\n"
"are sent to floodfill routers in a\n"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">Database Store Message</a>\n"
"wrapped in a\n"
"<a href=\"%(i2npspec)s#msg_Garlic\">Garlic Message</a>\n"
"so it is not visible to the tunnel's outbound gateway."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:243
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The Garlic Message mechanism is very flexible and provides a structure for\n"
2013-06-05 10:00:16 +00:00
"implementing many types of mixnet delivery methods.\n"
"Together with the unused delay option in the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(tunnelmessage)s#delivery\">tunnel message Delivery Instructions</a>,\n"
"a wide spectrum of batching, delay, mixing, and routing strategies are possible."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:251
msgid ""
2013-07-03 01:01:50 +00:00
"In particular, there is potential for much more flexibility at the outbound tunnel endpoint.\n"
2013-06-05 10:00:16 +00:00
"Messages could possibly be routed from there to one of several tunnels\n"
2013-07-03 01:01:50 +00:00
"(thus minimizing point-to-point connections), or multicast to several tunnels\n"
2013-06-05 10:00:16 +00:00
"for redundancy, or streaming audio and video."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:258
msgid ""
2013-07-03 01:01:50 +00:00
"Such experiments may conflict with the need to ensure security and anonymity, such\n"
"as limiting certain routing paths, restricting the types of I2NP messages that may\n"
"be forwarded along various paths, and enforcing certain message expiration times."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:264
#, python-format
msgid ""
"As a part of\n"
"<a href=\"%(elgamalaes)s\">ElGamal/AES encryption</a>,\n"
"a garlic message contains a sender\n"
2013-07-03 01:01:50 +00:00
"specified amount of padding data, allowing the sender to take active countermeasures \n"
2013-06-05 10:00:16 +00:00
"against traffic analysis.\n"
2013-07-03 01:01:50 +00:00
"This is not currently used, beyond the requirement to pad to a multiple of 16 bytes."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:273
#, python-format
msgid ""
"Encryption of additional messages to and from the\n"
"<a href=\"%(netdb)s#delivery\">floodfill routers</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:283
msgid ""
2013-07-03 01:01:50 +00:00
"The term garlic routing was first coined in Roger Dingledine's Free Haven \n"
"<a href=\"http://www.freehaven.net/papers.html\">Master's thesis</a> (June 2000),\n"
2013-06-05 10:00:16 +00:00
"see Section 8.1.1 authored by\n"
"<a href=\"http://www.cs.princeton.edu/~mfreed/\">Michael J. Freedman</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:290
msgid "Onion router publications"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:292
msgid "Onion Routing on Wikipedia"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:294
msgid "Garlic Routing on Wikipedia"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:296
#, python-format
msgid ""
"<a href=\"%(meeting58)s\">I2P Meeting 58</a> (2003) discussing the "
"implementation of garlic routing"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:302
msgid "Free Haven publications"
msgstr ""
#: i2p2www/pages/site/docs/how/garlic-routing.html:304
msgid ""
2013-07-03 01:01:50 +00:00
"Onion routing was first described in <a href=\"http://www.onion-router.net/Publications/IH-1996.pdf\">Hiding Routing Information</a>\n"
2013-06-05 10:00:16 +00:00
"by David M. Goldschlag, Michael G. Reed, and Paul F. Syverson in 1996."
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:2
msgid "A Gentle Introduction"
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:5
msgid "A Gentle Introduction to How I2P Works"
msgstr "Einf&uuml;hrung in die Arbeitsweise von I2P"
#: i2p2www/pages/site/docs/how/intro.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is a project to build, deploy, and maintain a network supporting secure and anonymous\n"
"communication. People using I2P are in control of the tradeoffs between anonymity, reliability,\n"
"bandwidth usage, and latency. There is no central point in the network on which pressure can be\n"
"exerted to compromise the integrity, security, or anonymity of the system. The network supports\n"
"dynamic reconfiguration in response to various attacks, and has been designed to make use of\n"
"additional resources as they become available. Of course, all aspects of the network are open and\n"
2013-06-05 10:00:16 +00:00
"freely available."
2013-07-03 01:01:50 +00:00
msgstr "I2P ist ein Projekt, welches ein Netzwerk zum sicheren und anonymen Kommunizieren planen, aufbauen\nund betreuen wird. Nutzer von I2P haben die Kontrolle &uuml;ber die Verteilung zwischen Anonymit&auml;t,\nVerl&auml;sslichkeit, genutzter Bandbreite und Verz&ouml;gerung. Es gibt keinen zentralen Punkt im Netzwerk,\nwelcher &uuml;bernommen werden kann um die Integrit&auml;t, Sicherheit oder Anonymit&auml;t des Systems zu\nkomprimieren. Das Netzwerk kann sich in einer Reaktion auf Angriffe selber rekonfiguriern und\nwurde so geplant, das es zus&auml;tzliche Ressourcen bei deren Verf&uuml;gbarkeit nutzen wird.\nSelbstverst&auml;ndlich sind alle Aspekte des Netzwerkes offen und frei verf&uuml;gbar."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:17
msgid ""
2013-07-03 01:01:50 +00:00
"Unlike many other anonymizing networks, I2P doesn't try to provide anonymity by hiding the\n"
"originator of some communication and not the recipient, or the other way around. I2P is designed to\n"
"allow peers using I2P to communicate with each other anonymously &mdash; both sender and recipient\n"
"are unidentifiable to each other as well as to third parties. For example, today there are both\n"
"in-I2P web sites (allowing anonymous publishing / hosting) as well as HTTP proxies to the normal web\n"
"(allowing anonymous web browsing). Having the ability to run servers within I2P is essential, as it\n"
"is quite likely that any outbound proxies to the normal Internet will be monitored, disabled, or\n"
2013-06-05 10:00:16 +00:00
"even taken over to attempt more malicious attacks."
2013-07-03 01:01:50 +00:00
msgstr "Im Gegensatz zu vielen anderen anonymen Netzwerken versucht I2P nicht die Anonymit&auml;t durch\nverstecken eines Teils einer Kommunikation, der Sender oder der Empf&auml;nger, herzustellen. I2P\nwurde so geplant, das Nutzer von I2P untereinander anonym kommunizieren k&ouml;nnen - Sender und\nEmpf&auml;nger sind f&uuml;r den jeweils anderen anonym als auch f&uuml;r nicht beteiligte dritte. Zum Beispiel\ngibt es zur Zeit I2P interne Webseiten (die anonymes Publizieren/hosten erlauben) und einen\nHTTP Proxy in das normale Internet (der anonymes Browsing bietet). Server im I2P Netz betreiben\nzu k&ouml;nnen ist eine essentielle Angelegenheit, da angenommen werden kann, das die Proxis ins\nnormale Internet &uuml;berwacht werden, abgeschaltet werden oder gar zu schlimmeren Angriffen genutzt\nwerden."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:28
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The network itself is message oriented - it is essentially a secure and anonymous IP layer, where\n"
"messages are addressed to cryptographic keys (Destinations) and can be significantly larger than IP\n"
"packets. Some example uses of the network include \"eepsites\" (webservers hosting normal web\n"
"applications within I2P), a BitTorrent client (\"I2PSnark\"), or a distributed data store. With the\n"
"help of the <a href=\"%(i2ptunnel)s\">I2PTunnel</a> application, we are able to stream traditional\n"
"TCP/IP applications over I2P, such as SSH, IRC, a squid proxy, and even streaming audio. Most people\n"
"will not use I2P directly, or even need to know they're using it. Instead their view will be of one\n"
"of the I2P enabled applications, or perhaps as a little controller app to turn on and off various\n"
2013-06-05 10:00:16 +00:00
"proxies to enable the anonymizing functionality."
2013-07-03 01:01:50 +00:00
msgstr "Das Netzwerk selber ist Nachrichten basiert - es ist essentiell eine sichere und anonyme IP Schicht,\nin der Nachrichten an kryptographische Schl&uuml;ssel (Ziele) geschickt werden;die Nachrichten selber\nk&ouml;nnen signifikant gr&ouml;sser als IP Pakete werden. Beispiele f&uuml;r die Nutzung des Netzwerkes sind\nunter anderem \"Eepsites\" (Webserver mit normalen Webapplikationen innerhalb von I2P), ein\n<a href=\"http://bitconjurer.org/BitTorrent/\">BitTorrent</a> Klient (\"I2Psnark\") oder ein verteilter\nDatencontainer. Mit der Hilfe von mihis <a href=\"%(i2ptunnel)s\">I2PTunnel</a>\nApplikation k&ouml;nnen wir die &uuml;blichen TCP/IP Anwendungen &uuml;ber I2P tunneln, z.B. SSH, IRC, ein squid\nProxy oder gar Audio. Viele Leute werden I2P nicht direkt nutzen oder nicht bemerken, das sie I2P\nnutzen. Stattdessen sehen sie nur eine der I2P f&auml;higen Anwendungen oder nur eine Einstellung f&uuml;r\nverschiedene Proxies, die ihnen Anonyme Verbindungen anbieten."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:40
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"An essential part of designing, developing, and testing an anonymizing network is to define the <a\n"
"href=\"%(threatmodel)s\">threat model</a>, since there is no such thing as \"true\" anonymity, just\n"
"increasingly expensive costs to identify someone. Briefly, I2P's intent is to allow people to\n"
"communicate in arbitrarily hostile environments by providing good anonymity, mixed in with\n"
"sufficient cover traffic provided by the activity of people who require less anonymity. This way,\n"
"some users can avoid detection by a very powerful adversary, while others will try to evade a weaker\n"
"entity, <i>all on the same network</i>, where each one's messages are essentially indistinguishable\n"
2013-06-05 10:00:16 +00:00
"from the others."
2013-07-03 01:01:50 +00:00
msgstr "Ein wichtiger Teil des Planens, Entwickelns und Testens eines anonymen Netzwerkes ist das\nDefinieren des <a href=\"%(threatmodel)s\">Angriffsszenarios</a>, da es \"echte\" Anonymit&auml;t nicht gibt,\nnur steigende Kosten und.\nAufwand jemanden zu identifizieren. Kurz gesagt: I2P Absicht ist es, Personen in willk&uuml;rlichen\nfeindseligen Umgebungen einen milit&auml;rischen Grad der Anonymit&auml;t zu bieten, versteckt in dem\nhinreichendem Datenstrom aus der Aktivit&auml;t anderer Leute, die weniger Anonymit&auml;t ben&ouml;tigen.\nDieses beinhaltet den Chat von Joe Sixpack mit seinen Freuden, den niemanden mitlesen kann,\nJane Filesharer, die wei?~_ das die grossen Konzerne sie beim Tauschen von Dateien nicht\nidentifizieren k&ouml;nnen, als auch Will Geheimnisverr&auml;ter, der geheime Dokumente ver&ouml;ffentlicht -\n<i>alles in dem selben Netzwerk</i>, in dem eine Nachricht nicht von einer anderen unterschieden werden\nkann."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:51
msgid "Why?"
msgstr "Warum?"
#: i2p2www/pages/site/docs/how/intro.html:52
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"There are a multitude of reasons why we need a system to support anonymous communication, and\n"
"everyone has their own personal rationale. There are many <a href=\"%(comparisons)s\">other\n"
"efforts</a> working on finding ways to provide varying degrees of anonymity to people through the\n"
2013-06-05 10:00:16 +00:00
"Internet, but we could not find any that met our needs or threat model."
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:59
msgid "How?"
msgstr "Wie?"
#: i2p2www/pages/site/docs/how/intro.html:61
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The network at a glance is made up of a set of nodes (\"routers\") with a number of unidirectional\n"
"inbound and outbound virtual paths (\"tunnels\", as outlined on the <a href=\"%(tunnelrouting)s\">tunnel routing</a> page). Each router is identified by a cryptographic RouterIdentity which is\n"
"typically long lived. These routers communicate with each other through existing transport\n"
"mechanisms (TCP, UDP, etc), passing various messages. Client applications have their own\n"
"cryptographic identifier (\"Destination\") which enables it to send and receive messages. These\n"
"clients can connect to any router and authorize the temporary allocation (\"lease\") of some tunnels\n"
"that will be used for sending and receiving messages through the network. I2P has its own internal\n"
"<a href=\"%(netdb)s\">network database</a> (using a modification of the Kademlia algorithm) for\n"
2013-06-05 10:00:16 +00:00
"distributing routing and contact information securely."
2013-07-03 01:01:50 +00:00
msgstr "In einer &uuml;bersicht existiert das Netzwerk aus einer Gruppe von Knoten (\"Router\") mit einer\nAnzahl an unidirektionalen virtueller Eingangs und Ausgangs Wege (\"Tunnel\", wie in der\n<a href=\"%(tunnelrouting)s\">Tunnel Routing</a> Seite beschrieben). Jeder Router wird duch eine kryptographische RouterIdentity\neindeutig indentifiziert, diese ist f&uuml;r gew&ouml;hnlich dauerhaft g&uuml;ltig. Diese Router kommunizieren\n&uuml;ber vorhandene Transportmechanosmen (TCP, UDP, etc.) und tauschen verschiedene Nachrichten aus.\nKlientprogramme haben ihre eigenen kryptographischen Ident (\"Destination\"), durch den sie\nzum Senden und Empfangen von Nachrichten bef&auml;higt sind. Diese Klienten k&ouml;nnen zu irgendwelchen\nRoutern Verbindung aufnehmen und authorisieren ihre derzeitige Belegung (\"lease\") von ein paar\nTunneln, die zum Senden und Empfangen von Nachrichten durch das Netzwerk benutzt werden. I2P\nhat eine eigene <a href=\"%(netdb)s\">Netzwerk Datenbank</a> (\"Floodfill\")\nzum skalierbaren sicherem Verteilen von Routing und Kontaktinformationen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:74
msgid "Network topology example"
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"In the above, Alice, Bob, Charlie, and Dave are all running routers with a single Destination on\n"
"their local router. They each have a pair of 2-hop inbound tunnels per destination (labeled 1, 2, 3,\n"
"4, 5 and 6), and a small subset of each of those router's outbound tunnel pool is shown with 2-hop\n"
"outbound tunnels. For simplicity, Charlie's inbound tunnels and Dave's outbound tunnels are not\n"
"shown, nor are the rest of each router's outbound tunnel pool (typically stocked with a few tunnels\n"
"at a time). When Alice and Bob talk to each other, Alice sends a message out one of her (pink)\n"
"outbound tunnels targeting one of Bob's (green) inbound tunnels (tunnel 3 or 4). She knows to send\n"
"to those tunnels on the correct router by querying the network database, which is constantly updated\n"
2013-06-05 10:00:16 +00:00
"as new leases are authorized and old ones expire."
2013-07-03 01:01:50 +00:00
msgstr "Im oberen Bild betreiben Alice, Bob, Charlie und Dave je einen Router mit einer einzigen\nDestination auf ihren lokalen Router. Sie haben alle ein paar 2-Hop Eingangstunnel je\nDestination (mit 1, 2, 3, 4, 5 und 6 bezeichnet) und ein paar haben 2-Hop Ausgangstunnel.\nZur Vereinfachung sind Charlies Eingangstunnel und Daves Ausgangstunnel nicht eingezeichnet,\nebenso wie weitere Ausgangstunnel der Router (normalerweise so 5-10 Tunnel gleichzeitig).\nSobald Alice und Bob miteiander reden, sendet Alice eine Nachricht &uuml;ber ihren (pinken)\nAusgangstunnel in Richtung eines vons Bobs Eingangstunneln (gr&uuml;n, Tunnel 3 oder 4). Sie lernt\nden Eingangstunnel durch eine Abfrage der Netzwerk Datenbank kennen, diese Datenbank wird\ndauerhaft aktualisiert sobald neue Leases authorisiert sind und &auml;ltere auslaufen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:88
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If Bob wants to reply to Alice, he simply goes through the same process - send a message out one of\n"
"his outbound tunnels targeting one of Alice's inbound tunnels (tunnel 1 or 2). To make things\n"
"easier, most messages sent between Alice and Bob are <a href=\"%(garlicrouting)s\">garlic</a>\n"
"wrapped, bundling the sender's own current lease information so that the recipient can reply\n"
"immediately without having to look in the network database for the current data."
msgstr "Antwortet Bob nun Alice, geschieht dieses auf der selben Art und Weise - er sendet eine Nachricht\n&uuml;ber einen seiner Ausgangstunnel in Richtung eines von Alice Eingangstunnels (Tunnel 1 oder 2).\nUm vieles einfacher zu machen, sind viele Nachrichten zwischen Bob und Alice in sogenannte\n\"<a href=\"%(garlicrouting)s\">Garlics</a>\" eingepackt, in denen die Lease Information vom\nSender enthalten ist, so das der Empf&auml;nger sofort antworten kann ohne in der Netzwerk\nDatenbank nach den ben&ouml;tigten Informationen suchen zu m&uuml;ssen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:96
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"To deal with a wide range of attacks, I2P is fully distributed with no centralized resources - and\n"
"hence there are no directory servers keeping statistics regarding the performance and reliability of\n"
"routers within the network. As such, each router must keep and maintain profiles of various routers\n"
"and is responsible for selecting appropriate peers to meet the anonymity, performance, and\n"
"reliability needs of the users, as described in the <a href=\"%(peerselection)s\">peer selection</a>\n"
2013-06-05 10:00:16 +00:00
"page."
2013-07-03 01:01:50 +00:00
msgstr "Um einigen Attacken aus dem Wege zu gehen ist I2P dezentral aufgebaut, ohne eine zentrale Instanz -\nund wie schon richtig geraten existiert kein zentraler Verzeichnisdienst, der Informationen\nzur Performance und Kontinuit&auml;t der Router im Netzwerk verwaltet. Daraus folgt, da?~_jeder Router\neigene Profile verschiedener Router halten und pflegen muss. Ebenso ist jeder Router selber\nverantwortlich f&uuml;r die Auswahl der korrekten Knoten um die Anforderungen an die Anonymit&auml;t,\nPerformance und Konitnuit&auml;t des Benutzers zu erf&uuml;llen, so wie es in der\n\"<a href=\"%(peerselection)s\">Knoten Auswahl</a>\" Seite beschrieben ist."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:105
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The network itself makes use of a significant number of <a href=\"%(cryptography)s\">cryptographic\n"
"techniques and algorithms</a> - a full laundry list includes 2048bit ElGamal encryption, 256bit AES\n"
"in CBC mode with PKCS#5 padding, 1024bit DSA signatures, SHA256 hashes, 2048bit Diffie-Hellman\n"
"negotiated connections with station to station authentication, and <a href=\"%(elgamalaes)s\">ElGamal / AES+SessionTag</a>."
msgstr "Das Netzwerk selber nutzt eine signifikante Anzahl von <a href=\"%(cryptography)s\">Kryptographischen\nTechniken und Algorhytmen</a> - die Liste umf&auml;sst 2048bit ElGamal Verschl&uuml;sselung, 256bit\nAES im CBC Modus mit PKCS#5 Padding, 1024bit DSA Signaturen, SHA256 Hashes, 2048bit Diffie-Hellmann\nvermittelte Verbindungen mit Station-zu-Station Authentifizierung und <a href=\"%(elgamalaes)s\">\nElGamal / AES+SessionTag</a>."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:113
msgid ""
2013-07-03 01:01:50 +00:00
"Content sent over I2P is encrypted through three layers garlic encryption (used to verify the\n"
"delivery of the message to the recipient), tunnel encryption (all messages passing through a tunnel\n"
"is encrypted by the tunnel gateway to the tunnel endpoint), and inter router transport layer\n"
2013-06-05 10:00:16 +00:00
"encryption (e.g. the TCP transport uses AES256 with ephemeral keys)."
2013-07-03 01:01:50 +00:00
msgstr "Daten die &uuml;ber I2P gesendet werden, durchlaufen 3 Verschl&uuml;sselungen: garlic\nVerschl&uuml;sselung (zur &uuml;berpr&uuml;fung ob die Nachrichten beim Empf&auml;nger\nangekommen ist), Tunnel Verschl&uuml;sselung (alle Nachrichten, die durch einen Tunnel gehen,\nsind vom Tunnel Gateway bis zum Tunnel Endpunkt verschl&uuml;sselt) und\nZwischen-den-Routern-Transport-Schicht Verschl&uuml;sselung (z.B. benutzt der TCP Transport\nAES256 mit Ephemeral Schl&uuml;ssel)."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:120
msgid ""
2013-07-03 01:01:50 +00:00
"End-to-end (I2CP) encryption (client application to server application) was disabled in I2P release\n"
"0.6; end-to-end (garlic) encryption (I2P client router to I2P server router) from Alice's router \"a\"\n"
"to Bob's router \"h\" remains. Notice the different use of terms! All data from a to h is end-to-end\n"
"encrypted, but the I2CP connection between the I2P router and the applications is not end-to-end\n"
"encrypted! A and h are the routers of Alice and Bob, while Alice and Bob in following chart are the\n"
2013-06-05 10:00:16 +00:00
"applications running atop of I2P."
2013-07-03 01:01:50 +00:00
msgstr "Ende-zu-Ende (I2CP) Verschl&uuml;sselung (von Programm zu Programm) wurde in der I2P Version 0.6 deaktiviert;\nEnde-zu-Ende (garlic) Verschl&uuml;sselung von Alice Router \"a\" zu Bobs Router \"h\" existiert weiterhin.\nBitte beachte im foglendem Bild den anderen Gebrauch der W&ouml;rter! a und h sind die I2P Router mit\nder Ende-zu-Ende Verschl&uuml;sselung von Router zu Router, Alice und Bob hingegen sind die Programme\ndie mittels(unverschl&uuml;sseltem) I2CP mit den I2P Routern kommunizieren! Sprich: bis zum I2P Router\nsind die Daten unverschl&uuml;sselt, ab dem I2P Router ist alles Ende-zu-Ende verschl&uuml;sselt."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:129
msgid "End to end layered encryption"
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:131
#, python-format
msgid ""
"The specific use of these algorithms are outlined <a "
"href=\"%(cryptography)s\">elsewhere</a>."
2013-07-03 01:01:50 +00:00
msgstr "Die genaue Anwendung dieser Algorhytmen sind <a href=\"%(cryptography)s\">woanders</a> beschrieben."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:135
msgid ""
2013-07-03 01:01:50 +00:00
"The two main mechanisms for allowing people who need strong anonymity to use the network are\n"
"explicitly delayed garlic routed messages and more comprehensive tunnels to include support for\n"
"pooling and mixing messages. These are currently planned for release 3.0, but garlic routed messages\n"
"with no delays and FIFO tunnels are currently in place. Additionally, the 2.0 release will allow\n"
"people to set up and operate behind restricted routes (perhaps with trusted peers), as well as the\n"
2013-06-05 10:00:16 +00:00
"deployment of more flexible and anonymous transports."
2013-07-03 01:01:50 +00:00
msgstr "Die zwei Hauptbestandteile f&uuml;r den milit&auml;rischen Grad der Anonymit&auml;t sind explizite, verz&ouml;gerte\ngarlic geroutete Nachrichten und mehr umfassende Tunnel mit Unterst&uuml;tzung von Pooling und Mixen\nvon Nachrichten. Diese Funktionen sind zur Zeit f&uuml;r Version 3.0 geplant, aber garlic geroutete\nNachrichten mit keiner Verz&ouml;gerung und FIFO Tunnels sind schon implementiert. Zus&auml;tzlich wird\ndie Version 2.0 den Leuten erlauben, I2P hinter beschr&auml;nkten Routen (m&ouml;glicherweise mit vertrauten\nKnoten) aufzusetzen und zu betreiben; ebenso werden die flexiblere und anonymere Transports\neingebaut werden."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:144
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Some questions have been raised with regards to the scalability of I2P, and reasonably so. There\n"
"will certainly be more analysis over time, but peer lookup and integration should be bounded by\n"
"<code>O(log(N))</code> due to the <a href=\"%(netdb)s\">network database</a>'s algorithm, while end\n"
"to end messages should be <code>O(1)</code> (scale free), since messages go out K hops through the\n"
"outbound tunnel and another K hops through the inbound tunnel, with K no longer than 3. The size of\n"
2013-06-05 10:00:16 +00:00
"the network (N) bears no impact."
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:153
msgid "When?"
msgstr "Wann?"
#: i2p2www/pages/site/docs/how/intro.html:154
#, python-format
msgid ""
"I2P initially began in Feb 2003 as a proposed modification to <a\n"
2013-07-03 01:01:50 +00:00
"href=\"http://freenetproject.org\">Freenet</a> to allow it to use alternate transports, such as <a\n"
2013-06-05 10:00:16 +00:00
"href=\"%(jms)s\">JMS</a>, then grew into its own as an\n"
2013-07-03 01:01:50 +00:00
"'anonCommFramework' in April 2003, turning into I2P in July, with code being written in earnest\n"
"starting in August '03. I2P is currently under development, following the <a href=\"%(roadmap)s\">roadmap</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:164
msgid "Who?"
msgstr "Wer?"
#: i2p2www/pages/site/docs/how/intro.html:165
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"We have a small <a href=\"%(team)s\">team</a> spread around several continents, working to advance\n"
"different aspects of the project. We are very open to other developers who want to get involved and\n"
"anyone else who would like to contribute in other ways, such as critiques, peer review, testing,\n"
"writing I2P enabled applications, or documentation. The entire system is open source - the router\n"
"and most of the SDK are outright public domain with some BSD and Cryptix licensed code, while some\n"
"applications like I2PTunnel and I2PSnark are GPL. Almost everything is written in Java (1.5+),\n"
"though some third party applications are being written in Python and other languages. The code works\n"
"on <a href=\"http://java.com/en/\">Sun Java SE</a> and other Java Virtual Machines."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/intro.html:176
msgid "Where?"
msgstr "Wo?"
#: i2p2www/pages/site/docs/how/intro.html:177
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Anyone interested should join us on the IRC channel #i2p (hosted concurrently on irc.freenode.net,\n"
"irc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p and irc.einirc.de). There are currently no\n"
"scheduled development meetings, however <a href=\"%(meetings)s\">archives are available</a>."
msgstr "Jeder mit Interesse an I2P sollte uns im #i2p IRC Raum (gehostet auf irc.freenode.net,\nirc.postman.i2p, irc.freshcoffee.i2p, irc.welterde.i2p und irc.einirc.de) besuchen. Es gibt zur Zeit\nkeine fest geplanten Entwicklertreffen, dennoch existiert ein <a href=\"%(meetings)s\">Archiv</a>\nvon abgehaltenen Entwickler Treffen."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:183
#, python-format
msgid "The current source is available in <a href=\"%(monotone)s\">monotone</a>."
2013-07-03 01:01:50 +00:00
msgstr "Der aktuelle Quelltext ist in <a href=\"%(monotone)s\">Monotone</a> verf&uuml;gbar."
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/intro.html:188
#, python-format
msgid "See <a href=\"%(docs)s\">the Index to Technical Documentation</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:2
msgid "The Network Database"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:3
#: i2p2www/pages/site/docs/spec/common-structures.html:3
msgid "June 2013"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:8
msgid ""
"I2P's netDb is a specialized distributed database, containing \n"
2013-07-03 01:01:50 +00:00
"just two types of data - router contact information (<b>RouterInfos</b>) and destination contact\n"
"information (<b>LeaseSets</b>). Each piece of data is signed by the appropriate party and verified\n"
"by anyone who uses or stores it. In addition, the data has liveliness information\n"
"within it, allowing irrelevant entries to be dropped, newer entries to replace\n"
2013-06-05 10:00:16 +00:00
"older ones, and protection against certain classes of attack."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:17
msgid ""
"The netDb is distributed with a simple technique called \"floodfill\",\n"
2013-07-03 01:01:50 +00:00
"where a subset of all routers, called \"floodfill routers\", maintains the distributed database."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:25
msgid ""
2013-07-03 01:01:50 +00:00
"When an I2P router wants to contact another router, they need to know some \n"
"key pieces of data - all of which are bundled up and signed by the router into\n"
"a structure called the \"RouterInfo\", which is distributed with the SHA256 of the router's identity\n"
2013-06-05 10:00:16 +00:00
"as the key. The structure itself contains:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:32
msgid ""
"The router's identity (a 2048bit ElGamal encryption key, a 1024bit DSA "
"signing key, and a certificate)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:33
msgid ""
2013-07-03 01:01:50 +00:00
"The contact addresses at which it can be reached (e.g. TCP: example.org port"
" 4108)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:34
msgid "When this was published"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:35
msgid "A set of arbitrary text options"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:36
2013-07-03 01:01:50 +00:00
msgid ""
"The signature of the above, generated by the identity's DSA signing key"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:39
msgid ""
"The following text options, while not strictly required, are expected\n"
"to be present:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:45
msgid ""
2013-07-03 01:01:50 +00:00
"Capabilities flags - used to indicate floodfill participation, approximate "
"bandwidth, and perceived reachability"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:48
msgid "The core library version, always the same as the router version"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:51
msgid ""
"Basic network compatibility - A router will refuse to communicate with a "
"peer having a different netId"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:54
msgid "Used to determine compatibility with newer features and messages"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:57
msgid ""
2013-07-03 01:01:50 +00:00
"Always sent as 90m, for compatibility with an older scheme where routers published their actual uptime,\n"
2013-06-05 10:00:16 +00:00
"and only sent tunnel requests to peers whose was more than 60m"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:62
msgid ""
"These values are used by other routers for basic decisions.\n"
2013-07-03 01:01:50 +00:00
"Should we connect to this router? Should we attempt to route a tunnel through this router?\n"
"The bandwidth capability flag, in particular, is used only to determine whether\n"
2013-06-05 10:00:16 +00:00
"the router meets a minimum threshold for routing tunnels.\n"
2013-07-03 01:01:50 +00:00
"Above the minimum threshold, the advertised bandwidth is not used or trusted anywhere\n"
"in the router, except for display in the user interface and for debugging and network analysis."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:72
#, python-format
msgid ""
"Additional text options include\n"
2013-07-03 01:01:50 +00:00
"a small number of statistics about the router's health, which are aggregated by\n"
2013-06-05 10:00:16 +00:00
"sites such as <a href=\"http://%(stats)s/\">%(stats)s</a>\n"
"for network performance analysis and debugging.\n"
"These statistics were chosen to provide data crucial to the developers,\n"
2013-07-03 01:01:50 +00:00
"such as tunnel build success rates, while balancing the need for such data\n"
2013-06-05 10:00:16 +00:00
"with the side-effects that could result from revealing this data.\n"
"Current statistics are limited to:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:83
msgid "Client and exploratory tunnel build success, reject, and timeout rates"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:84
msgid "1 hour average number of participating tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:87
msgid ""
"The data published can be seen in the router's user interface,\n"
"but is not used or trusted within the router.\n"
2013-07-03 01:01:50 +00:00
"As the network has matured, we have gradually removed most of the published\n"
"statistics to improve anonymity, and we plan to remove more in future releases."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:95
msgid "RouterInfo specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:98
msgid "RouterInfo Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:101
msgid "RouterInfo Expiration"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:102
msgid ""
"RouterInfos have no set expiration time.\n"
2013-07-03 01:01:50 +00:00
"Each router is free to maintain its own local policy to trade off the frequency of RouterInfo lookups\n"
2013-06-05 10:00:16 +00:00
"with memory or disk usage.\n"
"In the current implementation, there are the following general policies:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:109
msgid ""
2013-07-03 01:01:50 +00:00
"There is no expiration during the first hour of uptime, as the persistent "
"stored data may be old."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:112
msgid "There is no expiration if there are 25 or less RouterInfos."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:115
msgid ""
2013-07-03 01:01:50 +00:00
"As the number of local RouterInfos grows, the expiration time shrinks, in an attempt to maintain\n"
"a reasonable number RouterInfos. The expiration time with less than 120 routers is 72 hours,\n"
2013-06-05 10:00:16 +00:00
"while expiration time with 300 routers is around 30 hours."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:120
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"RouterInfos containing <a href=\"%(ssu)s\">SSU</a> introducers expire in about an hour, as\n"
2013-06-05 10:00:16 +00:00
"the introducer list expires in about that time."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:124
msgid ""
2013-07-03 01:01:50 +00:00
"Floodfills use a short expiration time (1 hour) for all local RouterInfos, as valid RouterInfos will\n"
2013-06-05 10:00:16 +00:00
"be frequently republished to them."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:130
msgid "RouterInfo Persistent Storage"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:132
msgid ""
"RouterInfos are periodically written to disk so that they are available "
"after a restart."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:139
msgid ""
2013-07-03 01:01:50 +00:00
"The second piece of data distributed in the netDb is a \"LeaseSet\" - documenting\n"
"a group of <b>tunnel entry points (leases)</b> for a particular client destination.\n"
2013-06-05 10:00:16 +00:00
"Each of these leases specify the following information:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:145
msgid "The tunnel gateway router (by specifying its identity)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:146
msgid "The tunnel ID on that router to send messages with (a 4 byte number)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:147
msgid "When that tunnel will expire."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:149
msgid ""
"The LeaseSet itself is stored in the netDb under\n"
"the key derived from the SHA256 of the destination."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:154
msgid "In addition to these leases, the LeaseSet includes:"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:158
msgid ""
"The destination itself (a 2048bit ElGamal encryption key, 1024bit DSA "
"signing key and a certificate)"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:159
msgid ""
2013-07-03 01:01:50 +00:00
"Additional encryption public key: used for end-to-end encryption of garlic "
"messages"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:160
msgid ""
"Additional signing public key: intended for LeaseSet revocation, but is "
"currently unused."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:161
msgid ""
2013-07-03 01:01:50 +00:00
"Signature of all the LeaseSet data, to make sure the Destination published "
"the LeaseSet."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:165
msgid "Lease specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:167
msgid "LeaseSet specification"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:170
msgid "Lease Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:172
msgid "LeaseSet Javadoc"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:176
msgid "Unpublished LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:177
msgid ""
2013-07-03 01:01:50 +00:00
"A LeaseSet for a destination used only for outgoing connections is <i>unpublished</i>.\n"
2013-06-05 10:00:16 +00:00
"It is never sent for publication to a floodfill router.\n"
2013-07-03 01:01:50 +00:00
"\"Client\" tunnels, such as those for web browsing and IRC clients, are unpublished.\n"
"Servers will still be able to send messages back to those unpublished destinations,\n"
2013-06-05 10:00:16 +00:00
"because of <a href=\"#leaseset_storage_peers\">I2NP storage messages</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:187
msgid "Revoked LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:188
msgid ""
2013-07-03 01:01:50 +00:00
"A LeaseSet may be <i>revoked</i> by publishing a new LeaseSet with zero leases.\n"
"Revocations must be signed by the additional signing key in the LeaseSet.\n"
"Revocations are not fully implemented, and it is unclear if they have any practical use.\n"
"This is the only planned use for that signing key, so it is currently unused."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:195
msgid "Encrypted LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:196
msgid ""
2013-07-03 01:01:50 +00:00
"In an <i>encrypted</i> LeaseSet, all Leases are encrypted with a separate DSA key.\n"
"The leases may only be decoded, and thus the destination may only be contacted,\n"
2013-06-05 10:00:16 +00:00
"by those with the key.\n"
2013-07-03 01:01:50 +00:00
"There is no flag or other direct indication that the LeaseSet is encrypted.\n"
"Encrypted LeaseSets are not widely used, and it is a topic for future work to\n"
"research whether the user interface and implementation of encrypted LeaseSets could be improved."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:205
msgid "LeaseSet Expiration"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:206
msgid ""
2013-07-03 01:01:50 +00:00
"All Leases (tunnels) are valid for 10 minutes; therefore, a LeaseSet expires\n"
2013-06-05 10:00:16 +00:00
"10 minutes after the earliest creation time of all its Leases."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:211
msgid "LeaseSet Persistent Storage"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:212
msgid ""
"There is no persistent storage of LeaseSet data since they expire so "
"quickly."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:217
msgid "Bootstrapping"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:218
msgid ""
"The netDb is decentralized, however you do need at\n"
"least one reference to a peer so that the integration process\n"
2013-07-03 01:01:50 +00:00
"ties you in. This is accomplished by \"reseeding\" your router with the RouterInfo\n"
"of an active peer - specifically, by retrieving their <code>routerInfo-$hash.dat</code>\n"
"file and storing it in your <code>netDb/</code> directory. Anyone can provide\n"
"you with those files - you can even provide them to others by exposing your own\n"
2013-06-05 10:00:16 +00:00
"netDb directory. To simplify the process,\n"
2013-07-03 01:01:50 +00:00
"volunteers publish their netDb directories (or a subset) on the regular (non-i2p) network,\n"
2013-06-05 10:00:16 +00:00
"and the URLs of these directories are hardcoded in I2P.\n"
2013-07-03 01:01:50 +00:00
"When the router starts up for the first time, it automatically fetches from\n"
2013-06-05 10:00:16 +00:00
"one of these URLs, selected at random."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:232
msgid "Floodfill"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:233
msgid ""
"The floodfill netDb is a simple distributed storage mechanism.\n"
2013-07-03 01:01:50 +00:00
"The storage algorithm is simple: send the data to the closest peer that has advertised itself\n"
"as a floodfill router. Then wait 10 seconds, pick another floodfill router and ask them \n"
"for the entry to be sent, verifying its proper insertion / distribution. If the \n"
"verification peer doesn't reply, or they don't have the entry, the sender \n"
"repeats the process. When the peer in the floodfill netDb receives a netDb \n"
"store from a peer not in the floodfill netDb, they send it to a subset of the floodfill netDb-peers.\n"
"The peers selected are the ones closest (according to the <a href=\"#kademlia_closeness\">XOR-metric</a>) to a specific key."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:244
msgid ""
2013-07-03 01:01:50 +00:00
"Determining who is part of the floodfill netDb is trivial - it is exposed in each \n"
2013-06-05 10:00:16 +00:00
"router's published routerInfo as a capability."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:249
msgid ""
"Floodfills have no central authority and do not form a \"consensus\" -\n"
"they only implement a simple DHT overlay."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:256
msgid "Floodfill Router Opt-in"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:258
msgid ""
"Unlike Tor, where the directory servers are hardcoded and trusted,\n"
"and operated by known entities,\n"
"the members of the I2P floodfill peer set need not be trusted, and\n"
"change over time."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:265
msgid ""
"To increase reliability of the netDb, and minimize the impact\n"
"of netDb traffic on a router, floodfill is automatically enabled\n"
"only on routers that are configured with high bandwidth limits.\n"
"Routers with high bandwidth limits (which must be manually configured,\n"
"as the default is much lower) are presumed to be on lower-latency\n"
"connections, and are more likely to be available 24/7.\n"
2013-07-03 01:01:50 +00:00
"The current minimum share bandwidth for a floodfill router is 128 KBytes/sec."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:275
msgid ""
"In addition, a router must pass several additional tests for health\n"
2013-07-03 01:01:50 +00:00
"(outbound message queue time, job lag, etc.) before floodfill operation is\n"
2013-06-05 10:00:16 +00:00
"automatically enabled."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:281
#, python-format
msgid ""
"With the current rules for automatic opt-in, approximately 6% of\n"
"the routers in the network are floodfill routers."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:286
msgid ""
"While some peers are manually configured to be floodfill,\n"
"others are simply high-bandwidth routers who automatically volunteer\n"
"when the number of floodfill peers drops below a threshold.\n"
"This prevents any long-term network damage from losing most or all\n"
"floodfills to an attack.\n"
"In turn, these peers will un-floodfill themselves when there are\n"
"too many floodfills outstanding."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:296
msgid "Floodfill Router Roles"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:297
msgid ""
2013-07-03 01:01:50 +00:00
"A floodfill router's only services that are in addition to those of non-floodfill routers\n"
2013-06-05 10:00:16 +00:00
"are in accepting netDb stores and responding to netDb queries.\n"
2013-07-03 01:01:50 +00:00
"Since they are generally high-bandwidth, they are more likely to participate in a high number of tunnels\n"
"(i.e. be a \"relay\" for others), but this is not directly related to their distributed database services."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:305
msgid "Kademlia Closeness Metric"
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:306
msgid ""
2013-07-03 01:01:50 +00:00
"The netDb uses a simple Kademlia-style XOR metric to determine closeness.\n"
2013-06-05 10:00:16 +00:00
"The SHA256 hash of the key being looked up or stored is XOR-ed with\n"
"the hash of the router in question to determine closeness.\n"
2013-07-03 01:01:50 +00:00
"A modification to this algorithm is done to increase the costs of <a href=\"#sybil-partial\">Sybil attacks</a>.\n"
"Instead of the SHA256 hash of the key being looked up of stored, the SHA256 hash is taken\n"
"of the key appended with the date: yyyyMMdd (SHA256(key + yyyyMMdd)."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:317
2013-06-05 10:00:16 +00:00
msgid "Storage, Verification, and Lookup Mechanics"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:319
2013-06-05 10:00:16 +00:00
msgid "RouterInfo Storage to Peers"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:320
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local RouterInfo are exchanged with peers\n"
2013-06-05 10:00:16 +00:00
"as a part of the initialization of a <a href=\"%(ntcp)s\">NTCP</a>\n"
"or <a href=\"%(ssu)s\">SSU</a> transport connection."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:327
2013-06-05 10:00:16 +00:00
msgid "LeaseSet Storage to Peers"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:328
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessages containing the local LeaseSet are periodically exchanged with peers\n"
"by bundling them in a garlic message along with normal traffic from the related Destination.\n"
"This allows an initial response, and later responses, to be sent to an appropriate Lease,\n"
"without requiring any LeaseSet lookups, or requiring the communicating Destinations to have published LeaseSets at all."
msgstr ""
#: i2p2www/pages/site/docs/how/network-database.html:336
2013-06-05 10:00:16 +00:00
msgid "RouterInfo Storage to Floodfills"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:337
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A router publishes its own RouterInfo by directly connecting to a floodfill router\n"
2013-06-05 10:00:16 +00:00
"and sending it a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
2013-07-03 01:01:50 +00:00
"with a nonzero Reply Token. The message is not end-to-end garlic encrypted,\n"
2013-06-05 10:00:16 +00:00
"as this is a direct connection, so there are no intervening routers\n"
"(and no need to hide this data anyway).\n"
"The floodfill router replies with a\n"
"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
"with the Message ID set to the value of the Reply Token."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:351
2013-06-05 10:00:16 +00:00
msgid "LeaseSet Storage to Floodfills"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:352
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Storage of LeaseSets is much more sensitive than for RouterInfos, as a router\n"
2013-06-05 10:00:16 +00:00
"must take care that the LeaseSet cannot be associated with the router."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:357
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"A router publishes a local LeaseSet by\n"
"sending a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
2013-07-03 01:01:50 +00:00
"with a nonzero Reply Token over an outbound client tunnel for that Destination.\n"
"The message is end-to-end garlic encrypted using the Destination's Session Key Manager,\n"
2013-06-05 10:00:16 +00:00
"to hide the message from the tunnel's outbound endpoint.\n"
"The floodfill router replies with a\n"
"<a href=\"%(i2np)s\">I2NP</a> DeliveryStatusMessage,\n"
"with the Message ID set to the value of the Reply Token.\n"
"This message is sent back to one of the client's inbound tunnels."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:370
2013-06-05 10:00:16 +00:00
msgid "Flooding"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:371
2013-06-05 10:00:16 +00:00
msgid ""
"After a floodfill router receives a DatabaseStoreMessage containing a\n"
2013-07-03 01:01:50 +00:00
"valid RouterInfo or LeaseSet which is newer than that previously stored in its\n"
2013-06-05 10:00:16 +00:00
"local NetDb, it \"floods\" it.\n"
2013-07-03 01:01:50 +00:00
"To flood a NetDb entry, it looks up the 7 floodfill routers closest to the key\n"
"of the NetDb entry. (The key is the SHA256 Hash of the RouterIdentity or Destination with the date (yyyyMMdd) appended.)"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:379
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"It then directly connects to each of the 7 peers\n"
2013-06-05 10:00:16 +00:00
"and sends it a <a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage\n"
"with a zero Reply Token. The message is not end-to-end garlic encrypted,\n"
"as this is a direct connection, so there are no intervening routers\n"
"(and no need to hide this data anyway).\n"
"The other routers do not reply or re-flood, as the Reply Token is zero."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:389
2013-06-05 10:00:16 +00:00
msgid "RouterInfo and LeaseSet Lookup"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:390
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"%(i2np)s\">I2NP</a> DatabaseLookupMessage is used to request a netdb entry from a floodfill router.\n"
2013-06-05 10:00:16 +00:00
"Lookups are sent out one of the router's outbound exploratory tunnels.\n"
2013-07-03 01:01:50 +00:00
"The replies are specified to return via one of the router's inbound exploratory tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:396
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Lookups are generally sent to the two \"good\" (the connection doesn't fail)"
" floodfill routers closest to the requested key, in parallel."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:400
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"If the key is found locally by the floodfill router, it responds with a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseStoreMessage.\n"
2013-07-03 01:01:50 +00:00
"If the key is not found locally by the floodfill router, it responds with a\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
"containing a list of other floodfill routers close to the key."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:408
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"LeaseSet lookups are garlic encrypted end-to-end as of release 0.9.5.\n"
2013-07-03 01:01:50 +00:00
"RouterInfo lookups are not encrypted and thus are vulnerable to snooping by the outbound endpoint\n"
"(OBEP) of the client tunnel. This is due to the expense of the ElGamal encryption.\n"
2013-06-11 12:45:56 +00:00
"RouterInfo lookup encryption may be enabled in a future release."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:415
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.9.7, replies to a LeaseSet lookup (a DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
2013-06-11 12:45:56 +00:00
"will be encrypted by including the session key and tag in the lookup.\n"
2013-07-03 01:01:50 +00:00
"This hides the reply from the inbound gateway (IBGW) of the reply tunnel.\n"
"Responses to RouterInfo lookups will be encrypted if we enable the lookup encryption."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:422
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections "
"2.2-2.3 for terms below in italics)"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:426
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Due to the relatively small size of the network and the flooding redundancy of 8x,\n"
2013-06-05 10:00:16 +00:00
"lookups are usually O(1) rather than O(log n) --\n"
2013-07-03 01:01:50 +00:00
"a router is highly likely to know a floodfill router close enough to the key to get the answer on the first try.\n"
2013-06-05 10:00:16 +00:00
"In releases prior to 0.8.9, routers used a lookup redundancy of two\n"
2013-07-03 01:01:50 +00:00
"(that is, two lookups were performed in parallel to different peers), and\n"
"neither <i>recursive</i> nor <i>iterative</i> routing for lookups was implemented.\n"
2013-06-05 10:00:16 +00:00
"Queries were sent through <i>multiple routes simultaneously</i>\n"
"to <i>reduce the chance of query failure</i>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:437
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.8.9, <i>iterative lookups</i> are implemented with no lookup redundancy.\n"
2013-06-05 10:00:16 +00:00
"This is a more efficient and reliable lookup that will work much better\n"
"when not all floodfill peers are known, and it removes a serious\n"
2013-07-03 01:01:50 +00:00
"limitation to network growth. As the network grows and each router knows only a small\n"
2013-06-05 10:00:16 +00:00
"subset of the floodfill peers, lookups will become O(log n).\n"
2013-07-03 01:01:50 +00:00
"Even if the peer does not return references closer to the key, the lookup continues with\n"
"the next-closest peer, for added robustness, and to prevent a malicious floodfill from\n"
"black-holing a part of the key space. Lookups continue until a total lookup timeout is reached,\n"
2013-06-05 10:00:16 +00:00
"or the maximum number of peers is queried."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:449
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"<i>Node IDs</i> are <i>verifiable</i> in that we use the router hash directly as both the node ID and the Kademlia key.\n"
"Incorrect responses that are not closer to the search key are generally ignored.\n"
2013-06-05 10:00:16 +00:00
"Given the current size of the network, a router has\n"
"<i>detailed knowledge of the neighborhood of the destination ID space</i>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:458
2013-06-05 10:00:16 +00:00
msgid "RouterInfo Storage Verification"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:459
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"To verify a storage was successful, a router simply waits about 10 seconds,\n"
2013-06-05 10:00:16 +00:00
"then sends a lookup to another floodfill router close to the key\n"
"(but not the one the store was sent to).\n"
"Lookups sent out one of the router's outbound exploratory tunnels.\n"
2013-07-03 01:01:50 +00:00
"Lookups are end-to-end garlic encrypted to prevent snooping by the outbound endpoint(OBEP)."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:467
2013-06-05 10:00:16 +00:00
msgid "LeaseSet Storage Verification"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:468
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"To verify a storage was successful, a router simply waits about 10 seconds,\n"
2013-06-05 10:00:16 +00:00
"then sends a lookup to another floodfill router close to the key\n"
"(but not the one the store was sent to).\n"
2013-07-03 01:01:50 +00:00
"Lookups sent out one of the outbound client tunnels for the destination of the LeaseSet being verified.\n"
2013-06-05 10:00:16 +00:00
"To prevent snooping by the OBEP of the outbound tunnel,\n"
"lookups are end-to-end garlic encrypted.\n"
2013-07-03 01:01:50 +00:00
"The replies are specified to return via one of the client's inbound tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:478
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.9.7, replies for both RouterInfo and LeaseSet lookups (a DatabaseStoreMessage or a DatabaseSearchReplyMessage)\n"
2013-06-11 12:45:56 +00:00
"will be encrypted,\n"
"to hide the reply from the inbound gateway (IBGW) of the reply tunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:486
2013-06-05 10:00:16 +00:00
msgid "Exploration"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:487
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<i>Exploration</i> is a special form of netdb lookup, where a router attempts to learn about\n"
2013-06-05 10:00:16 +00:00
"new routers.\n"
2013-07-03 01:01:50 +00:00
"It does this by sending a floodfill router a <a href=\"%(i2np)s\">I2NP</a> DatabaseLookupMessage, looking for a random key.\n"
2013-06-05 10:00:16 +00:00
"As this lookup will fail, the floodfill would normally respond with a\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage containing hashes of floodfill routers close to the key.\n"
"This would not be helpful, as the requesting router probably already knows those floodfills,\n"
"and it would be impractical to add ALL floodfill routers to the \"don't include\" field of the lookup.\n"
"For an exploration query, the requesting router adds a router hash of all zeros to the\n"
2013-06-05 10:00:16 +00:00
"\"don't include\" field of the DatabaseLookupMessage.\n"
2013-07-03 01:01:50 +00:00
"The floodfill will then respond only with non-floodfill routers close to the requested key."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:501
2013-06-05 10:00:16 +00:00
msgid "Notes on Lookup Responses"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:502
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The response to a lookup request is either a Database Store Message (on success) or a\n"
"Database Search Reply Message (on failure). The DSRM contains a 'from' router hash field\n"
2013-06-05 10:00:16 +00:00
"to indicate the source of the reply; the DSM does not.\n"
"The DSRM 'from' field is unauthenticated and may be spoofed or invalid.\n"
2013-07-03 01:01:50 +00:00
"There are no other response tags. Therefore, when making multiple requests in parallel, it is\n"
2013-06-05 10:00:16 +00:00
"difficult to monitor the performance of the various floodfill routers."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:512
2013-06-05 10:00:16 +00:00
msgid "MultiHoming"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:514
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Destinations may be hosted on multiple routers simultaneously, by using the same\n"
2013-06-05 10:00:16 +00:00
"private and public keys (traditionally stored in eepPriv.dat files).\n"
2013-07-03 01:01:50 +00:00
"As both instances will periodically publish their signed LeaseSets to the floodfill peers,\n"
"the most recently published LeaseSet will be returned to a peer requesting a database lookup.\n"
"As LeaseSets have (at most) a 10 minute lifetime, should a particular instance go down,\n"
"the outage will be 10 minutes at most, and generally much less than that.\n"
"The multihoming function has been verified and is in use by several services on the network."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:524
2013-06-05 10:00:16 +00:00
msgid "Threat Analysis"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:525
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"Also discussed on <a href=\"%(threatmodel)s#floodfill\">the threat model "
"page</a>."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:529
2013-06-05 10:00:16 +00:00
msgid ""
"A hostile user may attempt to harm the network by\n"
"creating one or more floodfill routers and crafting them to offer\n"
"bad, slow, or no responses.\n"
"Some scenarios are discussed below."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:536
2013-06-05 10:00:16 +00:00
msgid "General Mitigation Through Growth"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:537
2013-06-05 10:00:16 +00:00
msgid ""
"There are currently hundreds of floodfill routers in the network.\n"
2013-07-03 01:01:50 +00:00
"Most of the following attacks will become more difficult, or have less impact,\n"
2013-06-05 10:00:16 +00:00
"as the network size and number of floodfill routers increase."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:544
2013-06-05 10:00:16 +00:00
msgid "General Mitigation Through Redundancy"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:545
2013-06-05 10:00:16 +00:00
msgid ""
"Via flooding, all netdb entries are stored on the 8 floodfill routers "
"closest to the key."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:550
2013-06-05 10:00:16 +00:00
msgid "Forgeries"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:551
2013-06-05 10:00:16 +00:00
msgid ""
"All netdb entries are signed by their creators, so no router may forge a\n"
"RouterInfo or LeaseSet."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:556
2013-06-05 10:00:16 +00:00
msgid "Slow or Unresponsive"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:557
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"Each router maintains an expanded set of statistics in the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(peerselection)s\">peer profile</a> for each floodfill router,\n"
2013-06-05 10:00:16 +00:00
"covering various quality metrics for that peer.\n"
"The set includes:"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:564
2013-06-05 10:00:16 +00:00
msgid "Average response time"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:565
2013-06-05 10:00:16 +00:00
msgid "Percentage of queries answered with the data requested"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:566
2013-06-05 10:00:16 +00:00
msgid "Percentage of stores that were successfully verified"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:567
2013-06-05 10:00:16 +00:00
msgid "Last successful store"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:568
2013-06-05 10:00:16 +00:00
msgid "Last successful lookup"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:569
2013-06-05 10:00:16 +00:00
msgid "Last response"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:572
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Each time a router needs to make a determination on which floodfill router is closest to a key,\n"
2013-06-05 10:00:16 +00:00
"it uses these metrics to determine which floodfill routers are \"good\".\n"
2013-07-03 01:01:50 +00:00
"The methods, and thresholds, used to determine \"goodness\" are relatively new, and\n"
2013-06-05 10:00:16 +00:00
"are subject to further analysis and improvement.\n"
2013-07-03 01:01:50 +00:00
"While a completely unresponsive router will quickly be identified and avoided,\n"
2013-06-05 10:00:16 +00:00
"routers that are only sometimes malicious may be much harder to deal with."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:582
2013-06-05 10:00:16 +00:00
msgid "Sybil Attack (Full Keyspace)"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:583
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\n"
2013-07-03 01:01:50 +00:00
"by creating a large number of floodfill routers spread throughout the keyspace."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:588
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"(In a related example, a researcher recently created a\n"
"<a href=\"%(url)s\">large number of Tor relays</a>.)\n"
2013-07-03 01:01:50 +00:00
"If successful, this could be an effective DOS attack on the entire network."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:594
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"If the floodfills are not sufficiently misbehaving to be marked as \"bad\" using the peer profile\n"
2013-06-05 10:00:16 +00:00
"metrics described above, this is a difficult scenario to handle.\n"
2013-07-03 01:01:50 +00:00
"Tor's response can be much more nimble in the relay case, as the suspicious relays\n"
2013-06-05 10:00:16 +00:00
"can be manually removed from the consensus.\n"
2013-07-03 01:01:50 +00:00
"Some possible responses for the I2P network are listed below, however none of them is completely satisfactory:"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:602
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Compile a list of bad router hashes or IPs, and announce the list through various means\n"
"(console news, website, forum, etc.); users would have to manually download the list and\n"
2013-06-05 10:00:16 +00:00
"add it to their local \"blacklist\"."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:607
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Ask everyone in the network to enable floodfill manually (fight Sybil with "
"more Sybil)"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:608
2013-06-05 10:00:16 +00:00
msgid "Release a new software version that includes the hardcoded \"bad\" list"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:609
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Release a new software version that improves the peer profile metrics and thresholds,\n"
2013-06-05 10:00:16 +00:00
"in an attempt to automatically identify the \"bad\" peers."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:613
2013-06-05 10:00:16 +00:00
msgid ""
"Add software that disqualifies floodfills if too many of them are in a "
"single IP block"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:614
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Implement an automatic subscription-based blacklist controlled by a single individual or group.\n"
"This would essentially implement a portion of the Tor \"consensus\" model.\n"
"Unfortunately it would also give a single individual or group the power to\n"
2013-06-05 10:00:16 +00:00
"block participation of any particular router or IP in the network,\n"
"or even to completely shutdown or destroy the entire network."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:623
#: i2p2www/pages/site/docs/how/network-database.html:659
2013-06-05 10:00:16 +00:00
msgid "This attack becomes more difficult as the network size grows."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:629
2013-06-05 10:00:16 +00:00
msgid "Sybil Attack (Partial Keyspace)"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:630
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"An attacker may mount a <a href=\"%(url)s\">Sybil attack</a>\n"
2013-07-03 01:01:50 +00:00
"by creating a small number (8-15) of floodfill routers clustered closely in the keyspace,\n"
2013-06-05 10:00:16 +00:00
"and distribute the RouterInfos for these routers widely.\n"
2013-07-03 01:01:50 +00:00
"Then, all lookups and stores for a key in that keyspace would be directed\n"
2013-06-05 10:00:16 +00:00
"to one of the attacker's routers.\n"
2013-07-03 01:01:50 +00:00
"If successful, this could be an effective DOS attack on a particular eepsite, for example."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:639
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"As the keyspace is indexed by the cryptographic (SHA256) Hash of the key,\n"
"an attacker must use a brute-force method to repeatedly generate router hashes\n"
2013-06-05 10:00:16 +00:00
"until he has enough that are sufficiently close to the key.\n"
2013-07-03 01:01:50 +00:00
"The amount of computational power required for this, which is dependent on network\n"
2013-06-05 10:00:16 +00:00
"size, is unknown."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:647
2013-06-05 10:00:16 +00:00
msgid ""
"As a partial defense against this attack,\n"
"the algorithm used to determine Kademlia \"closeness\" varies over time.\n"
2013-07-03 01:01:50 +00:00
"Rather than using the Hash of the key (i.e. H(k)) to determine closeness,\n"
"we use the Hash of the key appended with the current date string, i.e. H(k + YYYYMMDD).\n"
"A function called the \"routing key generator\" does this, which transforms the original key into a \"routing key\".\n"
"In other words, the entire netdb keyspace \"rotates\" every day at UTC midnight.\n"
2013-06-05 10:00:16 +00:00
"Any partial-keyspace attack would have to be regenerated every day, for\n"
"after the rotation, the attacking routers would no longer be close\n"
"to the target key, or to each other."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:663
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"One consequence of daily keyspace rotation is that the distributed network database\n"
2013-06-05 10:00:16 +00:00
"may become unreliable for a few minutes after the rotation --\n"
2013-07-03 01:01:50 +00:00
"lookups will fail because the new \"closest\" router has not received a store yet.\n"
2013-06-05 10:00:16 +00:00
"The extent of the issue, and methods for mitigation\n"
"(for example netdb \"handoffs\" at midnight)\n"
"are a topic for further study."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:673
2013-06-05 10:00:16 +00:00
msgid "Bootstrap Attacks"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:674
2013-06-05 10:00:16 +00:00
msgid ""
"An attacker could attempt to boot new routers into an isolated\n"
"or majority-controlled network by taking over a reseed website,\n"
"or tricking the developers into adding his reseed website\n"
"to the hardcoded list in the router."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:681
2013-06-05 10:00:16 +00:00
msgid "Several defenses are possible, and most of these are planned:"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:685
2013-06-05 10:00:16 +00:00
msgid ""
"Disallow fallback from HTTPS to HTTP for reseeding.\n"
"A MITM attacker could simply block HTTPS, then respond to the HTTP."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:689
2013-06-05 10:00:16 +00:00
msgid ""
"Changing the reseed task to fetch a subset of RouterInfos from\n"
"each of several reseed sites rather than using only a single site"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:693
2013-06-05 10:00:16 +00:00
msgid ""
"Creating an out-of-network reseed monitoring service that\n"
"periodically polls reseed websites and verifies that the\n"
"data are not stale or inconsistent with other views of the network"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:698
2013-06-05 10:00:16 +00:00
msgid "Bundling reseed data in the installer"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:701
2013-06-05 10:00:16 +00:00
msgid "Query Capture"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:702
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"See also <a href=\"#lookup\">lookup</a>\n"
2013-07-03 01:01:50 +00:00
"(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Sections 2.2-2.3 for terms below in italics)"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:707
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Similar to a bootstrap attack, an attacker using a floodfill router could attempt to \"steer\"\n"
"peers to a subset of routers controlled by him by returning their references."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:712
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"This is unlikely to work via exploration, because exploration is a low-frequency task.\n"
"Routers acquire a majority of their peer references through normal tunnel building activity.\n"
2013-06-05 10:00:16 +00:00
"Exploration results are generally limited to a few router hashes,\n"
"and each exploration query is directed to a random floodfill router."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:719
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"As of release 0.8.9, <i>iterative lookups</i> are implemented.\n"
"For floodfill router references returned in a\n"
"<a href=\"%(i2np)s\">I2NP</a> DatabaseSearchReplyMessage\n"
"response to a lookup,\n"
2013-07-03 01:01:50 +00:00
"these references are followed if they are closer (or the next closest) to the lookup key.\n"
2013-06-05 10:00:16 +00:00
"The requesting router does not trust that the references are\n"
"closer to the key (i.e. they are <i>verifiably correct</i>.\n"
2013-07-03 01:01:50 +00:00
"The lookup also does not stop when no closer key is found, but continues by querying the\n"
"next-closet node, until the timeout or maximum number of queries is reached.\n"
"This prevents a malicious floodfill from black-holing a part of the key space.\n"
"Also, the daily keyspace rotation requires an attacker to regenerate a router info\n"
2013-06-05 10:00:16 +00:00
"within the desired key space region.\n"
"This design ensures that the query capture attack described in\n"
"<a href=\"%(pdf)s\">Hashing it out in Public</a>\n"
"is much more difficult."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:738
2013-06-05 10:00:16 +00:00
msgid "DHT-Based Relay Selection"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:739
2013-06-05 10:00:16 +00:00
#, python-format
msgid "(Reference: <a href=\"%(pdf)s\">Hashing it out in Public</a> Section 3)"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:743
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"This doesn't have much to do with floodfill, but see\n"
"the <a href=\"%(peerselection)s\">peer selection page</a>\n"
"for a discussion of the vulnerabilities of peer selection for tunnels."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:749
2013-06-05 10:00:16 +00:00
msgid "Information Leaks"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:750
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymous and Secure "
"Lookup</a> Section 3)"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:754
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This paper addresses weaknesses in the \"Finger Table\" DHT lookups used by Torsk and NISAN.\n"
"At first glance, these do not appear to apply to I2P. First, the use of DHT by Torsk and NISAN\n"
"is significantly different from that in I2P. Second, I2P's network database lookups are only\n"
"loosely correlated to the <a href=\"%(peerselection)s\">peer selection</a> and\n"
"<a href=\"%(tunnelrouting)s\">tunnel building</a> processes; only previously-known peers\n"
2013-06-05 10:00:16 +00:00
"are used for tunnels.\n"
"Also, peer selection is unrelated to any notion of DHT key-closeness."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:765
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Some of this may actually be more interesting when the I2P network gets much larger.\n"
"Right now, each router knows a large proportion of the network, so looking up a particular\n"
"Router Info in the network database is not strongly indicative of a future intent to use\n"
"that router in a tunnel. Perhaps when the network is 100 times larger, the lookup may be\n"
"more correlative. Of course, a larger network makes a Sybil attack that much harder."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:773
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"However, the general issue of DHT information leakage in I2P needs further investigation.\n"
"The floodfill routers are in a position to observe queries and gather information.\n"
"Certainly, at a level of <i>f</i> = 0.2 (20%% malicious nodes, as specifed in the paper)\n"
2013-06-05 10:00:16 +00:00
"we expect that many of the Sybil threats we describe\n"
"(<a href=\"%(threatmodel)s#sybil\">here</a>,\n"
"<a href=\"#sybil\">here</a> and\n"
"<a href=\"#sybil-partial\">here</a>)\n"
"become problematic for several reasons."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:787
2013-06-05 10:00:16 +00:00
msgid "Moved to the netdb discussion page"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:791
2013-06-05 10:00:16 +00:00
msgid "End-to-end encryption of additional netDb lookups and responses."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/how/network-database.html:795
2013-06-05 10:00:16 +00:00
msgid "Better methods for tracking lookup responses."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:2
msgid "Peer Profiling and Selection"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:3
msgid "July 2010"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:8
msgid "Peer Profiling"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:10
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Peer profiling</b> is the process of collecting data based on the <b>observed</b> performance\n"
2013-06-05 10:00:16 +00:00
"of other routers or peers, and classifying those peers into groups.\n"
2013-07-03 01:01:50 +00:00
"Profiling does <b>not</b> use any claimed performance data published by the peer itself\n"
2013-06-05 10:00:16 +00:00
"in the <a href=\"%(netdb)s\">network database</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:17
msgid "Profiles are used for two purposes:"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:19
msgid "Selecting peers to relay our traffic through, which is discussed below"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:20
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Choosing peers from the set of floodfill routers to use for network database storage and queries,\n"
2013-06-05 10:00:16 +00:00
"which is discussed on the <a href=\"%(netdb)s\">network database</a> page"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:27
#: i2p2www/pages/site/docs/how/peer-selection.html:187
#: i2p2www/pages/site/docs/tunnels/implementation.html:286
msgid "Peer Selection"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:28
msgid ""
"<b>Peer selection</b> is the process of choosing which routers\n"
2013-07-03 01:01:50 +00:00
"on the network we want to relay our messages to go through (which peers will we \n"
2013-06-05 10:00:16 +00:00
"ask to join our tunnels). To accomplish this, we keep track of how each\n"
2013-07-03 01:01:50 +00:00
"peer performs (the peer's \"profile\") and use that data to estimate how \n"
2013-06-05 10:00:16 +00:00
"fast they are, how often they will be able to accept our requests, and \n"
"whether they seem to be overloaded or otherwise unable to perform what\n"
"they agree to reliably."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:38
#, python-format
msgid ""
"Unlike some other anonymous networks, in I2P,\n"
2013-07-03 01:01:50 +00:00
"claimed bandwidth is untrusted and is <b>only</b> used to avoid those peers\n"
2013-06-05 10:00:16 +00:00
"advertising very low bandwidth insufficient for routing tunnels.\n"
"All peer selection is done through profiling.\n"
"This prevents simple attacks based on peers claiming high bandwidth\n"
"in order to capture large numbers of tunnels.\n"
"It also makes\n"
"<a href=\"%(threatmodel)s#timing\">timing attacks</a>\n"
"more difficult."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:50
msgid ""
2013-07-03 01:01:50 +00:00
"Peer selection is done quite frequently, as a router may maintain a large number\n"
"of client and exploratory tunnels, and a tunnel lifetime is only 10 minutes."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:56
msgid "Further Information"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:57
#, python-format
msgid ""
"For more information see the paper\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous Network</a>\n"
2013-06-05 10:00:16 +00:00
"presented at <a href=\"%(url)s\">PET-CON 2009.1</a>.\n"
2013-07-03 01:01:50 +00:00
"See <a href=\"#notes\">below</a> for notes on minor changes since the paper was published."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:65
msgid "Profiles"
2013-07-03 01:01:50 +00:00
msgstr "Profile"
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/how/peer-selection.html:66
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Each peer has a set of data points collected about them, including statistics \n"
"about how long it takes for them to reply to a network database query, how \n"
"often their tunnels fail, and how many new peers they are able to introduce \n"
"us to, as well as simple data points such as when we last heard from them or\n"
"when the last communication error occurred. The specific data points gathered\n"
2013-06-05 10:00:16 +00:00
"can be found in the <a href=\"%(url)s\">code</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:75
msgid ""
2013-07-03 01:01:50 +00:00
"Profiles are fairly small, a few KB. To control memory usage, the profile expiration time\n"
2013-06-05 10:00:16 +00:00
"lessens as the number of profiles grows.\n"
2013-07-03 01:01:50 +00:00
"Profiles are kept in memory until router shutdown, when they are written to disk.\n"
"At startup, the profiles are read so the router need not reinitialize all profiles,\n"
"thus allowing a router to quickly re-integrate into the network after startup."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:85
msgid "Peer Summaries"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:86
msgid ""
"While the profiles themselves can be considered a summary of a peer's \n"
2013-07-03 01:01:50 +00:00
"performance, to allow for effective peer selection we break each summary down \n"
"into four simple values, representing the peer's speed, its capacity, how well \n"
2013-06-05 10:00:16 +00:00
"integrated into the network it is, and whether it is failing."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:93
msgid "Speed"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:94
msgid ""
"The speed calculation\n"
"simply goes through the profile and estimates how much data we can\n"
2013-07-03 01:01:50 +00:00
"send or receive on a single tunnel through the peer in a minute. For this estimate it just looks at\n"
2013-06-05 10:00:16 +00:00
"performance in the previous minute."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:101
msgid "Capacity"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:102
msgid ""
"The capacity calculation\n"
"simply goes through the profile and estimates how many tunnels the peer\n"
2013-07-03 01:01:50 +00:00
"would agree to participate in over a given time period. For this estimate it looks at \n"
2013-06-05 10:00:16 +00:00
"how many tunnel build requests\n"
"the peer has accepted, rejected, and dropped, and how many\n"
"of the agreed-to tunnels later failed.\n"
2013-07-03 01:01:50 +00:00
"While the calculation is time-weighted so that recent activity counts more than later activity,\n"
2013-06-05 10:00:16 +00:00
"statistics up to 48 hours old may be included."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:113
msgid ""
"Recognizing and avoiding unreliable and unreachable\n"
"peers is critically important.\n"
2013-07-03 01:01:50 +00:00
"Unfortunately, as the tunnel building and testing require the participation of several peers,\n"
"it is difficult to positively identify the cause of a dropped build request or test failure.\n"
2013-06-05 10:00:16 +00:00
"The router assigns a probability of failure to each of the\n"
"peers, and uses that probability in the capacity calculation.\n"
"Drops and test failures are weighted much higher than rejections."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:123
msgid "Peer organization"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:124
msgid ""
2013-07-03 01:01:50 +00:00
"As mentioned above, we drill through each peer's profile to come up with a \n"
"few key calculations, and based upon those, we organize each peer into three\n"
2013-06-05 10:00:16 +00:00
"groups - fast, high capacity, and standard."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:130
msgid "The groupings are not mutually exclusive, nor are they unrelated:"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:134
msgid ""
2013-07-03 01:01:50 +00:00
"A peer is considered \"high capacity\" if its capacity calculation meets or \n"
2013-06-05 10:00:16 +00:00
"exceeds the median of all peers."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:138
msgid ""
2013-07-03 01:01:50 +00:00
"A peer is considered \"fast\" if they are already \"high capacity\" and their \n"
2013-06-05 10:00:16 +00:00
"speed calculation meets or exceeds the median of all peers."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:142
msgid "A peer is considered \"standard\" if it is not \"high capacity\""
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:145
#, python-format
msgid ""
"These groupings are implemented in the router's\n"
"<a href=\"%(url)s\">ProfileOrganizer</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:150
msgid "Group size limits"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:151
msgid "The size of the groups may be limited."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:156
msgid ""
"The fast group is limited to 30 peers.\n"
2013-07-03 01:01:50 +00:00
"If there would be more, only the ones with the highest speed rating are placed in the group."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:160
msgid ""
2013-07-03 01:01:50 +00:00
"The high capacity group is limited to 75 peers (including the fast group)\n"
"If there would be more, only the ones with the highest capacity rating are placed in the group."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:164
msgid ""
2013-07-03 01:01:50 +00:00
"The standard group has no fixed limit, but is somewhat smaller than the number of RouterInfos\n"
2013-06-05 10:00:16 +00:00
"stored in the local network database.\n"
2013-07-03 01:01:50 +00:00
"On an active router in today's network, there may be about 1000 RouterInfos and 500 peer profiles\n"
2013-06-05 10:00:16 +00:00
"(including those in the fast and high capacity groups)"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:172
msgid "Recalculation and Stability"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:173
msgid ""
"Summaries are recalculated, and peers are resorted into groups, every 45 "
"seconds."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:177
msgid ""
2013-07-03 01:01:50 +00:00
"The groups tend to be fairly stable, that is, there is not much \"churn\" in the rankings\n"
2013-06-05 10:00:16 +00:00
"at each recalculation.\n"
2013-07-03 01:01:50 +00:00
"Peers in the fast and high capacity groups get more tunnels build through them, which increases their speed and capacity ratings,\n"
2013-06-05 10:00:16 +00:00
"which reinforces their presence in the group."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:188
2013-07-03 01:01:50 +00:00
msgid ""
"The router selects peers from the above groups to build tunnels through."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:193
msgid "Peer Selection for Client Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:194
msgid ""
2013-07-03 01:01:50 +00:00
"Client tunnels are used for application traffic, such as for HTTP proxies "
"and web servers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:198
msgid ""
2013-07-03 01:01:50 +00:00
"To reduce the susceptibility to <a href=\"http://blog.torproject.org/blog/one-cell-enough\">some attacks</a>,\n"
2013-06-05 10:00:16 +00:00
"and increase performance,\n"
2013-07-03 01:01:50 +00:00
"peers for building client tunnels are chosen randomly from the smallest group, which is the \"fast\" group.\n"
"There is no bias toward selecting peers that were previously participants in a tunnel for the same client."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:206
msgid "Peer Selection for Exploratory Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:207
msgid ""
2013-07-03 01:01:50 +00:00
"Exploratory tunnels are used for router administrative purposes, such as network database traffic\n"
2013-06-05 10:00:16 +00:00
"and testing client tunnels.\n"
2013-07-03 01:01:50 +00:00
"Exploratory tunnels are also used to contact previously unconnected routers, which is why\n"
2013-06-05 10:00:16 +00:00
"they are called \"exploratory\".\n"
"These tunnels are usually low-bandwidth."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:215
msgid ""
2013-07-03 01:01:50 +00:00
"Peers for building exploratory tunnels are generally chosen randomly from the standard group.\n"
"If the success rate of these build attempts is low compared to the client tunnel build success rate,\n"
"the router will select a weighted average of peers randomly from the high capacity group instead.\n"
"This helps maintain a satisfactory build success rate even when network performance is poor.\n"
"There is no bias toward selecting peers that were previously participants in an exploratory tunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:223
msgid ""
2013-07-03 01:01:50 +00:00
"As the standard group includes a very large subset of all peers the router knows about,\n"
"exploratory tunnels are essentially built through a random selection of all peers,\n"
2013-06-05 10:00:16 +00:00
"until the build success rate becomes too low."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:231
msgid "Restrictions"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:232
msgid ""
2013-07-03 01:01:50 +00:00
"To prevent some simple attacks, and for performance, there are the following"
" restrictions:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:236
msgid "Two peers from the same /16 IP space may not be in the same tunnel."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:239
#, python-format
msgid ""
"A peer may participate in a maximum of 33% of all tunnels created by the "
"router."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:242
msgid "Peers with extremely low bandwidth are not used."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:245
msgid "Peers for which a recent connection attempt failed are not used."
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:252
msgid "Peer Ordering in Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:253
#, python-format
msgid ""
"Peers are ordered within tunnels to\n"
"to deal with the <a href=\"%(pdf)s\">predecessor attack</a>\n"
"<a href=\"%(pdf2008)s\">(2008 update)</a>.\n"
2013-07-03 01:01:50 +00:00
"More information is on the <a href=\"%(tunnelimpl)s#ordering\">tunnel page</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:268
2013-07-03 01:01:50 +00:00
msgid ""
"Continue to analyze an tune speed and capacity calculations as necessary"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:271
msgid ""
2013-07-03 01:01:50 +00:00
"Implement a more aggressive ejection strategy if necessary to control memory"
" usage as the network grows"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:274
msgid "Evaluate group size limits"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:277
msgid "Use GeoIP data to include or exclude certain peers, if configured"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:283
#, python-format
msgid ""
"For those reading the paper\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(pdf)s\">Peer Profiling and Selection in the I2P Anonymous Network</a>,\n"
"please keep in mind the following minor changes in I2P since the paper's publication:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:289
msgid "The Integration calculation is still not used"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:290
msgid "In the paper, \"groups\" are called \"tiers\""
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:291
msgid "The \"Failing\" tier is no longer used"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:292
msgid "The \"Not Failing\" tier is now named \"Standard\""
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:301
msgid "One Cell Enough"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:303
msgid "Tor Entry Guards"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:305
msgid "Murdoch 2007 Paper"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:307
msgid "Tune-up for Tor"
msgstr ""
#: i2p2www/pages/site/docs/how/peer-selection.html:309
msgid "Low-resource Routing Attacks Against Tor"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:2
msgid "Introducing I2P"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:5
msgid "I2P: A scalable framework for anonymous communication"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:7
msgid "Table of Contents"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:9
#: i2p2www/pages/site/docs/how/tech-intro.html:24
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:278
2013-06-05 10:00:16 +00:00
msgid "Introduction"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:11
msgid "I2P Operation"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:16
#: i2p2www/pages/site/docs/how/tech-intro.html:401
msgid "Transport protocols"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:25
msgid ""
"I2P is a scalable, self organizing, resilient packet switched anonymous \n"
2013-07-03 01:01:50 +00:00
"network layer, upon which any number of different anonymity or security conscious \n"
"applications can operate. Each of these applications may make their own anonymity, \n"
"latency, and throughput tradeoffs without worrying about the proper implementation \n"
"of a free route mixnet, allowing them to blend their activity with the larger \n"
2013-06-05 10:00:16 +00:00
"anonymity set of users already running on top of I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:34
msgid ""
2013-07-03 01:01:50 +00:00
"Applications available already provide the full range of typical Internet activities -\n"
2013-06-05 10:00:16 +00:00
"<b>anonymous</b> web browsing, web hosting, chat, file sharing, e-mail,\n"
2013-07-03 01:01:50 +00:00
"blogging and content syndication, newsgroups, as well as several other applications under development."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:40
msgid "Web browsing: using any existing browser that supports using a proxy."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:41
msgid "Chat: IRC, Jabber, <a href=\"#app.i2pmessenger\">I2P-Messenger</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:42
msgid ""
2013-07-03 01:01:50 +00:00
"File sharing: <a href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.robert\">Robert</a>, <a href=\"#app.imule\">iMule</a>, \n"
"<a href=\"#app.i2phex\">I2Phex</a>, <a href=\"#app.pybit\">PyBit</a>, <a href=\"#app.i2pbt\">I2P-bt</a>\n"
2013-06-05 10:00:16 +00:00
"and others."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:47
msgid ""
"E-mail: <a href=\"#app.i2pmail\">susimail</a> and <a href=\"#app.i2pbote"
"\">I2P-Bote</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:48
msgid ""
2013-07-03 01:01:50 +00:00
"Blog: using e.g. the pebble plugin or the distributed blogging software <a "
"href=\"#app.syndie\">Syndie</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:49
msgid ""
2013-07-03 01:01:50 +00:00
"Distributed Data Store: Save your data redundantly in the Tahoe-LAFS cloud "
"over I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:50
msgid "Newsgroups: using any newsgroup reader that supports using a proxy."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"Unlike web sites hosted within content distribution networks like <a href=\"#similar.freenet\">Freenet</a> \n"
"or <a href=\"http://www.ovmj.org/GNUnet/\">GNUnet</a>, the services hosted on \n"
"I2P are fully interactive - there are traditional web-style search engines, \n"
"bulletin boards, blogs you can comment on, database driven sites, and bridges \n"
"to query static systems like Freenet without needing to install it locally."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:61
msgid ""
"With all of these anonymity enabled applications, I2P takes on the role \n"
2013-07-03 01:01:50 +00:00
"of the message oriented middleware - applications say that they want to send \n"
"some data to a cryptographic identifier (a \"destination\") and I2P takes care \n"
"of making sure it gets there securely and anonymously. I2P also bundles a \n"
"simple <a href=\"#app.streaming\">streaming</a> library to allow I2P's anonymous \n"
"best-effort messages to transfer as reliable, in-order streams, transparently \n"
"offering a TCP based congestion control algorithm tuned for the high bandwidth \n"
"delay product of the network. While there have been several simple SOCKS proxies \n"
"available to tie existing applications into the network, their value has been \n"
"limited as nearly every application routinely exposes what, in an anonymous \n"
"context, is sensitive information. The only safe way to go is to fully audit \n"
"an application to ensure proper operation and to assist in that we provide \n"
"a series of APIs in various languages which can be used to make the most out \n"
2013-06-05 10:00:16 +00:00
"of the network."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:78
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is not a research project - academic, commercial, or governmental, but \n"
"is instead an engineering effort aimed at doing whatever is necessary to provide \n"
"a sufficient level of anonymity to those who need it. It has been in active \n"
"development since early 2003 with one full time developer and a dedicated \n"
"group of part time contributors from all over the world. All of the work done \n"
"on I2P is open source and freely available on the <a href=\"%(site)s\">website</a>, \n"
"with the majority of the code released outright into the public domain, though \n"
"making use of a few cryptographic routines under BSD-style licenses. The people \n"
"working on I2P do not control what people release client applications under, \n"
"and there are several GPL'ed applications available (<a href=\"#app.i2ptunnel\">I2PTunnel</a>, \n"
"<a href=\"#app.i2pmail\">susimail</a>, <a href=\"#app.i2psnark\">I2PSnark</a>, <a href=\"#app.i2pbote\">I2P-Bote</a>, \n"
2013-06-05 10:00:16 +00:00
"<a href=\"#app.i2phex\">I2Phex</a> and others.).\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(halloffame)s\">Funding</a> for I2P comes entirely from donations,\n"
2013-06-05 10:00:16 +00:00
"and does not receive any tax breaks in any jurisdiction at this time,\n"
"as many of the developers are themselves anonymous."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:96
msgid "Operation"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:98
msgid ""
2013-07-03 01:01:50 +00:00
"To understand I2P's operation, it is essential to understand a few key concepts. \n"
"First, I2P makes a strict separation between the software participating in \n"
"the network (a \"router\") and the anonymous endpoints (\"destinations\") associated \n"
"with individual applications. The fact that someone is running I2P is not \n"
"usually a secret. What is hidden is information on what the user is doing, \n"
"if anything at all, as well as what router a particular destination is connected \n"
"to. End users will typically have several local destinations on their router \n"
"- for instance, one proxying in to IRC servers, another supporting the user's \n"
"anonymous webserver (\"eepsite\"), another for an I2Phex instance, another for \n"
2013-06-05 10:00:16 +00:00
"torrents, etc."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:111
msgid ""
"Another critical concept to understand is the \"tunnel\".\n"
2013-07-03 01:01:50 +00:00
"A tunnel is a directed path through an explicitly selected list of routers.\n"
"Layered encryption is used, so each of the routers can only decrypt a single layer.\n"
2013-06-05 10:00:16 +00:00
"The decrypted information contains the IP of the next router, along with\n"
"the encrypted information to be forwarded.\n"
2013-07-03 01:01:50 +00:00
"Each tunnel has a starting point (the first router, also known as \"gateway\")\n"
"and an end point. Messages can be sent only in one way. To send messages back,\n"
2013-06-05 10:00:16 +00:00
"another tunnel is required."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:122
#: i2p2www/pages/site/docs/tunnels/implementation.html:105
msgid "Inbound and outbound tunnel schematic"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:124
msgid "Figure 1: Two types of tunnels exist: inbound and outbound."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:127
msgid ""
"Two types of tunnels exist:\n"
"<b>\"outbound\" tunnels</b> send messages away from the tunnel creator,\n"
"while <b>\"inbound\" tunnels</b> bring messages to the tunnel creator.\n"
"Combining these two tunnels allows users to send messages to each other.\n"
"The sender (\"Alice\" in the above image) sets up an outbound tunnel,\n"
2013-07-03 01:01:50 +00:00
"while the receiver (\"Bob\" in the above image) creates an inbound tunnel.\n"
"The gateway of an inbound tunnel can receive messages from any other user\n"
2013-06-05 10:00:16 +00:00
"and will send them on until the endpoint (\"Bob\").\n"
"The endpoint of the outbound tunnel will need to send the message\n"
"on to the gateway of the inbound tunnel.\n"
2013-07-03 01:01:50 +00:00
"To do this, the sender (\"Alice\") adds instructions to her encrypted message.\n"
2013-06-05 10:00:16 +00:00
"Once the endpoint of the outbound tunnel decrypts the message,\n"
"it will have instructions to forward the message to the correct\n"
"inbound gateway (the gateway to \"Bob\")."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:144
msgid ""
2013-07-03 01:01:50 +00:00
"A third critical concept to understand is I2P's <b>\"network database\"</b> (or \"netDb\") \n"
"- a pair of algorithms used to share network metadata. The two types of metadata \n"
"carried are <b>\"routerInfo\"</b> and <b>\"leaseSets\"</b> - the routerInfo gives routers the \n"
"data necessary for contacting a particular router (their public keys, transport \n"
"addresses, etc), while the leaseSet gives routers the information necessary \n"
"for contacting a particular destination. A leaseSet contains a number of \"leases\".\n"
"Each of this leases specifies a tunnel gateway, which allows reaching a specific destination.\n"
2013-06-05 10:00:16 +00:00
"The full information contained in a lease:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:155
2013-07-03 01:01:50 +00:00
msgid ""
"Inbound gateway for a tunnel that allows reaching a specific destination."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:156
msgid "Time when a tunnel expires."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:157
msgid ""
"Pair of public keys to be able to encrypt messages (to send through the "
"tunnel and reach the destination)."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:159
msgid ""
2013-07-03 01:01:50 +00:00
"Routers themselves send their routerInfo to the netDb directly, while leaseSets are sent through outbound tunnels\n"
"(leaseSets need to be sent anonymously, to avoid correlating a router with his leaseSets)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:164
msgid ""
"We can combine the above concepts to build successful connections in the "
"network."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:168
msgid ""
2013-07-03 01:01:50 +00:00
"To build up her own inbound and outbound tunnels, Alice does a lookup in the netDb to collect routerInfo.\n"
2013-06-05 10:00:16 +00:00
"This way, she gathers lists of peers she can use as hops in her tunnels.\n"
2013-07-03 01:01:50 +00:00
"She can then send a build message to the first hop, requesting the construction of a tunnel and asking\n"
"that router to send the construction message onward, until the tunnel has been constructed."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:175
msgid "Request information on other routers"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:177
msgid "Build tunnel using router information"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:179
msgid "Figure 2: Router information is used to build tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:182
msgid ""
2013-07-03 01:01:50 +00:00
"When Alice wants to send a message to Bob, she first does a lookup in the \n"
"netDb to find Bob's leaseSet, giving her his current inbound tunnel gateways. \n"
"She then picks one of her outbound tunnels and sends the message down it with \n"
"instructions for the outbound tunnel's endpoint to forward the message on \n"
"to one of Bob's inbound tunnel gateways. When the outbound tunnel endpoint \n"
"receives those instructions, it forwards the message as requested, and when \n"
"Bob's inbound tunnel gateway receives it, it is forwarded down the tunnel \n"
"to Bob's router. If Alice wants Bob to be able to reply to the message, she \n"
"needs to transmit her own destination explicitly as part of the message itself.\n"
"This can be done by introducing a higher-level layer, which is done in the\n"
2013-06-05 10:00:16 +00:00
"<a href=\"#app.streaming\">streaming</a> library.\n"
"Alice may also cut down on the response time by bundling her most \n"
2013-07-03 01:01:50 +00:00
"recent LeaseSet with the message so that Bob doesn't need to do a netDb lookup \n"
2013-06-05 10:00:16 +00:00
"for it when he wants to reply, but this is optional."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:199
msgid "Connect tunnels using LeaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:199
msgid "Connect tunnels using leaseSets"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:201
msgid "Figure 3: LeaseSets are used to connect outbound and inbound tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:204
msgid ""
2013-07-03 01:01:50 +00:00
"While the tunnels themselves have layered encryption to prevent unauthorized \n"
"disclosure to peers inside the network (as the transport layer itself does \n"
"to prevent unauthorized disclosure to peers outside the network), it is necessary \n"
"to add an additional end to end layer of encryption to hide the message from \n"
"the outbound tunnel endpoint and the inbound tunnel gateway. This \"<a href=\"#op.garlic\">garlic \n"
"encryption</a>\" lets Alice's router wrap up multiple messages into a single \n"
"\"garlic message\", encrypted to a particular public key so that intermediary \n"
"peers cannot determine either how many messages are within the garlic, what \n"
"those messages say, or where those individual cloves are destined. For typical \n"
"end to end communication between Alice and Bob, the garlic will be encrypted \n"
"to the public key published in Bob's leaseSet, allowing the message to be \n"
2013-06-05 10:00:16 +00:00
"encrypted without giving out the public key to Bob's own router."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:219
msgid ""
2013-07-03 01:01:50 +00:00
"Another important fact to keep in mind is that I2P is entirely message based \n"
"and that some messages may be lost along the way. Applications using I2P can \n"
"use the message oriented interfaces and take care of their own congestion \n"
"control and reliability needs, but most would be best served by reusing the \n"
"provided <a href=\"#app.streaming\">streaming</a> library to view I2P as a streams \n"
2013-06-05 10:00:16 +00:00
"based network."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:229
msgid ""
"Both inbound and outbound tunnels work along similar principles.\n"
2013-07-03 01:01:50 +00:00
"The tunnel gateway accumulates a number of tunnel messages, eventually preprocessing \n"
"them into something for tunnel delivery. Next, the gateway encrypts that preprocessed \n"
"data and forwards it to the first hop. That peer and subsequent tunnel participants \n"
"add on a layer of encryption after verifying that it isn't a duplicate before \n"
"forward it on to the next peer. Eventually, the message arrives at the endpoint \n"
"where the messages are split out again and forwarded on as requested. The \n"
"difference arises in what the tunnel's creator does - for inbound tunnels, \n"
"the creator is the endpoint and they simply decrypt all of the layers added, \n"
"while for outbound tunnels, the creator is the gateway and they pre-decrypt \n"
"all of the layers so that after all of the layers of per-hop encryption are \n"
2013-06-05 10:00:16 +00:00
"added, the message arrives in the clear at the tunnel endpoint."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:244
msgid ""
2013-07-03 01:01:50 +00:00
"The choice of specific peers to pass on messages as well as their particular \n"
"ordering is important to understanding both I2P's anonymity and performance \n"
"characteristics. While the network database (below) has its own criteria for \n"
"picking what peers to query and store entries on, tunnel creators may use any peers \n"
"in the network in any order (and even any number of times) in a single tunnel. \n"
"If perfect latency and capacity data were globally known, selection and ordering \n"
"would be driven by the particular needs of the client in tandem with their \n"
"threat model. Unfortunately, latency and capacity data is not trivial to gather \n"
"anonymously, and depending upon untrusted peers to provide this information \n"
2013-06-05 10:00:16 +00:00
"has its own serious anonymity implications."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:257
msgid ""
2013-07-03 01:01:50 +00:00
"From an anonymity perspective, the simplest technique would be to pick peers \n"
"randomly from the entire network, order them randomly and use those peers \n"
"in that order for all eternity. From a performance perspective, the simplest \n"
"technique would be to pick the fastest peers with the necessary spare capacity, \n"
"spreading the load across different peers to handle transparent failover, \n"
"and to rebuild the tunnel whenever capacity information changes. While the \n"
"former is both brittle and inefficient, the later requires inaccessible information \n"
"and offers insufficient anonymity. I2P is instead working on offering a range \n"
"of peer selection strategies, coupled with anonymity aware measurement code \n"
2013-06-05 10:00:16 +00:00
"to organize the peers by their profiles."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:270
msgid ""
2013-07-03 01:01:50 +00:00
"As a base, I2P is constantly profiling the peers with which it interacts \n"
"with by measuring their indirect behavior - for instance, when a peer responds \n"
"to a netDb lookup in 1.3 seconds, that round trip latency is recorded in the \n"
"profiles for all of the routers involved in the two tunnels (inbound and outbound) \n"
"through which the request and response passed, as well as the queried peer's \n"
"profile. Direct measurement, such as transport layer latency or congestion, \n"
"is not used as part of the profile, as it can be manipulated and associated \n"
"with the measuring router, exposing them to trivial attacks. While gathering \n"
"these profiles, a series of calculations are run on each to summarize its \n"
"performance - its latency, capacity to handle lots of activity, whether they \n"
"are currently overloaded, and how well integrated into the network they seem \n"
"to be. These calculations are then compared for active peers to organize the \n"
"routers into four tiers - fast and high capacity, high capacity, not failing, \n"
"and failing. The thresholds for those tiers are determined dynamically, and \n"
2013-06-05 10:00:16 +00:00
"while they currently use fairly simple algorithms, alternatives exist."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:288
msgid ""
2013-07-03 01:01:50 +00:00
"Using this profile data, the simplest reasonable peer selection strategy \n"
"is to pick peers randomly from the top tier (fast and high capacity), and \n"
"this is currently deployed for client tunnels. Exploratory tunnels (used for \n"
"netDb and tunnel management) pick peers randomly from the \"not failing\" tier \n"
"(which includes routers in 'better' tiers as well), allowing the peer to sample \n"
"routers more widely, in effect optimizing the peer selection through randomized \n"
"hill climbing. These strategies alone do however leak information regarding \n"
"the peers in the router's top tier through predecessor and netDb harvesting \n"
"attacks. In turn, several alternatives exist which, while not balancing the \n"
"load as evenly, will address the attacks mounted by particular classes of \n"
2013-06-05 10:00:16 +00:00
"adversaries."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:302
msgid ""
2013-07-03 01:01:50 +00:00
"By picking a random key and ordering the peers according to their XOR distance \n"
"from it, the information leaked is reduced in predecessor and harvesting attacks \n"
"according to the peers' failure rate and the tier's churn. Another simple \n"
"strategy for dealing with netDb harvesting attacks is to simply fix the inbound \n"
"tunnel gateway(s) yet randomize the peers further on in the tunnels. To deal \n"
"with predecessor attacks for adversaries which the client contacts, the outbound \n"
"tunnel endpoints would also remain fixed. The selection of which peer to fix \n"
"on the most exposed point would of course need to have a limit to the duration, \n"
"as all peers fail eventually, so it could either be reactively adjusted or \n"
"proactively avoided to mimic a measured mean time between failures of other \n"
"routers. These two strategies can in turn be combined, using a fixed exposed \n"
"peer and an XOR based ordering within the tunnels themselves. A more rigid \n"
"strategy would fix the exact peers and ordering of a potential tunnel, only \n"
"using individual peers if all of them agree to participate in the same way \n"
"each time. This varies from the XOR based ordering in that the predecessor \n"
"and successor of each peer is always the same, while the XOR only makes sure \n"
2013-06-05 10:00:16 +00:00
"their order doesn't change."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:322
#, python-format
msgid ""
"As mentioned before, I2P currently (release 0.8) includes the tiered \n"
"random strategy above, with XOR-based ordering. A \n"
2013-07-03 01:01:50 +00:00
"more detailed discussion of the mechanics involved in tunnel operation, management, \n"
"and peer selection can be found in the <a href=\"%(tunnelimpl)s\">tunnel spec</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:330
#, python-format
msgid ""
"As mentioned earlier, I2P's netDb works to share the network's metadata.\n"
"This is detailed in <a href=\"%(netdb)s\">the network database</a> page,\n"
"but a basic explanation is available below."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:336
msgid ""
"A percentage of I2P users are appointed as 'floodfill peers'.\n"
2013-07-03 01:01:50 +00:00
"Currently, I2P installations that have a lot of bandwidth and are fast enough,\n"
"will appoint themselves as floodfill as soon as the number of existing floodfill routers\n"
2013-06-05 10:00:16 +00:00
"drops too low."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:343
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Other I2P routers will store their data and lookup data by sending simple 'store' and 'lookup' queries to the floodfills.\n"
"If a floodfill router receives a 'store' query, it will spread the information to other floodfill routers\n"
"using the <a href=\"http://en.wikipedia.org/wiki/Kademlia\">Kademlia algorithm</a>.\n"
"The 'lookup' queries currently function differently, to avoid an important\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(netdb)s#lookup\">security issue</a>.\n"
2013-07-03 01:01:50 +00:00
"When a lookup is done, the floodfill router will not forward the lookup to other peers,\n"
2013-06-05 10:00:16 +00:00
"but will always answer by itself (if it has the requested data)."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:353
msgid "Two types of information are stored in the network database."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:357
msgid ""
2013-07-03 01:01:50 +00:00
"A <b>RouterInfo</b> stores information on a specific I2P router and how to "
"contact it"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:358
msgid ""
"A <b>LeaseSet</b> stores information on a specific destination (e.g. I2P "
"website, e-mail server...)"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:360
msgid ""
2013-07-03 01:01:50 +00:00
"All of this information is signed by the publishing party and verified by any I2P router using or storing the information.\n"
"In addition, the data contains timing information, to avoid storage of old entries and possible attacks.\n"
"This is also why I2P bundles the necessary code for maintaining the correct time, occasionally querying some SNTP servers \n"
"(the <a href=\"http://www.pool.ntp.org/\">pool.ntp.org</a> round robin by default)\n"
2013-06-05 10:00:16 +00:00
"and detecting skew between routers at the transport layer."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:368
msgid "Some additional remarks are also important."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:373
msgid "Unpublished and encrypted leasesets:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:374
msgid ""
"One could only want specific people to be able to reach a destination.\n"
2013-07-03 01:01:50 +00:00
"This is possible by not publishing the destination in the netDb. You will however have to transmit the destination by other means.\n"
"An alternative are the 'encrypted leaseSets'. These leaseSets can only be decoded by people with access to the decryption key."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:381
msgid "Bootstrapping:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:382
msgid ""
2013-07-03 01:01:50 +00:00
"Bootstrapping the netDb is quite simple. Once a router manages to receive a single routerInfo of a reachable peer,\n"
2013-06-05 10:00:16 +00:00
"it can query that router for references to other routers in the network.\n"
2013-07-03 01:01:50 +00:00
"Currently, a number of users post their routerInfo files to a website to make this information available.\n"
"I2P automatically connects to one of these websites to gather routerInfo files and bootstrap."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:390
msgid "Lookup scalability:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:391
msgid ""
"Lookups in the I2P network are not forwarded to other netDb routers.\n"
2013-07-03 01:01:50 +00:00
"Currently, this is not a major problem, since the network is not very large.\n"
"However, as the network grows, not all routerInfo and leaseSet files will be present\n"
"on each netDb router. This will cause a deterioration of the percentage of successful lookups.\n"
"Because of this, refinements to the netDb will be done in the next releases."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:402
msgid ""
2013-07-03 01:01:50 +00:00
"Communication between routers needs to provide confidentiality and integrity \n"
"against external adversaries while authenticating that the router contacted \n"
"is the one who should receive a given message. The particulars of how routers \n"
"communicate with other routers aren't critical - three separate protocols \n"
2013-06-05 10:00:16 +00:00
"have been used at different points to provide those bare necessities."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:410
#, python-format
msgid ""
"I2P started with a TCP-based protocol which \n"
2013-07-03 01:01:50 +00:00
"has since been disabled. Then, to accommodate the need for high degree communication \n"
"(as a number of routers will end up speaking with many others), I2P moved \n"
"from a TCP based transport to a <a href=\"%(ssu)s\">UDP-based one</a> - \"Secure \n"
2013-06-05 10:00:16 +00:00
"Semireliable UDP\", or \"SSU\"."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:418
#, python-format
msgid "As described in the <a href=\"%(ssu)s\">SSU spec</a>:"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:422
msgid ""
"The goal of this protocol is to provide secure, authenticated, \n"
2013-07-03 01:01:50 +00:00
"semireliable and unordered message delivery, exposing only a minimal amount \n"
"of data easily discernible to third parties. It should support high degree \n"
"communication as well as TCP-friendly congestion control and may include \n"
"PMTU detection. It should be capable of efficiently moving bulk data at rates \n"
"sufficient for home users. In addition, it should support techniques for addressing \n"
2013-06-05 10:00:16 +00:00
"network obstacles, like most NATs or firewalls."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:432
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Following the introduction of SSU, after issues with congestion collapse \n"
"appeared, a new NIO-based TCP transport called <a href=\"%(ntcp)s\">NTCP</a> \n"
"was implemented. It is enabled by default for outbound connections only. Those \n"
"who configure their NAT/firewall to allow inbound connections and specify \n"
"the external host and port (dyndns/etc is ok) on /config.jsp can receive inbound \n"
"connections. As NTCP is NIO based, so it doesn't suffer from the 1 thread \n"
2013-06-05 10:00:16 +00:00
"per connection issues of the old TCP transport."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:442
msgid ""
"I2P supports multiple transports simultaneously. A particular transport \n"
2013-07-03 01:01:50 +00:00
"for an outbound connection is selected with \"bids\". Each transport bids for \n"
"the connection and the relative value of these bids assigns the priority. \n"
"Transports may reply with different bids, depending on whether there is already \n"
2013-06-05 10:00:16 +00:00
"an established connection to the peer."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:450
#, python-format
msgid ""
"The current implementation ranks NTCP as the highest-priority transport \n"
2013-07-03 01:01:50 +00:00
"for outbound connections in most situations. SSU is enabled for both outbound \n"
"and inbound connections. Your firewall and your I2P router must be configured \n"
"to allow inbound NTCP connections. For further information see the <a href=\"%(ntcp)s\">NTCP \n"
2013-06-05 10:00:16 +00:00
"page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:459
msgid ""
"A bare minimum set of cryptographic primitives are combined together to \n"
2013-07-03 01:01:50 +00:00
"provide I2P's layered defenses against a variety of adversaries. At the lowest \n"
"level, inter router communication is protected by the transport layer security \n"
"- SSU encrypts each packet with AES256/CBC with both an explicit IV and MAC \n"
"(HMAC-MD5-128) after agreeing upon an ephemeral session key through a 2048bit \n"
"Diffie-Hellman exchange, station-to-station authentication with the other \n"
"router's DSA key, plus each network message has their own hash for local integrity \n"
"checking. <a href=\"#op.tunnels\">Tunnel</a> messages passed over the transports \n"
"have their own layered AES256/CBC encryption with an explicit IV and verified \n"
"at the tunnel endpoint with an additional SHA256 hash. Various other messages \n"
"are passed along inside \"garlic messages\", which are encrypted with ElGamal/AES+SessionTags \n"
2013-06-05 10:00:16 +00:00
"(explained below)."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:474
msgid "Garlic messages"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:475
msgid ""
2013-07-03 01:01:50 +00:00
"Garlic messages are an extension of \"onion\" layered encryption, allowing \n"
"the contents of a single message to contain multiple \"cloves\" - fully formed \n"
"messages alongside their own instructions for delivery. Messages are wrapped \n"
"into a garlic message whenever the message would otherwise be passing in cleartext \n"
"through a peer who should not have access to the information - for instance, \n"
"when a router wants to ask another router to participate in a tunnel, they \n"
"wrap the request inside a garlic, encrypt that garlic to the receiving router's \n"
"2048bit ElGamal public key, and forward it through a tunnel. Another example \n"
"is when a client wants to send a message to a destination - the sender's router \n"
"will wrap up that data message (alongside some other messages) into a garlic, \n"
"encrypt that garlic to the 2048bit ElGamal public key published in the recipient's \n"
2013-06-05 10:00:16 +00:00
"leaseSet, and forward it through the appropriate tunnels."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:490
msgid ""
2013-07-03 01:01:50 +00:00
"The \"instructions\" attached to each clove inside the encryption layer includes \n"
"the ability to request that the clove be forwarded locally, to a remote router, \n"
"or to a remote tunnel on a remote router. There are fields in those instructions \n"
"allowing a peer to request that the delivery be delayed until a certain time \n"
"or condition has been met, though they won't be honored until the <a href=\"#future.variablelatency\">nontrivial \n"
"delays</a> are deployed. It is possible to explicitly route garlic messages \n"
"any number of hops without building tunnels, or even to reroute tunnel messages \n"
"by wrapping them in garlic messages and forwarding them a number of hops prior \n"
"to delivering them to the next hop in the tunnel, but those techniques are \n"
2013-06-05 10:00:16 +00:00
"not currently used in the existing implementation."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:503
msgid "Session tags"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:504
msgid ""
2013-07-03 01:01:50 +00:00
"As an unreliable, unordered, message based system, I2P uses a simple combination \n"
"of asymmetric and symmetric encryption algorithms to provide data confidentiality \n"
"and integrity to garlic messages. As a whole, the combination is referred \n"
"to as ElGamal/AES+SessionTags, but that is an excessively verbose way to describe \n"
2013-06-05 10:00:16 +00:00
"the simple use of 2048bit ElGamal, AES256, SHA256 and 32 byte nonces."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:543
msgid ""
2013-07-03 01:01:50 +00:00
"Session tags themselves have a very short lifetime, after which they are \n"
"discarded if not used. In addition, the quantity stored for each key is limited, \n"
"as are the number of keys themselves - if too many arrive, either new or old \n"
"messages may be dropped. The sender keeps track whether messages using session \n"
"tags are getting through, and if there isn't sufficient communication it may \n"
"drop the ones previously assumed to be properly delivered, reverting back \n"
2013-06-05 10:00:16 +00:00
"to the full expensive ElGamal encryption."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:553
msgid ""
2013-07-03 01:01:50 +00:00
"One alternative is to transmit only a single session tag, and from that, \n"
"seed a deterministic PRNG for determining what tags to use or expect. By keeping \n"
"this PRNG roughly synchronized between the sender and recipient (the recipient \n"
"precomputes a window of the next e.g. 50 tags), the overhead of periodically \n"
"bundling a large number of tags is removed, allowing more options in the space/time \n"
"tradeoff, and perhaps reducing the number of ElGamal encryptions necessary. \n"
"However, it would depend upon the strength of the PRNG to provide the necessary \n"
"cover against internal adversaries, though perhaps by limiting the amount \n"
"of times each PRNG is used, any weaknesses can be minimized. At the moment, \n"
2013-06-05 10:00:16 +00:00
"there are no immediate plans to move towards these synchronized PRNGs."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:566
msgid "Future"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:567
msgid ""
2013-07-03 01:01:50 +00:00
"While I2P is currently functional and sufficient for many scenarios, there \n"
"are several areas which require further improvement to meet the needs of those \n"
"facing more powerful adversaries as well as substantial user experience optimization."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:573
msgid "Restricted route operation"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:574
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is an overlay network designed to be run on top of a functional packet \n"
"switched network, exploiting the end to end principle to offer anonymity and \n"
"security. While the Internet no longer fully embraces the end to end principle\n"
2013-06-05 10:00:16 +00:00
"(due to the usage of NAT), \n"
2013-07-03 01:01:50 +00:00
"I2P does require a substantial portion of the network to be reachable - there \n"
"may be a number of peers along the edges running using restricted routes, \n"
"but I2P does not include an appropriate routing algorithm for the degenerate \n"
"case where most peers are unreachable. It would, however work on top of a \n"
2013-06-05 10:00:16 +00:00
"network employing such an algorithm."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:586
msgid ""
2013-07-03 01:01:50 +00:00
"Restricted route operation, where there are limits to what peers are reachable \n"
"directly, has several different functional and anonymity implications, dependent \n"
"upon how the restricted routes are handled. At the most basic level, restricted \n"
"routes exist when a peer is behind a NAT or firewall which does not allow \n"
"inbound connections. This was largely addressed in I2P 0.6.0.6 by integrating \n"
"distributed hole punching into the transport layer, allowing people behind \n"
"most NATs and firewalls to receive unsolicited connections without any configuration. \n"
"However, this does not limit the exposure of the peer's IP address to routers \n"
"inside the network, as they can simply get introduced to the peer through \n"
2013-06-05 10:00:16 +00:00
"the published introducer."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:599
msgid ""
2013-07-03 01:01:50 +00:00
"Beyond the functional handling of restricted routes, there are two levels \n"
"of restricted operation that can be used to limit the exposure of one's IP \n"
"address - using router-specific tunnels for communication, and offering 'client \n"
"routers'. For the former, routers can either build a new pool of tunnels or \n"
"reuse their exploratory pool, publishing the inbound gateways to some of them \n"
"as part of their routerInfo in place of their transport addresses. When a \n"
"peer wants to get in touch with them, they see those tunnel gateways in the \n"
"netDb and simply send the relevant message to them through one of the published \n"
"tunnels. If the peer behind the restricted route wants to reply, it may do \n"
"so either directly (if they are willing to expose their IP to the peer) or \n"
"indirectly through their outbound tunnels. When the routers that the peer \n"
"has direct connections to want to reach it (to forward tunnel messages, for \n"
"instance), they simply prioritize their direct connection over the published \n"
"tunnel gateway. The concept of 'client routers' simply extends the restricted \n"
"route by not publishing any router addresses. Such a router would not even \n"
"need to publish their routerInfo in the netDb, merely providing their self \n"
"signed routerInfo to the peers that it contacts (necessary to pass the router's \n"
"public keys). Both levels of restricted route operation are planned for I2P \n"
2013-06-05 10:00:16 +00:00
"2.0."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:621
msgid ""
2013-07-03 01:01:50 +00:00
"There are tradeoffs for those behind restricted routes, as they would likely \n"
"participate in other people's tunnels less frequently, and the routers which \n"
"they are connected to would be able to infer traffic patterns that would not \n"
"otherwise be exposed. On the other hand, if the cost of that exposure is less \n"
"than the cost of an IP being made available, it may be worthwhile. This, of \n"
"course, assumes that the peers that the router behind a restricted route contacts \n"
"are not hostile - either the network is large enough that the probability \n"
"of using a hostile peer to get connected is small enough, or trusted (and \n"
2013-06-05 10:00:16 +00:00
"perhaps temporary) peers are used instead."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:633
msgid "Variable latency"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:634
msgid ""
2013-07-03 01:01:50 +00:00
"Even though the bulk of I2P's initial efforts have been on low latency communication, \n"
"it was designed with variable latency services in mind from the beginning. \n"
"At the most basic level, applications running on top of I2P can offer the \n"
"anonymity of medium and high latency communication while still blending their \n"
"traffic patterns in with low latency traffic. Internally though, I2P can offer \n"
"its own medium and high latency communication through the garlic encryption \n"
"- specifying that the message should be sent after a certain delay, at a certain \n"
"time, after a certain number of messages have passed, or another mix strategy. \n"
"With the layered encryption, only the router that the clove exposed the delay \n"
"request would know that the message requires high latency, allowing the traffic \n"
"to blend in further with the low latency traffic. Once the transmission precondition \n"
"is met, the router holding on to the clove (which itself would likely be a \n"
"garlic message) simply forwards it as requested - to a router, to a tunnel, \n"
2013-06-05 10:00:16 +00:00
"or, most likely, to a remote client destination."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:651
msgid ""
2013-07-03 01:01:50 +00:00
"There are a substantial number of ways to exploit this capacity for high \n"
"latency comm in I2P, but for the moment, doing so has been scheduled for the \n"
"I2P 3.0 release. In the meantime, those requiring the anonymity that high \n"
"latency comm can offer should look towards the application layer to provide \n"
2013-06-05 10:00:16 +00:00
"it."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:659
msgid "Open questions"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:661
msgid "How to get rid of the timing constraint?"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:662
msgid "Can we deal with the sessionTags more efficiently?"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:663
msgid ""
"What, if any, batching/mixing strategies should be made available on the "
"tunnels?"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:664
msgid ""
"What other tunnel peer selection and ordering strategies should be "
"available?"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:667
msgid "Similar systems"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:669
msgid ""
2013-07-03 01:01:50 +00:00
"I2P's architecture builds on the concepts of message oriented middleware, \n"
"the topology of DHTs, the anonymity and cryptography of free route mixnets, \n"
"and the adaptability of packet switched networking. The value comes not from \n"
"novel concepts of algorithms though, but from careful engineering combining \n"
"the research results of existing systems and papers. While there are a few \n"
"similar efforts worth reviewing, both for technical and functional comparisons, \n"
2013-06-05 10:00:16 +00:00
"two in particular are pulled out here - Tor and Freenet."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:679
#, python-format
msgid "See also the <a href=\"%(comparisons)s\">Network Comparisons Page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:684
#: i2p2www/pages/site/docs/how/tech-intro.html:749
msgid "website"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:686
msgid ""
"At first glance, Tor and I2P have many functional and anonymity related \n"
2013-07-03 01:01:50 +00:00
"similarities. While I2P's development began before we were aware of the early \n"
"stage efforts on Tor, many of the lessons of the original onion routing and \n"
"ZKS efforts were integrated into I2P's design. Rather than building an essentially \n"
"trusted, centralized system with directory servers, I2P has a self organizing \n"
"network database with each peer taking on the responsibility of profiling \n"
"other routers to determine how best to exploit available resources. Another \n"
"key difference is that while both I2P and Tor use layered and ordered paths \n"
"(tunnels and circuits/streams), I2P is fundamentally a packet switched network, \n"
"while Tor is fundamentally a circuit switched one, allowing I2P to transparently \n"
"route around congestion or other network failures, operate redundant pathways, \n"
"and load balance the data across available resources. While Tor offers the \n"
"useful outproxy functionality by offering integrated outproxy discovery and \n"
"selection, I2P leaves such application layer decisions up to applications \n"
"running on top of I2P - in fact, I2P has even externalized the TCP-like streaming \n"
"library itself to the application layer, allowing developers to experiment \n"
"with different strategies, exploiting their domain specific knowledge to offer \n"
2013-06-05 10:00:16 +00:00
"better performance."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:707
msgid ""
2013-07-03 01:01:50 +00:00
"From an anonymity perspective, there is much similarity when the core networks \n"
"are compared. However, there are a few key differences. When dealing with \n"
"an internal adversary or most external adversaries, I2P's simplex tunnels \n"
"expose half as much traffic data than would be exposed with Tor's duplex circuits \n"
"by simply looking at the flows themselves - an HTTP request and response would \n"
"follow the same path in Tor, while in I2P the packets making up the request \n"
"would go out through one or more outbound tunnels and the packets making up \n"
"the response would come back through one or more different inbound tunnels. \n"
"While I2P's peer selection and ordering strategies should sufficiently address \n"
"predecessor attacks, should a switch to bidirectional tunnels be necessary,\n"
"we could simply build an inbound and outbound tunnel along the same routers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:721
msgid ""
2013-07-03 01:01:50 +00:00
"Another anonymity issue comes up in Tor's use of telescopic tunnel creation, \n"
"as simple packet counting and timing measurements as the cells in a circuit \n"
"pass through an adversary's node exposes statistical information regarding \n"
"where the adversary is within the circuit. I2P's unidirectional tunnel creation \n"
"with a single message so that this data is not exposed. Protecting the position \n"
"in a tunnel is important, as an adversary would otherwise be able to mount \n"
"a series of powerful predecessor, intersection, and traffic confirmation attacks."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:731
msgid ""
2013-07-03 01:01:50 +00:00
"Tor's support for a second tier of \"onion proxies\" does offer a non-trivial \n"
"degree of anonymity while requiring a low cost of entry, while I2P will not \n"
2013-06-05 10:00:16 +00:00
"offer this topology until <a href=\"#future.restricted\">2.0</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:737
msgid ""
2013-07-03 01:01:50 +00:00
"On the whole, Tor and I2P complement each other in their focus - Tor works \n"
"towards offering high speed anonymous Internet outproxying, while I2P works \n"
"towards offering a decentralized resilient network in itself. In theory, both \n"
"can be used to achieve both purposes, but given limited development resources, \n"
"they both have their strengths and weaknesses. The I2P developers have considered \n"
"the steps necessary to modify Tor to take advantage of I2P's design, but concerns \n"
"of Tor's viability under resource scarcity suggest that I2P's packet switching \n"
2013-06-05 10:00:16 +00:00
"architecture will be able to exploit scarce resources more effectively."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:751
msgid ""
2013-07-03 01:01:50 +00:00
"Freenet played a large part in the initial stages of I2P's design - giving \n"
"proof to the viability of a vibrant pseudonymous community completely contained \n"
"within the network, demonstrating that the dangers inherent in outproxies \n"
"could be avoided. The first seed of I2P began as a replacement communication \n"
"layer for Freenet, attempting to factor out the complexities of a scalable, \n"
"anonymous and secure point to point communication from the complexities of \n"
"a censorship resistant distributed data store. Over time however, some of \n"
"the anonymity and scalability issues inherent in Freenet's algorithms made \n"
"it clear that I2P's focus should stay strictly on providing a generic anonymous \n"
"communication layer, rather than as a component of Freenet. Over the years, \n"
"the Freenet developers have come to see the weaknesses in the older design, \n"
"prompting them to suggest that they will require a \"premix\" layer to offer \n"
"substantial anonymity. In other words, Freenet needs to run on top of a mixnet \n"
"such as I2P or Tor, with \"client nodes\" requesting and publishing data through \n"
"the mixnet to the \"server nodes\" which then fetch and store the data according \n"
2013-06-05 10:00:16 +00:00
"to Freenet's heuristic distributed data storage algorithms."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:770
msgid ""
2013-07-03 01:01:50 +00:00
"Freenet's functionality is very complementary to I2P's, as Freenet natively \n"
"provides many of the tools for operating medium and high latency systems, \n"
"while I2P natively provides the low latency mix network suitable for offering \n"
"adequate anonymity. The logic of separating the mixnet from the censorship-\n"
"resistant distributed data store still seems self-evident from an engineering, \n"
"anonymity, security, and resource allocation perspective, so hopefully the \n"
"Freenet team will pursue efforts in that direction, if not simply reusing \n"
2013-06-05 10:00:16 +00:00
"(or helping to improve, as necessary) existing mixnets like I2P or Tor."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:781
msgid ""
"It is worth mentioning that there has recently been discussion and work \n"
2013-07-03 01:01:50 +00:00
"by the Freenet developers on a \"globally scalable darknet\" using restricted \n"
"routes between peers of various trust. While insufficient information has \n"
"been made publicly available regarding how such a system would operate for \n"
"a full review, from what has been said the anonymity and scalability claims \n"
"seem highly dubious. In particular, the appropriateness for use in hostile \n"
"regimes against state level adversaries has been tremendously overstated, \n"
"and any analysis on the implications of resource scarcity upon the scalability \n"
"of the network has seemingly been avoided. Further questions regarding susceptibility \n"
"to traffic analysis, trust and other topics do exist, but a more in-depth \n"
"review of this \"globally scalable darknet\" will have to wait until the Freenet \n"
2013-06-05 10:00:16 +00:00
"team makes more information available."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:797
msgid ""
2013-07-03 01:01:50 +00:00
"I2P itself doesn't really do much - it simply sends messages to remote destinations \n"
"and receives messages targeting local destinations - most of the interesting \n"
"work goes on at the layers above it. By itself, I2P could be seen as an anonymous \n"
"and secure IP layer, and the bundled <a href=\"#app.streaming\">streaming library</a> \n"
"as an implementation of an anonymous and secure TCP layer on top of it. Beyond \n"
"that, <a href=\"#app.i2ptunnel\">I2PTunnel</a> exposes a generic TCP proxying \n"
"system for either getting into or out of the I2P network, plus a variety of \n"
2013-06-05 10:00:16 +00:00
"network applications provide further functionality for end users."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:809
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P streaming library can be viewed as a generic streaming interface (mirroring TCP sockets),\n"
"and the implementation supports a <a href=\"http://en.wikipedia.org/wiki/Sliding_Window_Protocol\">sliding window protocol</a>\n"
"with several optimizations, to take into account the high delay over I2P.\n"
2013-06-05 10:00:16 +00:00
"Individual streams may adjust the maximum packet size and \n"
2013-07-03 01:01:50 +00:00
"other options, though the default of 4KB compressed seems a reasonable tradeoff \n"
"between the bandwidth costs of retransmitting lost messages and the latency \n"
2013-06-05 10:00:16 +00:00
"of multiple messages."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:819
msgid ""
"In addition, in consideration of the relatively high cost of subsequent \n"
2013-07-03 01:01:50 +00:00
"messages, the streaming library's protocol for scheduling and delivering messages \n"
"has been optimized to allow individual messages passed to contain as much \n"
"information as is available. For instance, a small HTTP transaction proxied \n"
"through the streaming library can be completed in a single round trip - the \n"
"first message bundles a SYN, FIN and the small payload (an HTTP request typically \n"
"fits) and the reply bundles the SYN, FIN, ACK and the small payload (many \n"
"HTTP responses fit). While an additional ACK must be transmitted to tell the \n"
"HTTP server that the SYN/FIN/ACK has been received, the local HTTP proxy can \n"
2013-06-05 10:00:16 +00:00
"deliver the full response to the browser immediately."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:832
msgid ""
2013-07-03 01:01:50 +00:00
"On the whole, however, the streaming library bears much resemblance to an \n"
"abstraction of TCP, with its sliding windows, congestion control algorithms \n"
"(both slow start and congestion avoidance), and general packet behavior (ACK, \n"
2013-06-05 10:00:16 +00:00
"SYN, FIN, RST, etc)."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:839
msgid "Naming library and addressbook"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:840
#, python-format
msgid ""
"For more information see the <a href=\"%(naming)s\">Naming and "
"Addressbook</a> page."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:844
#: i2p2www/pages/site/docs/how/tech-intro.html:918
#: i2p2www/pages/site/docs/how/tech-intro.html:965
#: i2p2www/pages/site/docs/how/tech-intro.html:997
#: i2p2www/pages/site/docs/how/tech-intro.html:1005
#: i2p2www/pages/site/docs/how/tech-intro.html:1013
#: i2p2www/pages/site/docs/how/tech-intro.html:1023
#: i2p2www/pages/site/docs/how/tech-intro.html:1031
#: i2p2www/pages/site/docs/how/tech-intro.html:1053
#, python-format
msgid "Developed by: %(dev)s"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:846
msgid ""
2013-07-03 01:01:50 +00:00
"Naming within I2P has been an oft-debated topic since the very beginning \n"
"with advocates across the spectrum of possibilities. However, given I2P's \n"
"inherent demand for secure communication and decentralized operation, the \n"
"traditional DNS-style naming system is clearly out, as are \"majority rules\" \n"
"voting systems. Instead, I2P ships with a generic naming library and a base \n"
"implementation designed to work off a local name to destination mapping, as \n"
"well as an optional add-on application called the \"addressbook\". The addressbook \n"
"is a web-of-trust-driven secure, distributed, and human readable naming system, \n"
"sacrificing only the call for all human readable names to be globally unique \n"
"by mandating only local uniqueness. While all messages in I2P are cryptographically \n"
"addressed by their destination, different people can have local addressbook \n"
"entries for \"Alice\" which refer to different destinations. People can still \n"
"discover new names by importing published addressbooks of peers specified \n"
"in their web of trust, by adding in the entries provided through a third party, \n"
"or (if some people organize a series of published addressbooks using a first \n"
"come first serve registration system) people can choose to treat these addressbooks \n"
2013-06-05 10:00:16 +00:00
"as name servers, emulating traditional DNS."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:866
msgid ""
"I2P does not promote the use of DNS-like services though, as the damage \n"
2013-07-03 01:01:50 +00:00
"done by hijacking a site can be tremendous - and insecure destinations have \n"
"no value. DNSsec itself still falls back on registrars and certificate authorities, \n"
"while with I2P, requests sent to a destination cannot be intercepted or the \n"
"reply spoofed, as they are encrypted to the destination's public keys, and \n"
"a destination itself is just a pair of public keys and a certificate. DNS-style \n"
"systems on the other hand allow any of the name servers on the lookup path \n"
"to mount simple denial of service and spoofing attacks. Adding on a certificate \n"
"authenticating the responses as signed by some centralized certificate authority \n"
"would address many of the hostile nameserver issues but would leave open replay \n"
2013-06-05 10:00:16 +00:00
"attacks as well as hostile certificate authority attacks."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:880
msgid ""
2013-07-03 01:01:50 +00:00
"Voting style naming is dangerous as well, especially given the effectiveness \n"
"of Sybil attacks in anonymous systems - the attacker can simply create an \n"
"arbitrarily high number of peers and \"vote\" with each to take over a given \n"
"name. Proof-of-work methods can be used to make identity non-free, but as \n"
"the network grows the load required to contact everyone to conduct online \n"
"voting is implausible, or if the full network is not queried, different sets \n"
2013-06-05 10:00:16 +00:00
"of answers may be reachable."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:890
msgid ""
2013-07-03 01:01:50 +00:00
"As with the Internet however, I2P is keeping the design and operation of \n"
"a naming system out of the (IP-like) communication layer. The bundled naming \n"
"library includes a simple service provider interface which alternate naming \n"
"systems can plug into, allowing end users to drive what sort of naming tradeoffs \n"
2013-06-05 10:00:16 +00:00
"they prefer."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:899
msgid ""
2013-07-03 01:01:50 +00:00
"The old Syndie bundled with I2P has been replaced by the new Syndie which\n"
"is distributed separately. For more information see the <a href=\"http://syndie.i2p2.de/\">Syndie</a>\n"
2013-06-05 10:00:16 +00:00
"pages."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:905
msgid ""
2013-07-03 01:01:50 +00:00
"Syndie is a safe, anonymous blogging / content publication / content aggregation \n"
"system. It lets you create information, share it with others, and read posts \n"
"from those you're interested in, all while taking into consideration your \n"
"needs for security and anonymity. Rather than building its own content distribution \n"
"network, Syndie is designed to run on top of existing networks, syndicating \n"
"content through eepsites, Tor hidden services, Freenet freesites, normal websites, \n"
"usenet newsgroups, email lists, RSS feeds, etc. Data published with Syndie \n"
"is done so as to offer pseudonymous authentication to anyone reading or archiving \n"
2013-06-05 10:00:16 +00:00
"it."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:920
msgid ""
2013-07-03 01:01:50 +00:00
"I2PTunnel is probably I2P's most popular and versatile client application, \n"
"allowing generic proxying both into and out of the I2P network. I2PTunnel \n"
"can be viewed as four separate proxying applications - a \"client\" which receives \n"
"inbound TCP connections and forwards them to a given I2P destination, an \"httpclient\" \n"
"(aka \"eepproxy\") which acts like an HTTP proxy and forwards the requests to \n"
"the appropriate I2P destination (after querying the naming service if necessary), \n"
"a \"server\" which receives inbound I2P streaming connections on a destination \n"
"and forwards them to a given TCP host+port, and an \"httpserver\" which extends \n"
"the \"server\" by parsing the HTTP request and responses to allow safer operation. \n"
"There is an additional \"socksclient\" application, but its use is not encouraged \n"
2013-06-05 10:00:16 +00:00
"for reasons previously mentioned."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:934
msgid ""
2013-07-03 01:01:50 +00:00
"I2P itself is not an outproxy network - the anonymity and security concerns \n"
"inherent in a mix net which forwards data into and out of the mix have kept \n"
"I2P's design focused on providing an anonymous network which capable of meeting \n"
"the user's needs without requiring external resources. However, the I2PTunnel \n"
"\"httpclient\" application offers a hook for outproxying - if the hostname requested \n"
"doesn't end in \".i2p\", it picks a random destination from a user-provided \n"
"set of outproxies and forwards the request to them. These destinations are \n"
"simply I2PTunnel \"server\" instances run by volunteers who have explicitly \n"
"chosen to run outproxies - no one is an outproxy by default, and running an \n"
"outproxy doesn't automatically tell other people to proxy through you. While \n"
"outproxies do have inherent weaknesses, they offer a simple proof of concept \n"
"for using I2P and provide some functionality under a threat model which may \n"
2013-06-05 10:00:16 +00:00
"be sufficient for some users."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:950
msgid ""
2013-07-03 01:01:50 +00:00
"I2PTunnel enables most of the applications in use. An \"httpserver\" pointing \n"
"at a webserver lets anyone run their own anonymous website (or \"eepsite\") \n"
"- a webserver is bundled with I2P for this purpose, but any webserver can \n"
"be used. Anyone may run a \"client\" pointing at one of the anonymously hosted \n"
"IRC servers, each of which are running a \"server\" pointing at their local \n"
"IRCd and communicating between IRCds over their own \"client\" tunnels. End \n"
"users also have \"client\" tunnels pointing at <a href=\"#app.i2pmail\">I2Pmail's</a> \n"
"POP3 and SMTP destinations (which in turn are simply \"server\" instances pointing \n"
"at POP3 and SMTP servers), as well as \"client\" tunnels pointing at I2P's CVS \n"
"server, allowing anonymous development. At times people have even run \"client\" \n"
2013-06-05 10:00:16 +00:00
"proxies to access the \"server\" instances pointing at an NNTP server."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:967
msgid ""
2013-07-03 01:01:50 +00:00
"i2p-bt is a port of the mainline python BitTorrent client to run both the \n"
"tracker and peer communication over I2P. Tracker requests are forwarded through \n"
"the eepproxy to eepsites specified in the torrent file while tracker responses \n"
"refer to peers by their destination explicitly, allowing i2p-bt to open up \n"
"a <a href=\"#app.streaming\">streaming lib</a> connection to query them for \n"
2013-06-05 10:00:16 +00:00
"blocks."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:976
msgid ""
2013-07-03 01:01:50 +00:00
"In addition to i2p-bt, a port of bytemonsoon has been made to I2P, making \n"
"a few modifications as necessary to strip any anonymity-compromising information \n"
"from the application and to take into consideration the fact that IPs cannot \n"
2013-06-05 10:00:16 +00:00
"be used for identifying peers."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:984
msgid ""
"I2PSnark developed: jrandom, et al, ported from <a\n"
"href=\"http://www.klomp.org/mark/\">mjw</a>'s <a\n"
"href=\"http://www.klomp.org/snark/\">Snark</a> client"
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:990
msgid ""
2013-07-03 01:01:50 +00:00
"Bundled with the I2P install, I2PSnark offers a simple anonymous BitTorrent \n"
"client with multitorrent capabilities, exposing all of the functionality through \n"
2013-06-05 10:00:16 +00:00
"a plain HTML web interface."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:999
#, python-format
msgid ""
"Robert is a Bittorrent client written in Python.\n"
2013-07-03 01:01:50 +00:00
"It is hosted on <a href=\"http://%(bob)s/Robert.html\">http://%(bob)s/Robert.html</a> <!-- TODO: expand -->"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1007
#, python-format
msgid ""
"PyBit is a Bittorrent client written in Python.\n"
2013-07-03 01:01:50 +00:00
"It is hosted on <a href=\"http://%(pebcache)s/\">http://%(pebcache)s/</a> <!-- TODO: expand -->"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1015
msgid ""
2013-07-03 01:01:50 +00:00
"I2Phex is a fairly direct port of the Phex Gnutella filesharing client to \n"
"run entirely on top of I2P. While it has disabled some of Phex's functionality, \n"
"such as integration with Gnutella webcaches, the basic file sharing and chatting \n"
2013-06-05 10:00:16 +00:00
"system is fully functional."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1025
msgid ""
"iMule is a fairly direct port of the aMule filesharing client \n"
"running entirely inside I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1033
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2Pmail is more a service than an application - postman offers both internal \n"
"and external email with POP3 and SMTP service through I2PTunnel instances \n"
"accessing a series of components developed with mastiejaner, allowing people \n"
"to use their preferred mail clients to send and receive mail pseudonymously. \n"
"However, as most mail clients expose substantial identifying information, \n"
"I2P bundles susi23's web based susimail client which has been built specifically \n"
"with I2P's anonymity needs in mind. The I2Pmail/mail.i2p service offers transparent \n"
"virus filtering as well as denial of service prevention with hashcash augmented \n"
"quotas. In addition, each user has control of their batching strategy prior \n"
"to delivery through the mail.i2p outproxies, which are separate from the mail.i2p \n"
"SMTP and POP3 servers - both the outproxies and inproxies communicate with \n"
"the mail.i2p SMTP and POP3 servers through I2P itself, so compromising those \n"
"non-anonymous locations does not give access to the mail accounts or activity \n"
"patterns of the user. At the moment the developers work on a decentralized \n"
"mailsystem, called \"v2mail\". More information can be found on the eepsite \n"
2013-06-05 10:00:16 +00:00
"<a href=\"http://%(postman)s/\">%(postman)s</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1055
msgid ""
2013-07-03 01:01:50 +00:00
"I2P-Bote is a distributed e-mail application. It does not use the traditional\n"
"e-mail concept of sending an e-mail to a server and retrieving it from a server.\n"
2013-06-05 10:00:16 +00:00
"Instead, it uses a Kademlia Distributed Hash Table to store mails.\n"
2013-07-03 01:01:50 +00:00
"One user can push a mail into the DHT, while another can request the e-mail from the DHT.\n"
"And all the mails sent within the I2P-Bote network are automatically encrypted end-to-end. <br>\n"
"Furthermore, I2P-Bote offers a remailer function on top of I2P, for increased high-latency anonymity."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tech-intro.html:1065
msgid ""
2013-07-03 01:01:50 +00:00
"I2P-Messenger is an end-to-end encrypted serverless communication application.\n"
"For communication between two users, they need to give each other their destination keys, to allow the other to connect.\n"
"It supports file transfer and has a search for other users, based on Seedless."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:2
msgid "I2P's Threat Model"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:3
msgid "November 2010"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:6
msgid "What do we mean by \"anonymous\"?"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:8
msgid ""
"Your level of anonymity can be described as \"how hard it is for someone\n"
2013-07-03 01:01:50 +00:00
"to find out information you don't want them to know?\" - who you are, where\n"
"you are located, who you communicate with, or even when you communicate. \n"
"\"Perfect\" anonymity is not a useful concept here - software will not make \n"
"you indistinguishable from people that don't use computers or who are not on\n"
"the Internet. Instead, we are working to provide sufficient anonymity to meet the\n"
"real needs of whomever we can - from those simply browsing websites, to those exchanging\n"
2013-06-05 10:00:16 +00:00
"data, to those fearful of discovery by powerful organizations or states."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:19
msgid ""
"The question of whether I2P provides sufficient anonymity for your \n"
"particular needs is a hard one, but this page will hopefully assist in \n"
2013-07-03 01:01:50 +00:00
"answering that question by exploring how I2P operates under various attacks\n"
2013-06-05 10:00:16 +00:00
"so that you may decide whether it meets your needs."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:26
msgid ""
2013-07-03 01:01:50 +00:00
"We welcome further research and analysis on I2P's resistance to the threats described below.\n"
"More review of existing literature (much of it focused on Tor) and original\n"
2013-06-05 10:00:16 +00:00
"work focused on I2P is needed."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:32
msgid "Network Topology Summary"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:33
#, python-format
msgid ""
"I2P builds off the ideas of many <a href=\"%(comparisons)s\">other</a> \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(links)s\">systems</a>, but a few key points should be kept in mind when \n"
2013-06-05 10:00:16 +00:00
"reviewing related literature:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:39
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P is a free route mixnet</b> - the message creator explicitly defines the\n"
"path that messages will be sent out (the outbound tunnel), and the message \n"
"recipient explicitly defines the path that messages will be received on (the\n"
2013-06-05 10:00:16 +00:00
"inbound tunnel)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:45
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P has no official entry and exit points</b> - all peers fully participate in the \n"
2013-06-05 10:00:16 +00:00
"mix, and there are no network layer in- or out-proxies (however, at the \n"
"application layer, a few proxies do exist)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:50
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P is fully distributed</b> - there are no central controls or authorities.\n"
"One could modify some routers to operate mix cascades (building tunnels and giving\n"
"out the keys necessary to control the forwarding at the tunnel endpoint) or directory \n"
"based profiling and selection, all without breaking compatibility with the rest of \n"
"the network, but doing so is of course not necessary (and may even harm one's\n"
2013-06-05 10:00:16 +00:00
"anonymity)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:60
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"We have documented plans to implement <a href=\"%(todo)s#stop\">nontrivial delays</a>\n"
2013-06-05 10:00:16 +00:00
"and <a href=\"%(todo)s#batching\">batching strategies</a> \n"
2013-07-03 01:01:50 +00:00
"whose existence is only known to the particular hop or tunnel gateway that \n"
"receives the message, allowing a mostly low latency mixnet to provide cover \n"
2013-06-05 10:00:16 +00:00
"traffic for higher latency communication (e.g. email).\n"
2013-07-03 01:01:50 +00:00
"However we are aware that significant delays are required to provide meaningful\n"
"protection, and that implementation of such delays will be a significant challenge.\n"
"It is not clear at this time whether we will actually implement these delay features."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:71
msgid ""
"In theory, routers along the message path may inject an \n"
2013-07-03 01:01:50 +00:00
"arbitrary number of hops before forwarding the message to the next peer, though\n"
2013-06-05 10:00:16 +00:00
"the current implementation does not."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:78
msgid "The Threat Model (Attacks)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:79
msgid ""
"I2P design started in 2003, not long after the advent of\n"
"<a href=\"http://www.onion-router.net\">[Onion Routing]</a>,\n"
"<a href=\"http://freenetproject.org/\">[Freenet]</a>, and\n"
"<a href=\"http://www.torproject.org/\">[Tor]</a>.\n"
2013-07-03 01:01:50 +00:00
"Our design benefits substantially from the research published around that time.\n"
2013-06-05 10:00:16 +00:00
"I2P uses several onion routing techniques, so we continue to benefit\n"
"from the significant academic interest in Tor."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:89
msgid ""
"Taking from the attacks and analysis put forth in the \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://freehaven.net/anonbib/topic.html\">anonymity literature</a> (largely \n"
"<a href=\"http://citeseer.ist.psu.edu/454354.html\">Traffic Analysis: Protocols, Attacks, Design \n"
"Issues and Open Problems</a>), the following briefly describes a wide variety \n"
2013-06-05 10:00:16 +00:00
"of attacks as well as many of I2Ps defenses. We update\n"
"this list to include new attacks as they are identified."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:98
msgid ""
"Included are some attacks that may be unique to I2P.\n"
"We do not have good answers for all these attacks, however\n"
"we continue to do research and improve our defenses."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:104
msgid ""
"In addition, many of these attacks are significantly easier than\n"
"they should be, due to the modest size of the current network.\n"
"While we are aware of some limitations that need to be addressed,\n"
"I2P is designed to support hundreds of thousands, or millions, of\n"
"participants.\n"
"As we continue to spread the word and grow the network,\n"
"these attacks will become much harder."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:114
#, python-format
msgid ""
"The\n"
"<a href=\"%(comparisons)s\">network comparisons</a> and\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(garlicrouting)s\">\"garlic\" terminology</a> pages may also be helpful\n"
2013-06-05 10:00:16 +00:00
"to review."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:123
#: i2p2www/pages/site/docs/how/threat-model.html:143
msgid "Brute force attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:124
#: i2p2www/pages/site/docs/how/threat-model.html:185
msgid "Timing attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:125
#: i2p2www/pages/site/docs/how/threat-model.html:220
msgid "Intersection attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:126
#: i2p2www/pages/site/docs/how/threat-model.html:298
msgid "Denial of service attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:127
#: i2p2www/pages/site/docs/how/threat-model.html:385
msgid "Tagging attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:128
#: i2p2www/pages/site/docs/how/threat-model.html:400
msgid "Partitioning attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:129
#: i2p2www/pages/site/docs/how/threat-model.html:438
msgid "Predecessor attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:130
#: i2p2www/pages/site/docs/how/threat-model.html:481
msgid "Harvesting attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:131
#: i2p2www/pages/site/docs/how/threat-model.html:525
msgid "Identification Through Traffic Analysis"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:132
#: i2p2www/pages/site/docs/how/threat-model.html:582
msgid "Sybil attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:133
#: i2p2www/pages/site/docs/how/threat-model.html:629
msgid "Buddy Exhaustion attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:134
#: i2p2www/pages/site/docs/how/threat-model.html:651
msgid "Cryptographic attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:135
msgid "Floodfill attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:136
#: i2p2www/pages/site/docs/how/threat-model.html:707
msgid "Other Network Database attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:137
msgid "Attacks on centralized resources"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:138
#: i2p2www/pages/site/docs/how/threat-model.html:770
msgid "Development attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:139
msgid "Implementation attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:140
#: i2p2www/pages/site/docs/how/threat-model.html:849
msgid "Other Defenses"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:145
msgid ""
2013-07-03 01:01:50 +00:00
"A brute force attack can be mounted by a global passive or active adversary, \n"
"watching all the messages pass between all of the nodes and attempting to correlate\n"
"which message follows which path. Mounting this attack against I2P should be \n"
"nontrivial, as all peers in the network are frequently sending messages (both\n"
"end to end and network maintenance messages), plus an end to end message changes\n"
"size and data along its path. In addition, the external adversary does not have\n"
"access to the messages either, as inter-router communication is both encrypted\n"
"and streamed (making two 1024 byte messages indistinguishable from one 2048 byte\n"
2013-06-05 10:00:16 +00:00
"message)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:157
msgid ""
2013-07-03 01:01:50 +00:00
"However, a powerful attacker can use brute force to detect trends - if they \n"
"can send 5GB to an I2P destination and monitor everyone's network connection,\n"
"they can eliminate all peers who did not receive 5GB of data. Techniques to \n"
2013-06-05 10:00:16 +00:00
"defeat this attack exist, but may be prohibitively expensive (see: \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://citeseer.ist.psu.edu/freedman02tarzan.html\">Tarzan</a>'s mimics\n"
"or constant rate traffic). Most users are not concerned with this attack, as \n"
"the cost of mounting it are extreme (and often require illegal activity). \n"
2013-06-05 10:00:16 +00:00
"However, the attack is still possible, for example by an observer at\n"
"a large ISP or an Internet exchange point.\n"
"Those who want to defend against it \n"
"would want to take appropriate countermeasures, such as\n"
2013-07-03 01:01:50 +00:00
"setting low bandwidth limits, and using unpublished or encrypted leasesets for eepsites.\n"
"Other countermeasures, such as nontrivial delays and restricted routes, are\n"
2013-06-05 10:00:16 +00:00
"not currently implemented."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:174
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"As a partial defense against a single router or group of routers trying to route all the network's traffic,\n"
"routers contain limits as to how many tunnels can be routed through a single peer.\n"
2013-06-05 10:00:16 +00:00
"As the network grows, these limits are subject to further adjustment.\n"
"Other mechanisms for peer rating, selection and avoidance\n"
"are discussed on the\n"
"<a href=\"%(peerselection)s\">peer selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:187
msgid ""
2013-07-03 01:01:50 +00:00
"I2P's messages are unidirectional and do not necessarily imply that a reply\n"
2013-06-05 10:00:16 +00:00
"will be sent. However, applications on top of I2P will most likely have\n"
2013-07-03 01:01:50 +00:00
"recognizable patterns within the frequency of their messages - for instance, an \n"
"HTTP request will be a small message with a large sequence of reply messages \n"
"containing the HTTP response. Using this data as well as a broad view of the \n"
"network topology, an attacker may be able to disqualify some links as being too \n"
2013-06-05 10:00:16 +00:00
"slow to have passed the message along."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:197
msgid ""
2013-07-03 01:01:50 +00:00
"This sort of attack is powerful, but its applicability to I2P is non obvious,\n"
"as the variation on message delays due to queuing, message processing, and \n"
"throttling will often meet or exceed the time of passing a message along a \n"
"single link - even when the attacker knows that a reply will be sent as soon as\n"
"the message is received. There are some scenarios which will expose fairly \n"
"automatic replies though - the streaming library does (with the SYN+ACK) as does the \n"
"message mode of guaranteed delivery (with the DataMessage+DeliveryStatusMessage)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:207
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Without protocol scrubbing or higher latency, global active adversaries can \n"
"gain substantial information. As such, people concerned with these attacks could\n"
"increase the latency (using <a href=\"%(todo)s#stop\">nontrivial delays</a> or \n"
"<a href=\"%(todo)s#batching\">batching strategies</a>), include protocol scrubbing, or\n"
"other advanced tunnel routing <a href=\"%(todo)s#batching\">techniques</a>,\n"
2013-06-05 10:00:16 +00:00
"but these are unimplemented in I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:216
#, python-format
msgid ""
"References: <a href=\"%(pdf)s\">Low-Resource Routing Attacks Against "
"Anonymous Systems</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:222
msgid ""
2013-07-03 01:01:50 +00:00
"Intersection attacks against low latency systems are extremely powerful -\n"
"periodically make contact with the target and keep track of what peers are on\n"
2013-06-05 10:00:16 +00:00
"the network. Over time, as node churn occurs the attacker will gain \n"
2013-07-03 01:01:50 +00:00
"significant information about the target by simply intersecting the sets of\n"
"peers that are online when a message successfully goes through. The cost of \n"
"this attack is significant as the network grows, but may be feasible in some\n"
2013-06-05 10:00:16 +00:00
"scenarios."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:232
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In summary, if an attacker is at both ends of your tunnel at the same time,\n"
2013-06-05 10:00:16 +00:00
"he may be successful.\n"
"I2P does not have a full defense to this for low latency communication.\n"
"This is an inherent weakness of low-latency onion routing.\n"
"Tor provides a <a href=\"%(url)s\">similar disclaimer</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:240
msgid "Partial defenses implemented in I2P:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:244
#, python-format
msgid "<a href=\"%(tunnelimpl)s#ordering\">strict ordering</a> of peers"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:247
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(peerselection)s\">peer profiling and selection</a> from a small "
"group that changes slowly"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:250
msgid "Limits on the number of tunnels routed through a single peer"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:253
msgid ""
"Prevention of peers from the same /16 IP range from being members of a "
"single tunnel"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:256
msgid ""
"For eepsites or other hosted services, we support\n"
"simultaneous hosting on multiple routers, or\n"
"<a href=\"#intersection\">multihoming</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:263
msgid ""
"Even in total, these defenses are not a complete solution.\n"
2013-07-03 01:01:50 +00:00
"Also, we have made some design choices that may significantly increase our vulnerability:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:268
msgid "We do not use low-bandwidth \"guard nodes\""
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:271
msgid ""
2013-07-03 01:01:50 +00:00
"We use tunnel pools comprised of several tunnels, and traffic can shift from"
" tunnel to tunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:274
msgid "Tunnels are not long-lived; new tunnels are built every 10 minutes."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:277
msgid ""
"Tunnel lengths are configurable.\n"
2013-07-03 01:01:50 +00:00
"While 3-hop tunnels are recommended for full protection, several applications and\n"
2013-06-05 10:00:16 +00:00
"services use 2-hop tunnels by default."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:284
#, python-format
msgid ""
"In the future, it could\n"
2013-07-03 01:01:50 +00:00
"for peers who can afford significant delays (per <a href=\"%(todo)s#stop\">nontrivial\n"
"delays</a> and <a href=\"%(todo)s#batching\">batching strategies</a>). In addition,\n"
"this is only relevant for destinations that other people know about - a private\n"
"group whose destination is only known to trusted peers does not have to worry,\n"
2013-06-05 10:00:16 +00:00
"as an adversary can't \"ping\" them to mount the attack.</p>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:293
#, python-format
msgid "Reference: <a href=\"%(oce)s\">One Cell Enough</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:300
msgid ""
2013-07-03 01:01:50 +00:00
"There are a whole slew of denial of service attacks available against I2P,\n"
2013-06-05 10:00:16 +00:00
"each with different costs and consequences:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:305
msgid ""
"<b>Greedy user attack:</b> This is simply\n"
"people trying to consume significantly more resources than they are \n"
"willing to contribute. The defense against this is:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:311
#, python-format
msgid ""
"Set defaults so that most users provide resources to the network.\n"
"In I2P, users route traffic by default. In sharp distinction to\n"
"<a href=\"%(comparisons)s\">other networks</a>,\n"
"over 95%% of I2P users relay traffic for others."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:317
msgid ""
"Provide easy configuration options so that users may increase their\n"
2013-07-03 01:01:50 +00:00
"contribution (share percentage) to the network. Display easy-to-understand\n"
"metrics such as \"share ratio\" so that users may see what they are contributing."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:322
msgid ""
"Maintain a strong community with blogs, forums, IRC, and other means of "
"communication."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:327
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Starvation attack:</b> A hostile user may attempt to harm the network by\n"
"creating a significant number of peers in the network who are not identified as\n"
"being under control of the same entity (as with Sybil). These nodes then \n"
"decide not to provide any resources to the network, causing existing peers \n"
"to search through a larger network database or request more tunnels than \n"
2013-06-05 10:00:16 +00:00
"should be necessary. \n"
2013-07-03 01:01:50 +00:00
"Alternatively, the nodes may provide intermittent service by periodically\n"
2013-06-05 10:00:16 +00:00
"dropping selected traffic, or refusing connections to certain peers.\n"
2013-07-03 01:01:50 +00:00
"This behavior may be indistinguishable from that of a heavily-loaded or failing node.\n"
"I2P addresses these issues by maintaining <a href=\"%(peerselection)s\">profiles</a> on the \n"
2013-06-05 10:00:16 +00:00
"peers, attempting to identify underperforming ones and simply ignoring \n"
"them, or using them rarely.\n"
"We have significantly enhanced the\n"
2013-07-03 01:01:50 +00:00
"ability to recognize and avoid troublesome peers; however there are still\n"
2013-06-05 10:00:16 +00:00
"significant efforts required in this area."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:344
#, python-format
msgid ""
"<b>Flooding attack:</b> A hostile user may attempt to flood the network,\n"
2013-07-03 01:01:50 +00:00
"a peer, a destination, or a tunnel. Network and peer flooding is possible,\n"
"and I2P does nothing to prevent standard IP layer flooding. The flooding of\n"
"a destination with messages by sending a large number to the target's various\n"
"inbound tunnel gateways is possible, but the destination will know this both\n"
"by the contents of the message and because the tunnel's tests will fail. The\n"
"same goes for flooding just a single tunnel. I2P has no defenses for a network\n"
"flooding attack. For a destination and tunnel flooding attack, the target\n"
"identifies which tunnels are unresponsive and builds new ones. New code could\n"
"also be written to add even more tunnels if the client wishes to handle the\n"
"larger load. If, on the other hand, the load is more than the client can\n"
"deal with, they can instruct the tunnels to throttle the number of messages or\n"
"bytes they should pass on (once the <a href=\"%(todo)s#batching\">advanced tunnel\n"
2013-06-05 10:00:16 +00:00
"operation</a> is implemented)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:360
msgid ""
"<b>CPU load attack:</b> There are currently some methods for people to \n"
"remotely request that a peer perform some cryptographically expensive \n"
2013-07-03 01:01:50 +00:00
"operation, and a hostile attacker could use these to flood that peer with\n"
"a large number of them in an attempt to overload the CPU. Both using good \n"
2013-06-05 10:00:16 +00:00
"engineering practices and potentially requiring nontrivial certificates \n"
2013-07-03 01:01:50 +00:00
"(e.g. HashCash) to be attached to these expensive requests should mitigate\n"
2013-06-05 10:00:16 +00:00
"the issue, though there may be room for an attacker to exploit various\n"
"bugs in the implementation."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:370
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Floodfill DOS attack:</b> A hostile user may attempt to harm the network by\n"
2013-06-05 10:00:16 +00:00
"becoming a floodfill router. The current defenses against unreliable,\n"
"intermittent, or malicious floodfill routers are poor.\n"
"A floodfill router may provide bad or no response to lookups, and\n"
"it may also interfere with inter-floodfill communication.\n"
"Some defenses and\n"
"<a href=\"%(peerselection)s\">peer profiling</a> are implemented,\n"
"however there is much more to do.\n"
"For more information see the\n"
"<a href=\"%(netdb)s#threat\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:386
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Tagging attacks - modifying a message so that it can later be identified \n"
"further along the path - are by themselves impossible in I2P, as messages \n"
"passed through tunnels are signed. However, if an attacker is the inbound \n"
"tunnel gateway as well as a participant further along in that tunnel, with\n"
"collusion they can identify the fact that they are in the same tunnel (and \n"
"prior to adding <a href=\"%(todo)s#tunnelId\">unique hop ids</a> and other updates,\n"
"colluding peers within the same tunnel can recognize that fact without any \n"
"effort). An attacker in an outbound tunnel and any part of an inbound tunnel cannot \n"
"collude however, as the tunnel encryption pads and modifies the data separately\n"
"for the inbound and outbound tunnels. External attackers cannot do anything,\n"
2013-06-05 10:00:16 +00:00
"as the links are encrypted and messages signed."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:402
msgid ""
2013-07-03 01:01:50 +00:00
"Partitioning attacks - finding ways to segregate (technically or analytically)\n"
"the peers in a network - are important to keep in mind when dealing with a \n"
"powerful adversary, since the size of the network plays a key role in determining\n"
"your anonymity. Technical partitioning by cutting links between peers to create\n"
"fragmented networks is addressed by I2P's built in network database, which \n"
"maintains statistics about various peers so as to allow any existing connections\n"
"to other fragmented sections to be exploited so as to heal the network. However,\n"
"if the attacker does disconnect all links to uncontrolled peers, essentially\n"
"isolating the target, no amount of network database healing will fix it. At\n"
"that point, the only thing the router can hope to do is notice that a significant\n"
"number of previously reliable peers have become unavailable and alert the client\n"
"that it is temporarily disconnected (this detection code is not implemented at\n"
2013-06-05 10:00:16 +00:00
"the moment)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:418
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Partitioning the network analytically by looking for differences in how routers \n"
"and destinations behave and grouping them accordingly is also a very powerful\n"
"attack. For instance, an attacker <a href=\"#harvesting\">harvesting</a> the network\n"
"database will know when a particular destination has 5 inbound tunnels in their\n"
"LeaseSet while others have only 2 or 3, allowing the adversary to potentially \n"
"partition clients by the number of tunnels selected. Another partition is \n"
"possible when dealing with the <a href=\"%(todo)s#stop\">nontrivial delays</a> and \n"
"<a href=\"%(todo)s#batching\">batching strategies</a>, as the tunnel gateways and the\n"
"particular hops with non-zero delays will likely stand out. However, this data\n"
"is only exposed to those specific hops, so to partition effectively on that \n"
"matter, the attacker would need to control a significant portion of the network\n"
"(and still that would only be a probabilistic partition, as they wouldn't know\n"
2013-06-05 10:00:16 +00:00
"which other tunnels or messages have those delays)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:434
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Also discussed on the <a href=\"%(netdb)s#threat\">network database page</a>"
" (bootstrap attack)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:440
msgid ""
2013-07-03 01:01:50 +00:00
"The predecessor attack is passively gathering statistics in an attempt to see\n"
"what peers are 'close' to the destination by participating in their tunnels and\n"
"keeping track of the previous or next hop (for outbound or inbound tunnels, \n"
"respectively). Over time, using a perfectly random sample of peers and random\n"
"ordering, an attacker would be able to see which peer shows up as 'closer' \n"
"statistically more than the rest, and that peer would in turn be where the\n"
2013-06-05 10:00:16 +00:00
"target is located."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:450
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P avoids this in four ways: first, the peers selected to participate in\n"
"tunnels are not randomly sampled throughout the network - they are derived from\n"
"the <a href=\"%(peerselection)s\">peer selection</a> algorithm which breaks them\n"
"into tiers. Second, with <a href=\"%(tunnelimpl)s#ordering\">strict ordering</a> of peers\n"
"in a tunnel, the fact that a peer shows up more frequently does not mean they're\n"
"the source. Third, with <a href=\"%(tunnelimpl)s#length\">permuted tunnel length</a>\n"
2013-06-05 10:00:16 +00:00
"(not enabled by default)\n"
"even 0 hop tunnels can provide plausible deniability as the occasional \n"
"variation of the gateway will look like normal tunnels. Fourth, with \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a> (unimplemented), only the peer with\n"
"a restricted connection to the target will ever contact the target, while \n"
2013-06-05 10:00:16 +00:00
"attackers will merely run into that gateway."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:467
#, python-format
msgid ""
"The current <a href=\"%(tunnelcreation)s\">tunnel build method</a>\n"
"was specifically designed to combat the predecessor attack.\n"
"See also <a href=\"#intersection\">the intersection attack</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:473
#, python-format
msgid ""
"References: <a href=\"%(pdf2008)s\">%(pdf2008)s</a>\n"
"which is an update to the 2004 predecessor attack paper\n"
"<a href=\"%(pdf2004)s\">%(pdf2004)s</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:482
msgid ""
"\"Harvesting\" means compiling a list of users running I2P.\n"
"It can be used for legal attacks and to help\n"
"other attacks by simply running a peer, seeing who it connects to, and \n"
"harvesting whatever references to other peers it can find."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:489
msgid ""
"I2P itself is not designed with effective defenses against\n"
"this attack, since there is the distributed network database \n"
"containing just this information.\n"
"The following factors make the attack somewhat harder in practice:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:496
msgid ""
2013-07-03 01:01:50 +00:00
"Network growth will make it more difficult to obtain a given proportion of "
"the network"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:499
msgid "Floodfill routers implement query limits as DOS protection"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:502
msgid ""
2013-07-03 01:01:50 +00:00
"\"Hidden mode\", which prevents a router from publishing its information to the netDb,\n"
"(but also prevents it from relaying data) is not widely used now but could be."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:508
#, python-format
msgid ""
"In future implementations,\n"
"<a href=\"%(todo)s#nat\">basic</a> and \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(todo)s#fullRestrictedRoutes\">comprehensive</a> restricted routes,\n"
"this attack loses much of its power, as the \"hidden\" peers do not publish their\n"
"contact addresses in the network database - only the tunnels through which \n"
2013-06-05 10:00:16 +00:00
"they can be reached (as well as their public keys, etc)."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:517
msgid ""
2013-07-03 01:01:50 +00:00
"In the future, routers could use GeoIP to identify if they are in a particular\n"
2013-06-05 10:00:16 +00:00
"country where identification as an I2P node would be risky.\n"
"In that case, the router could automatically enable hidden mode, or\n"
"enact other restricted route methods."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:526
#, python-format
msgid ""
"By inspecting the traffic into and out of a router, a malicious ISP\n"
"or state-level firewall could identify that a computer is running I2P.\n"
2013-07-03 01:01:50 +00:00
"As discussed <a href=\"#harvesting\">above</a>, I2P is not specifically designed\n"
"to hide that a computer is running I2P. However, several design decisions made\n"
2013-06-05 10:00:16 +00:00
"in the design of the\n"
"<a href=\"%(transport)s\">transport layer and protocols</a>\n"
"make it somewhat difficult to identify I2P traffic:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:536
msgid "Random port selection"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:539
msgid "Point-to-Point Encryption of all traffic"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:542
msgid ""
2013-07-03 01:01:50 +00:00
"DH key exchange with no protocol bytes or other unencrypted constant fields"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:545
#, python-format
msgid ""
"Simultaneous use of both\n"
"<a href=\"%(ntcp)s\">TCP</a> and\n"
"<a href=\"%(ssu)s\">UDP</a> transports.\n"
2013-07-03 01:01:50 +00:00
"UDP may be much harder for some Deep Packet Inspection (DPI) equipment to track."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:553
msgid ""
2013-07-03 01:01:50 +00:00
"In the near future, we plan to directly address traffic analysis issues by "
"further obfuscation of I2P transport protocols, possibly including:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:557
msgid ""
"Padding at the transport layer to random lengths, especially during the "
"connection handshake"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:560
msgid ""
"Study of packet size distribution signatures, and additional padding as "
"necessary"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:563
msgid ""
2013-07-03 01:01:50 +00:00
"Development of additional transport methods that mimic SSL or other common "
"protocols"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:566
msgid ""
2013-07-03 01:01:50 +00:00
"Review of padding strategies at higher layers to see how they affect packet "
"sizes at the transport layer"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:569
msgid ""
2013-07-03 01:01:50 +00:00
"Review of methods implemented by various state-level firewalls to block Tor"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:572
msgid "Working directly with DPI and obfuscation experts"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:577
#, python-format
msgid ""
"Reference: <a href=\"%(pdf)s\">Breaking and Improving Protocol "
"Obfuscation</a>"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:584
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Sybil describes a category of attacks where the adversary creates arbitrarily\n"
2013-06-05 10:00:16 +00:00
"large numbers of colluding nodes and uses the increased numbers to help \n"
2013-07-03 01:01:50 +00:00
"mounting other attacks. For instance, if an attacker is in a network where peers\n"
"are selected randomly and they want an 80% chance to be one of those peers, they\n"
"simply create five times the number of nodes that are in the network and roll \n"
"the dice. When identity is free, Sybil can be a very potent technique for a \n"
"powerful adversary. The primary technique to address this is simply to make \n"
"identity 'non free' - <a href=\"http://www.pdos.lcs.mit.edu/tarzan/\">Tarzan</a>\n"
2013-06-05 10:00:16 +00:00
"(among others) uses the fact that IP addresses are limited, while \n"
"IIP used \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.hashcash.org/\">HashCash</a> to 'charge' for creating a new\n"
"identity. We currently have not implemented any particular technique to address\n"
2013-06-05 10:00:16 +00:00
"Sybil, but do include placeholder certificates in the router's and \n"
2013-07-03 01:01:50 +00:00
"destination's data structures which can contain a HashCash certificate of \n"
"appropriate value when necessary (or some other certificate proving scarcity)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:602
2013-07-03 01:01:50 +00:00
msgid ""
"Requiring HashCash Certificates in various places has two major problems:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:606
msgid "Maintaining backward compatibility"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:609
msgid ""
"The classic HashCash problem -\n"
2013-07-03 01:01:50 +00:00
"selecting HashCash values that are meaningful proofs of work on high-end machines,\n"
2013-06-05 10:00:16 +00:00
"while still being feasible on low-end machines such as mobile devices."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:616
msgid ""
2013-07-03 01:01:50 +00:00
"Various limitations on the number of routers in a given IP range restrict\n"
"the vulnerability to attackers that don't have the ability to put machines\n"
2013-06-05 10:00:16 +00:00
"in several IP blocks.\n"
"However, this is not a meaningful defense against a powerful adversary."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:623
#, python-format
msgid ""
"See the <a href=\"%(netdb)s#threat\">network database page</a>\n"
"for more Sybil discussion."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:630
#, python-format
msgid ""
"(Reference: <a href=\"%(pdf)s\">In Search of an Anonymouns and Secure "
"Lookup</a> Section 5.2)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:634
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"By refusing to accept or forward tunnel build requests, except to a colluding peer, a router could ensure\n"
2013-06-05 10:00:16 +00:00
"that a tunnel is formed wholly from its set of colluding routers.\n"
2013-07-03 01:01:50 +00:00
"The chances of success are enhanced if there is a large number of colluding routers,\n"
2013-06-05 10:00:16 +00:00
"i.e. a <a href=\"#sybil\">Sybil attack</a>.\n"
"This is somewhat mitigated by our\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(peerselection)s\">peer profiling</a> methods used to monitor the performance\n"
2013-06-05 10:00:16 +00:00
"of peers.\n"
"However, this is a powerful attack as the number of routers approaches\n"
"<i>f</i> = 0.2, or 20%% malicious nodes, as specifed in the paper.\n"
2013-07-03 01:01:50 +00:00
"The malicous routers could also maintain connections to the target router and provide\n"
"excellent forwarding bandwidth for traffic over those connections, in an attempt\n"
2013-06-05 10:00:16 +00:00
"to manipulate the profiles managed by the target and appear attractive.\n"
"Further research and defenses may be necessary."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:653
#, python-format
msgid ""
"We use strong cryptography with long keys, and\n"
2013-07-03 01:01:50 +00:00
"we assume the security of the industry-standard cryptographic primitives used in I2P, as documented\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(cryptography)s\">on the low-level cryptography page</a>. \n"
"Security features include the immediate detection of \n"
2013-07-03 01:01:50 +00:00
"altered messages along the path, the inability to decrypt messages not addressed to you,\n"
2013-06-05 10:00:16 +00:00
"and defense against man-in-the-middle attacks.\n"
2013-07-03 01:01:50 +00:00
"The key sizes chosen in 2003 were quite conservative at the time, and are still longer than\n"
"those used in <a href=\"https://torproject.org/\">other anonymity networks</a>.\n"
2013-06-05 10:00:16 +00:00
"We don't think the current key lengths are our biggest weakness,\n"
"especially for traditional, non-state-level adversaries;\n"
"bugs and the small size of the network are much more worrisome.\n"
2013-07-03 01:01:50 +00:00
"Of course, all cryptographic algorithms eventually become obsolete due to\n"
"the advent of faster processors, cryptographic research, and advancements in\n"
2013-06-05 10:00:16 +00:00
"methods such as rainbow tables, clusters of video game hardware, etc.\n"
2013-07-03 01:01:50 +00:00
"Unfortunately, I2P was not designed with easy mechanisms to lengthen keys or change\n"
2013-06-05 10:00:16 +00:00
"shared secret values while maintaining backward compatibility."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:672
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Upgrading the various data structures and protocols to support longer keys\n"
2013-06-05 10:00:16 +00:00
"will have to be tackled eventually, and this will be a\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(cryptography)s\">major undertaking</a>, just as it will be for \n"
2013-06-05 10:00:16 +00:00
"<a href=\"https://torproject.org/\">others</a>.\n"
"Hopefully, through careful planning, we can minimize the disruption, and\n"
"implement mechanisms to make it easier for future transitions."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:681
msgid ""
"In the future, several I2P protocols and data structures\n"
2013-07-03 01:01:50 +00:00
"support securely padding messages to arbitrary sizes, so messages could be made constant\n"
"size or garlic messages could be modified randomly so that some cloves appear to contain\n"
"more subcloves than they actually do. At the moment, however, garlic, tunnel, and \n"
2013-06-05 10:00:16 +00:00
"end to end messages include simple random padding."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:691
msgid "Floodfill Anonymity attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:692
#, python-format
msgid ""
"In addition to the floodfill DOS attacks described\n"
"<a href=\"#ffdos\">above</a>, floodfill routers are uniquely positioned\n"
"to learn about network participants, due to their role\n"
2013-07-03 01:01:50 +00:00
"in the netDb, and the high frequency of communication with those participants.\n"
"This is somewhat mitigated because floodfill routers only manage a portion\n"
2013-06-05 10:00:16 +00:00
"of the total keyspace, and the keyspace rotates daily, as explained \n"
"on the <a href=\"%(netdb)s#threat\">network database page</a>.\n"
2013-07-03 01:01:50 +00:00
"The specific mechanisms by which routers communicate with floodfills have been\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(netdb)s#delivery\">carefully designed</a>.\n"
"However, these threats should be studied further.\n"
2013-07-03 01:01:50 +00:00
"The specific potential threats and corresponding defenses are a topic for future research."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:708
#, python-format
msgid ""
"A hostile user may attempt to harm the network by\n"
"creating one or more floodfill routers and crafting them to offer\n"
"bad, slow, or no responses.\n"
"Several scenarios are discussed on the\n"
"<a href=\"%(netdb)s#threat\">network database page</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:718
msgid "Central Resource Attacks"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:719
msgid ""
2013-07-03 01:01:50 +00:00
"There are a few centralized or limited resources (some inside I2P, some not)\n"
2013-06-05 10:00:16 +00:00
"that could be attacked or used as a vector for attacks.\n"
2013-07-03 01:01:50 +00:00
"The absence of jrandom starting November 2007, followed by the loss of the i2p.net hosting service in January 2008,\n"
"highlighted numerous centralized resources in the development and operation of the I2P network,\n"
2013-06-05 10:00:16 +00:00
"most of which are now distributed.\n"
2013-07-03 01:01:50 +00:00
"Attacks on externally-reachable resources mainly affect the ability of new users to find us,\n"
2013-06-05 10:00:16 +00:00
"not the operation of the network itself."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:729
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"%(site)s\">website</a> is mirrored and uses DNS round-robin "
"for external public access."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:732
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Routers now support <a href=\"%(faq)s#reseed\">multiple external reseed locations</a>,\n"
"however more reseed hosts may be needed, and the handling of unreliable or malicious\n"
2013-06-05 10:00:16 +00:00
"reseed hosts may need improvement."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:737
msgid ""
"Routers now support multiple update file locations.\n"
"A malicious update host could feed a huge file, need to limit the size."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:741
msgid "Routers now support multiple default trusted update signers."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:744
msgid ""
2013-07-03 01:01:50 +00:00
"Routers now better handle <a href=\"#ffdos\">multiple unreliable floodfill peers</a>.\n"
"Malicious floodfills <a href=\"#ffdos\">needs</a> <a href=\"#floodfill\">more</a> study."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:748
#, python-format
msgid ""
"The code is now stored in a <a href=\"%(monotone)s\">distributed source "
"control system</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:751
msgid ""
2013-07-03 01:01:50 +00:00
"Routers rely on a single news host, but there is a hardcoded backup URL pointing to a different host.\n"
2013-06-05 10:00:16 +00:00
"A malicious news host could feed a huge file, need to limit the size."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:755
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(naming)s\">Naming system services</a>, including addressbook subscription providers, add-host services,\n"
"and jump services, could be malicious. Substantial protections for subscriptions were implemented\n"
"in release 0.6.1.31, with additional enhancements in subsequent releases.\n"
2013-06-05 10:00:16 +00:00
"However, all naming services require some measure of trust, see\n"
"<a href=\"%(naming)s\">the naming page</a> for details."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:762
msgid ""
2013-07-03 01:01:50 +00:00
"We remain reliant on the DNS service for i2p2.de, losing this would cause substantial\n"
2013-06-05 10:00:16 +00:00
"disruption in our ability to attract new users,\n"
2013-07-03 01:01:50 +00:00
"and would shrink the network (in the short-to-medium term), just as the loss of i2p.net did."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:772
msgid ""
2013-07-03 01:01:50 +00:00
"These attacks aren't directly on the network, but instead go after its development team \n"
"by either introducing legal hurdles on anyone contributing to the development\n"
"of the software, or by using whatever means are available to get the developers to \n"
"subvert the software. Traditional technical measures cannot defeat these attacks, and\n"
"if someone threatened the life or livelihood of a developer (or even just issuing a \n"
"court order along with a gag order, under threat of prison), we would have a big problem."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:781
msgid "However, two techniques help defend against these attacks:"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:785
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"All components of the network must be open source to enable inspection, verification, \n"
"modification, and improvement. If a developer is compromised, once it is noticed \n"
"the community should demand explanation and cease to accept that developer's work.\n"
"All checkins to our <a href=\"%(monotone)s\">distributed source control system</a>\n"
"are cryptographically signed, and the release packagers use a trust-list system\n"
2013-06-05 10:00:16 +00:00
"to restrict modifications to those previously approved."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:793
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Development over the network itself, allowing developers to stay anonymous but still \n"
"secure the development process. All I2P development can occur through I2P - using\n"
2013-06-05 10:00:16 +00:00
"a <a href=\"%(monotone)s\">distributed source control system</a>,\n"
"a distributed source control system, IRC chat,\n"
"public web servers,\n"
"discussion forums (forum.i2p), and the software distribution sites,\n"
"all available within I2P."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:804
msgid ""
2013-07-03 01:01:50 +00:00
"We also maintain relationships with various organizations that offer legal advice,\n"
2013-06-05 10:00:16 +00:00
"should any defense be necessary."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:809
msgid "Implementation attacks (bugs)"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:810
msgid ""
2013-07-03 01:01:50 +00:00
"Try as we might, most nontrivial applications include errors in the design or \n"
"implementation, and I2P is no exception. There may be bugs that could be exploited to \n"
"attack the anonymity or security of the communication running over I2P in unexpected \n"
"ways. To help withstand attacks against the design or protocols in use, we publish \n"
2013-06-05 10:00:16 +00:00
"all designs and documentation and solicit review and criticism with \n"
"the hope that many eyes will improve the system.\n"
"We do not believe in\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.haystacknetwork.com/\">security through obscurity</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:821
msgid ""
"In addition, the code is being \n"
2013-07-03 01:01:50 +00:00
"treated the same way, with little aversion towards reworking or throwing out \n"
"something that isn't meeting the needs of the software system (including ease of \n"
"modification). Documentation for the design and implementation of the network and \n"
"the software components are an essential part of security, as without them it is \n"
"unlikely that developers would be willing to spend the time to learn the software \n"
2013-06-05 10:00:16 +00:00
"enough to identify shortcomings and bugs."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:831
msgid ""
2013-07-03 01:01:50 +00:00
"Our software is likely, in particular, to contain bugs related to denial of service\n"
"through out-of-memory errors (OOMs), cross-site-scripting (XSS) issues in the router console,\n"
"and other vulnerabilities to non-standard inputs via the various protocols."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:837
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P is still a small network with a small development community and almost no\n"
2013-06-05 10:00:16 +00:00
"interest from academic or research groups.\n"
"Therefore we lack the analysis that\n"
"<a href=\"https://torproject.org/\">other anonymity networks</a>\n"
"may have received. We continue to recruit people to\n"
"<a href=\"%(volunteer)s\">get involved</a> and help."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:850
msgid "Blocklists"
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:851
msgid ""
2013-07-03 01:01:50 +00:00
"To some extent, I2P could be enhanced to avoid peers operating at IP addresses\n"
"listed in a blocklist. Several blocklists are commonly available in standard formats,\n"
"listing anti-P2P organizations, potential state-level adversaries, and others."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:857
msgid ""
2013-07-03 01:01:50 +00:00
"To the extent that active peers actually do show up in the actual blocklist,\n"
2013-06-05 10:00:16 +00:00
"blocking by only a subset of peers would tend to segment the network,\n"
"exacerbate reachability problems, and decrease overall reliability.\n"
"Therefore we would want to agree on a particular blocklist and\n"
"enable it by default."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:865
msgid ""
2013-07-03 01:01:50 +00:00
"Blocklists are only a part (perhaps a small part) of an array of defenses\n"
2013-06-05 10:00:16 +00:00
"against maliciousness.\n"
"In large part the profiling system does a good job of measuring\n"
"router behavior so that we don't need to trust anything in netDb.\n"
"However there is more that can be done. For each of the areas in the\n"
"list above there are improvements we can make in detecting badness."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:874
msgid ""
"If a blocklist is hosted at a central location with automatic updates\n"
"the network is vulnerable to a\n"
"<a href=\"#central\">central resource attack</a>.\n"
2013-07-03 01:01:50 +00:00
"Automatic subscription to a list gives the list provider the power to shut\n"
2013-06-05 10:00:16 +00:00
"the i2p network down. Completely."
msgstr ""
#: i2p2www/pages/site/docs/how/threat-model.html:882
msgid ""
"Currently, a default blocklist is distributed with our software,\n"
"listing only the IPs of past DOS sources.\n"
"There is no automatic update mechanism.\n"
2013-07-03 01:01:50 +00:00
"Should a particular IP range implement serious attacks on the I2P network,\n"
2013-06-05 10:00:16 +00:00
"we would have to ask people to update their blocklist manually through\n"
"out-of-band mechanisms such as forums, blogs, etc."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:2
#: i2p2www/pages/site/docs/how/tunnel-routing.html:6
msgid "Tunnel Overview"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:3
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:3
msgid "July 2011"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"This page contains an overview of I2P tunnel terminology and operation, with\n"
2013-06-05 10:00:16 +00:00
"links to more technical pages, details, and specifications."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:12
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"As briefly explained in the <a href=\"%(intro)s\">introduction</a>, I2P builds virtual \"tunnels\" -\n"
"temporary and unidirectional paths through a sequence of routers. These \n"
2013-06-05 10:00:16 +00:00
"tunnels are classified as either inbound tunnels (where everything \n"
"given to it goes towards the creator of the tunnel) or outbound tunnels\n"
"(where the tunnel creator shoves messages away from them). When Alice\n"
"wants to send a message to Bob, she will (typically) send it out one of\n"
2013-07-03 01:01:50 +00:00
"her existing outbound tunnels with instructions for that tunnel's endpoint\n"
2013-06-05 10:00:16 +00:00
"to forward it to the gateway router for one of Bob's current inbound \n"
"tunnels, which in turn passes it to Bob."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:25
2013-07-03 01:01:50 +00:00
msgid ""
"Alice connecting through her outbound tunnel to Bob via his inbound tunnel"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:27
msgid "Outbound Gateway"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:28
msgid "Outbound Participant"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:29
#: i2p2www/pages/site/docs/tunnels/implementation.html:131
msgid "Outbound Endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:31
msgid "Inbound Participant"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:32
msgid "Inbound Endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:36
msgid "Tunnel vocabulary"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:38
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tunnel gateway</b> - the first router in a tunnel. For inbound tunnels,\n"
2013-06-05 10:00:16 +00:00
"this is the one mentioned in the LeaseSet published in the\n"
"<a href=\"%(netdb)s\">network database</a>. For outbound tunnels, the\n"
"gateway is the originating router. (e.g. both A and D above)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:44
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tunnel endpoint</b> - the last router in a tunnel. (e.g. both C and F "
"above)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:45
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tunnel participant</b> - all routers in a tunnel except for the gateway or\n"
2013-06-05 10:00:16 +00:00
"endpoint (e.g. both B and E above)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:49
msgid ""
2013-07-03 01:01:50 +00:00
"<b>n-Hop tunnel</b> - a tunnel with a specific number of inter-router jumps,"
" e.g.:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:51
msgid "<b>0-hop tunnel</b> - a tunnel where the gateway is also the endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:52
msgid ""
"<b>1-hop tunnel</b> - a tunnel where the gateway talks directly to the "
"endpoint"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"<b>2-(or more)-hop tunnel</b> - a tunnel where there is at least one intermediate\n"
2013-06-05 10:00:16 +00:00
"tunnel participant. (the above diagram includes two 2-hop tunnels - one\n"
"outbound from Alice, one inbound to Bob)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:60
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tunnel ID</b> - A <a href=\"%(commonstructures)s#type_TunnelId\">4 byte integer</a>\n"
"different for each hop in a tunnel, and unique among all tunnels on a router.\n"
2013-06-05 10:00:16 +00:00
"Chosen randomly by the tunnel creator."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:67
msgid "Tunnel Build Information"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:68
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Routers performing the three roles (gateway, participant, endpoint) are given\n"
2013-06-05 10:00:16 +00:00
"different pieces of data in the initial\n"
"<a href=\"%(tunnelcreation)s\">Tunnel Build Message</a>\n"
"to accomplish their tasks:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:75
msgid "The tunnel gateway gets:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:77
#: i2p2www/pages/site/docs/how/tunnel-routing.html:97
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>tunnel encryption key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for encrypting\n"
2013-06-05 10:00:16 +00:00
"messages and instructions to the next hop"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:81
#: i2p2www/pages/site/docs/how/tunnel-routing.html:101
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>tunnel IV key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for double-encrypting\n"
2013-06-05 10:00:16 +00:00
"the IV to the next hop"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:85
#: i2p2www/pages/site/docs/how/tunnel-routing.html:105
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>reply key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> for encrypting\n"
2013-06-05 10:00:16 +00:00
"the reply to the tunnel build request"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:89
#: i2p2www/pages/site/docs/how/tunnel-routing.html:109
msgid ""
"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
"request"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:90
msgid "<b>tunnel id</b> - 4 byte integer (inbound gateways only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:91
msgid ""
2013-07-03 01:01:50 +00:00
"<b>next hop</b> - what router is the next one in the path (unless this is a "
"0-hop tunnel, and the gateway is also the endpoint)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:92
#: i2p2www/pages/site/docs/how/tunnel-routing.html:112
msgid "<b>next tunnel id</b> - The tunnel ID on the next hop"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:95
msgid "All intermediate tunnel participants get:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:110
msgid "<b>tunnel id</b> - 4 byte integer"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:111
msgid "<b>next hop</b> - what router is the next one in the path"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:115
msgid "The tunnel endpoint gets:"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:117
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>tunnel encryption key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for encrypting\n"
2013-06-05 10:00:16 +00:00
"messages and instructions to the the endpoint (itself)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:121
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>tunnel IV key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES private key</a> for double-encrypting\n"
2013-06-05 10:00:16 +00:00
"the IV to the endpoint (itself)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:125
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<b>reply key</b> - an <a href=\"%(commonstructures)s#type_SessionKey\">AES public key</a> for encrypting\n"
2013-06-05 10:00:16 +00:00
"the reply to the tunnel build request (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:129
msgid ""
"<b>reply IV</b> - the IV for encrypting the reply to the tunnel build "
"request (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:130
msgid "<b>tunnel id</b> - 4 byte integer (outbound endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:131
msgid ""
2013-07-03 01:01:50 +00:00
"<b>reply router</b> - the inbound gateway of the tunnel to send the reply "
"through (outbound endpoints only)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:132
msgid ""
"<b>reply tunnel id</b> - The tunnel ID of the reply router (outbound "
"endpoints only)"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:137
#, python-format
msgid ""
"Details are in the\n"
"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:142
msgid "Tunnel pooling"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:143
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Several tunnels for a particular purpose may be grouped into a \"tunnel pool\",\n"
2013-06-05 10:00:16 +00:00
"as described in the\n"
"<a href=\"%(tunnelimpl)s#tunnel.pooling\">tunnel specification</a>.\n"
"This provides redundancy and additional bandwidth.\n"
"The pools used by the router itself are called \"exploratory tunnels\".\n"
"The pools used by applications are called \"client tunnels\"."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:154
msgid "Tunnel length"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:155
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"As mentioned above, each client requests that their router provide tunnels to\n"
2013-06-05 10:00:16 +00:00
"include at least a certain number of hops.\n"
"The decision as to how many routers\n"
2013-07-03 01:01:50 +00:00
"to have in one's outbound and inbound tunnels has an important effect upon the\n"
"latency, throughput, reliability, and anonymity provided by I2P - the more peers\n"
"that messages have to go through, the longer it takes to get there and the more\n"
"likely that one of those routers will fail prematurely. The less routers in a\n"
"tunnel, the easier it is for an adversary to mount traffic analysis attacks and\n"
2013-06-05 10:00:16 +00:00
"pierce someone's anonymity.\n"
"Tunnel lengths are specified by clients via\n"
"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
"The maximum number of hops in a tunnel is 7."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:171
msgid "0-hop tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:172
msgid ""
"With no remote routers in a tunnel, the user has very basic plausible\n"
2013-07-03 01:01:50 +00:00
"deniability (since no one knows for sure that the peer that sent them the\n"
"message wasn't simply just forwarding it on as part of the tunnel). However, it\n"
"would be fairly easy to mount a statistical analysis attack and notice that\n"
"messages targeting a specific destination are always sent through a single\n"
"gateway. Statistical analysis against outbound 0-hop tunnels are more complex,\n"
"but could show similar information (though would be slightly harder to mount)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:182
msgid "1-hop tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:183
#, python-format
msgid ""
"With only one remote router in a tunnel, the user has both plausible\n"
2013-07-03 01:01:50 +00:00
"deniability and basic anonymity, as long as they are not up against an internal\n"
"adversary (as described on <a href=\"%(threatmodel)s\">threat model</a>). However,\n"
"if the adversary ran a sufficient number of routers such that the single remote\n"
"router in the tunnel is often one of those compromised ones, they would be able\n"
2013-06-05 10:00:16 +00:00
"to mount the above statistical traffic analysis attack."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:192
msgid "2-hop tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:193
msgid ""
2013-07-03 01:01:50 +00:00
"With two or more remote routers in a tunnel, the costs of mounting the traffic\n"
"analysis attack increases, since many remote routers would have to be compromised\n"
2013-06-05 10:00:16 +00:00
"to mount it."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:199
msgid "3-hop (or more) tunnels"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:200
#, python-format
msgid ""
"To reduce the susceptibility to <a href=\"%(url)s\">some attacks</a>,\n"
"3 or more hops are recommended for the highest level of protection.\n"
"<a href=\"%(url)s\">Recent studies</a>\n"
2013-07-03 01:01:50 +00:00
"also conclude that more than 3 hops does not provide additional protection."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:208
msgid "Tunnel default lengths"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:209
#, python-format
msgid ""
"The router uses 2-hop tunnels by default for its exploratory tunnels.\n"
"Client tunnel defaults are set by the application, using\n"
"<a href=\"%(i2cp)s#options\">I2CP options</a>.\n"
"Most applications use 2 or 3 hops as their default."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:218
msgid "Tunnel testing"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:219
#, python-format
msgid ""
"All tunnels are periodically tested by their creator by sending a\n"
2013-07-03 01:01:50 +00:00
"DeliveryStatusMessage out an outbound tunnel and bound for another inbound tunnel\n"
"(testing both tunnels at once). If either fails a number of consecutive tests, it is marked as no longer\n"
2013-06-05 10:00:16 +00:00
"functional. If it was used for a client's inbound tunnel, a new leaseSet\n"
"is created.\n"
"Tunnel test failures are also reflected in the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(peerselection)s#capacity\">capacity rating in the peer profile</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:231
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Tunnel creation is handled by <a href=\"%(garlicrouting)s\">garlic routing</a>\n"
"a Tunnel Build Message to a router, requesting that they participate in the\n"
"tunnel (providing them with all of the appropriate information, as above, along\n"
"with a certificate, which right now is a 'null' cert, but will support hashcash\n"
2013-06-05 10:00:16 +00:00
"or other non-free certificates when necessary).\n"
"That router forwards the message to the next hop in the tunnel.\n"
"Details are in the\n"
"<a href=\"%(tunnelcreation)s\">tunnel creation specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:245
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Multi-layer encryption is handled by <a href=\"%(garlicrouting)s\">garlic encryption</a>\n"
2013-06-05 10:00:16 +00:00
"of tunnel messages.\n"
"Details are in the\n"
"<a href=\"%(tunnelimpl)s\">tunnel specification</a>.\n"
"The IV of each hop is encrypted with a separate key as explained there."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:257
msgid ""
"Other tunnel test techniques could be used, such as\n"
"garlic wrapping a number of tests into cloves, testing individual tunnel\n"
"participants separately, etc."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:263
msgid "Move to 3-hop exploratory tunnels defaults."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:267
msgid ""
"In a distant future release,\n"
2013-07-03 01:01:50 +00:00
"options specifying the pooling, mixing, and chaff generation settings may be implemented."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:272
msgid ""
"In a distant future release,\n"
"limits on the quantity and size of messages allowed during the\n"
"tunnel's lifetime may be implemented (e.g. no more than 300 messages or\n"
"1MB per minute)."
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:284
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:15
msgid "Tunnel specification"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:286
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:17
msgid "Tunnel creation specification"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:290
msgid "Tunnel message specification"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:294
msgid "ElGamal/AES+SessionTag"
msgstr ""
#: i2p2www/pages/site/docs/how/tunnel-routing.html:296
msgid "I2CP options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:6
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P Client Protocol (I2CP) exposes a strong separation of concerns between\n"
"the router and any client that wishes to communicate over the network. It enables\n"
"secure and asynchronous messaging by sending and receiving messages over a \n"
"single TCP socket, yet never exposing any private keys and authenticating itself\n"
"to the router only through signatures. With I2CP, a client application tells the\n"
"router who they are (their \"destination\"), what anonymity, reliability, and \n"
"latency tradeoffs to make, and where to send messages. In turn the router uses\n"
"I2CP to tell the client when any messages have arrived, and to request authorization\n"
2013-06-05 10:00:16 +00:00
"for some tunnels to be used."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:18
#, python-format
msgid ""
"The protocol itself has only been implemented in Java, to provide the\n"
"<a href=\"%(url)s\">Client SDK</a>.\n"
2013-07-03 01:01:50 +00:00
"This SDK is exposed in the i2p.jar package, which implements the client-side of I2CP.\n"
"Clients should never need to access the router.jar package, which contains the\n"
2013-06-05 10:00:16 +00:00
"router itself and the router-side of I2CP."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:26
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"While implementing the client side of I2CP in a non-Java language is certainly feasible,\n"
2013-06-05 10:00:16 +00:00
"a non-Java client would also have to implement the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(streaming)s\">streaming library</a> for TCP-style connections.\n"
"Together, implementing I2CP and the streaming library would be a sizable task."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:33
#, python-format
msgid ""
"Applications can take advantage of the base I2CP plus the \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(streaming)s\">streaming</a> and <a href=\"%(datagrams)s\">datagram</a> libraries\n"
"by using the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> or <a href=\"%(bob)s\">BOB</a> protocols,\n"
2013-06-05 10:00:16 +00:00
"which do not require clients to deal with any sort of cryptography.\n"
"Also, clients may access the network by one of several proxies -\n"
"HTTP, CONNECT, and SOCKS 4/4a/5.\n"
2013-07-03 01:01:50 +00:00
"Alternatively, Java clients may access those libraries in ministreaming.jar and streaming.jar.\n"
2013-06-05 10:00:16 +00:00
"So there are several options for both Java and non-Java applications."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:45
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Client-side end-to-end encryption (encrypting the data over the I2CP connection)\n"
2013-06-05 10:00:16 +00:00
"was disabled in I2P release 0.6,\n"
2013-07-03 01:01:50 +00:00
"leaving in place the <a href=\"%(elgamalaes)s\">ElGamal/AES end-to-end encryption</a>\n"
2013-06-05 10:00:16 +00:00
"which is implemented in the router.\n"
"The only cryptography that client libraries must still implement is\n"
"<a href=\"%(cryptography)s#DSA\">DSA public/private key signing</a>\n"
"for <a href=\"%(i2cp)s#msg_CreateLeaseSet\">LeaseSets</a> and\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2cp)s#struct_SessionConfig\">Session Configurations</a>, and management of those keys."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:58
msgid ""
2013-07-03 01:01:50 +00:00
"In a standard I2P installation, port 7654 is used by external java clients to communicate\n"
2013-06-05 10:00:16 +00:00
"with the local router via I2CP.\n"
2013-07-03 01:01:50 +00:00
"By default, the router binds to address 127.0.0.1. To bind to 0.0.0.0, set the\n"
"router advanced configuration option <tt>i2cp.tcp.bindAllInterfaces=true</tt> and restart.\n"
"Clients in the same JVM as the router pass messages directly to the router\n"
2013-06-05 10:00:16 +00:00
"through an internal JVM interface."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:67
msgid "I2CP Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:68
#, python-format
msgid "Now on the <a href=\"%(i2cp)s\">I2CP Specification page</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:73
msgid "I2CP Initialization"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:74
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"When a client connects to the router, it first sends a single protocol version byte (0x2A).\n"
"Then it sends a <a href=\"%(i2cp)s#msg_GetDate\">GetDate Message</a> and waits for the <a href=\"%(i2cp)s#msg_SetDate\">SetDate Message</a> response.\n"
"Next, it sends a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession Message</a> containing the session configuration.\n"
"It next awaits a <a href=\"%(i2cp)s#msg_RequestLeaseSet\">RequestLeaseSet Message</a> from the router, indicating that inbound tunnels\n"
"have been built, and responds with a CreateLeaseSetMessage containing the signed LeaseSet.\n"
"The client may now initiate or receive connections from other I2P destinations."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:83
msgid "I2CP Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:84
#, python-format
msgid ""
"The following options are traditionally passed to the router via\n"
2013-07-03 01:01:50 +00:00
"a <a href=\"%(i2cp)s#struct_SessionConfig\">SessionConfig</a> contained in a <a href=\"%(i2cp)s#msg_CreateSession\">CreateSession Message</a> or a <a href=\"%(i2cp)s#msg_ReconfigureSession\">ReconfigureSession Message</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:90
msgid "Router-side Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:95
#: i2p2www/pages/site/docs/protocol/i2cp.html:438
msgid "As Of Release"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:96
#: i2p2www/pages/site/docs/protocol/i2cp.html:439
msgid "Recommended Arguments"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:97
#: i2p2www/pages/site/docs/protocol/i2cp.html:440
msgid "Allowable Range"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:105
#: i2p2www/pages/site/docs/protocol/i2cp.html:118
#: i2p2www/pages/site/docs/protocol/i2cp.html:127
#: i2p2www/pages/site/docs/protocol/i2cp.html:136
#: i2p2www/pages/site/docs/protocol/i2cp.html:145
#: i2p2www/pages/site/docs/protocol/i2cp.html:160
#: i2p2www/pages/site/docs/protocol/i2cp.html:175
#: i2p2www/pages/site/docs/protocol/i2cp.html:184
#: i2p2www/pages/site/docs/protocol/i2cp.html:232
#: i2p2www/pages/site/docs/protocol/i2cp.html:244
#: i2p2www/pages/site/docs/protocol/i2cp.html:256
#, python-format
msgid "number from %(from)s to %(to)s"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:106
#: i2p2www/pages/site/docs/protocol/i2cp.html:128
#: i2p2www/pages/site/docs/protocol/i2cp.html:137
#: i2p2www/pages/site/docs/protocol/i2cp.html:146
#: i2p2www/pages/site/docs/protocol/i2cp.html:161
#: i2p2www/pages/site/docs/protocol/i2cp.html:233
#: i2p2www/pages/site/docs/protocol/i2cp.html:245
#: i2p2www/pages/site/docs/protocol/i2cp.html:257
#: i2p2www/pages/site/docs/protocol/i2cp.html:530
#, python-format
msgid "%(from)s to %(to)s"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:108
msgid ""
"Number of tunnels in.\n"
2013-07-03 01:01:50 +00:00
"Limit was increased from 6 to 16 in release 0.9; however, numbers higher than 6 are not\n"
"currently recommended, as this is untested and is incompatible with older releases."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:119
#: i2p2www/pages/site/docs/protocol/i2cp.html:176
#: i2p2www/pages/site/docs/protocol/i2cp.html:185
msgid "No limit"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:121
msgid "Number of tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:130
msgid "Length of tunnels in"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:139
msgid "Length of tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:148
msgid ""
"Random amount to add or subtract to the length of tunnels in.\n"
"A positive number x means add a random amount from 0 to x inclusive.\n"
"A negative number -x means add a random amount from -x to x inclusive.\n"
2013-07-03 01:01:50 +00:00
"The router will limit the total length of the tunnel to 0 to 7 inclusive.\n"
2013-06-05 10:00:16 +00:00
"The default variance was 1 prior to release 0.7.6."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:163
msgid ""
"Random amount to add or subtract to the length of tunnels out.\n"
"A positive number x means add a random amount from 0 to x inclusive.\n"
"A negative number -x means add a random amount from -x to x inclusive.\n"
2013-07-03 01:01:50 +00:00
"The router will limit the total length of the tunnel to 0 to 7 inclusive.\n"
2013-06-05 10:00:16 +00:00
"The default variance was 1 prior to release 0.7.6."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:178
msgid "Number of redundant fail-over for tunnels in"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:187
msgid "Number of redundant fail-over for tunnels out"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:196
msgid ""
"Name of tunnel - generally used in routerconsole, which will\n"
2013-07-03 01:01:50 +00:00
"use the first few characters of the Base64 hash of the destination by default."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:208
msgid "Name of tunnel - generally ignored unless inbound.nickname is unset."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:217
msgid "If incoming zero hop tunnel is allowed"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:226
msgid "If outgoing zero hop tunnel is allowed"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:235
#: i2p2www/pages/site/docs/protocol/i2cp.html:247
msgid ""
"Number of IP bytes to match to determine if\n"
"two routers should not be in the same tunnel. 0 to disable."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:259
msgid ""
"Priority adjustment for outbound messages.\n"
"Higher is higher priority."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:271
msgid "Should generally be set to true for clients and false for servers"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:280
msgid ""
"Guaranteed is disabled;\n"
2013-07-03 01:01:50 +00:00
"None implemented in 0.8.1; the streaming lib default is None as of 0.8.1, the client side default is None as of 0.9.4"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:292
#: i2p2www/pages/site/docs/protocol/i2cp.html:571
msgid ""
"If true, the router just sends the MessagePayload instead\n"
"of sending a MessageStatus and awaiting a ReceiveMessageBegin."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:304
msgid ""
2013-07-03 01:01:50 +00:00
"Comma-separated list of Base 64 Hashes of peers to build tunnels through; "
"for debugging only"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:313
#: i2p2www/pages/site/docs/protocol/i2cp.html:325
msgid ""
"For authorization, if required by the router.\n"
2013-07-03 01:01:50 +00:00
"If the client is running in the same JVM as a router, this option is not required."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:337
msgid ""
"Number of ElGamal/AES Session Tags to send at a time.\n"
2013-07-03 01:01:50 +00:00
"For clients with relatively low bandwidth per-client-pair (IRC, some UDP apps), this may be set lower."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:349
msgid ""
"Minimum number of ElGamal/AES Session Tags before we send more.\n"
"Recommended: approximately tagsToSend * 2/3"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:361
msgid ""
"Set to false to disable ever bundling a reply LeaseSet.\n"
"For clients that do not publish their LeaseSet, this option must be true\n"
2013-07-03 01:01:50 +00:00
"for any reply to be possible. \"true\" is also recommended for multihomed servers\n"
2013-06-05 10:00:16 +00:00
"with long connection times."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:368
msgid ""
2013-07-03 01:01:50 +00:00
"Setting to \"false\" may save significant outbound bandwidth, especially if\n"
"the client is configured with a large number of inbound tunnels (Leases).\n"
2013-06-05 10:00:16 +00:00
"If replies are still required, this may shift the bandwidth burden to\n"
"the far-end client and the floodfill.\n"
"There are several cases where \"false\" may be appropriate:"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:376
msgid "Unidirectional communication, no reply required"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:377
msgid "LeaseSet is published and higher reply latency is acceptable"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:378
msgid ""
2013-07-03 01:01:50 +00:00
"LeaseSet is published, client is a \"server\", all connections are inbound\n"
"so the connecting far-end destination obviously has the leaseset already.\n"
"Connections are either short, or it is acceptable for latency on a long-lived\n"
"connection to temporarily increase while the other end re-fetches the LeaseSet\n"
2013-06-05 10:00:16 +00:00
"after expiration.\n"
"HTTP servers may fit these requirements."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:396
msgid ""
"Any other options prefixed with \"inbound.\" are stored\n"
2013-07-03 01:01:50 +00:00
"in the \"unknown options\" properties of the inbound tunnel pool's settings."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:408
msgid ""
"Any other options prefixed with \"outbound.\" are stored\n"
2013-07-03 01:01:50 +00:00
"in the \"unknown options\" properties of the outbound tunnel pool's settings."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:415
msgid ""
"Note: Large quantity, length, or variance settings may cause significant "
"performance or reliability problems."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:419
msgid ""
2013-07-03 01:01:50 +00:00
"Note: As of release 0.7.7, option names and values must use UTF-8 encoding.\n"
2013-06-05 10:00:16 +00:00
"This is primarily useful for nicknames.\n"
"Prior to that release, options with multi-byte characters were corrupted."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:425
msgid ""
"The following options are interpreted on the client side,\n"
2013-07-03 01:01:50 +00:00
"and will be interpreted if passed to the I2PSession via the I2PClient.createSession() call.\n"
2013-06-05 10:00:16 +00:00
"The streaming lib should also pass these options through to I2CP.\n"
"Other implementations may have different defaults."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:433
msgid "Client-side Options"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:451
msgid ""
"Router hostname.\n"
2013-07-03 01:01:50 +00:00
"If the client is running in the same JVM as a router, this option is ignored, and the client connects to that router internally."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:463
msgid ""
"Router I2CP port.\n"
2013-07-03 01:01:50 +00:00
"If the client is running in the same JVM as a router, this option is ignored, and the client connects to that router internally."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:475
msgid ""
"Connect to the router using SSL.\n"
2013-07-03 01:01:50 +00:00
"If the client is running in the same JVM as a router, this option is ignored, and the client connects to that router internally."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:487
msgid "Gzip outbound data"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:496
msgid "Reduce tunnel quantity when idle"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:505
msgid "Close I2P session when idle"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:512
#: i2p2www/pages/site/docs/protocol/i2cp.html:521
#, python-format
msgid "%(num)s minimum"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:514
msgid "(ms) Idle time required (default 20 minutes, minimum 5 minutes)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:523
msgid "(ms) Idle time required (default 30 minutes)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:532
msgid "Tunnel quantity when reduced (applies to both inbound and outbound)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:541
msgid "Encrypt the lease"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:550
msgid "Base64 SessionKey (44 characters)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:559
msgid ""
"Guaranteed is disabled;\n"
"None implemented in 0.8.1; None is the default as of 0.9.4"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:578
msgid ""
2013-07-03 01:01:50 +00:00
"Note: All arguments, including numbers, are strings. True/false values are case-insensitive strings.\n"
2013-06-05 10:00:16 +00:00
"Anything other than case-insensitive \"true\" is interpreted as false.\n"
"All option names are case-sensitive."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:584
msgid "I2CP Payload Data Format and Multiplexing"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:585
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The end-to-end messages handled by I2CP (i.e. the data sent by the client in a\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(i2cp)s#msg_SendMessage\">SendMessageMessage</a>\n"
"and received by the client in a\n"
"<a href=\"%(i2cp)s#msg_MessagePayload\">MessagePayloadMessage</a>)\n"
"are gzipped with a standard 10-byte gzip\n"
"header beginning with 0x1F 0x8B 0x08 as\n"
2013-07-03 01:01:50 +00:00
"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC 1952</a>.\n"
"As of release 0.7.1, I2P uses ignored portions of the gzip header to include\n"
"protocol, from-port, and to-port information, thus supporting streaming and\n"
"datagrams on the same destination, and allowing query/response using datagrams\n"
2013-06-05 10:00:16 +00:00
"to work reliably in the presence of multiple channels."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:599
msgid ""
2013-07-03 01:01:50 +00:00
"The gzip function cannot be completely turned off, however setting i2cp.gzip=false\n"
2013-06-05 10:00:16 +00:00
"turns the gzip effort setting to 0, which may save a little CPU."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:605
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:38
2013-06-05 10:00:16 +00:00
msgid "Bytes"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:606
#: i2p2www/pages/site/get-involved/index.html:38
msgid "Content"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:611
msgid "Gzip header"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:616
msgid "Gzip flags"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:621
msgid "I2P Source port (Gzip mtime)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:626
msgid "I2P Destination port (Gzip mtime)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:631
msgid "Gzip xflags"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:636
2013-07-03 01:01:50 +00:00
msgid ""
"I2P Protocol (6 = Streaming, 17 = Datagram, 18 = Raw Datagrams) (Gzip OS)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:640
msgid ""
"Data integrity is verified with the standard gzip CRC-32 as\n"
"specified by <a href=\"http://www.ietf.org/rfc/rfc1952.txt\">RFC 1952</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:648
2013-07-03 01:01:50 +00:00
msgid ""
"Implement I2CP and the streaming library in another programming language."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:652
msgid "Is the initial Get Date / Set Date handshake required?"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:656
msgid ""
"The current authorization mechanism could be modified to use hashed "
"passwords."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:660
msgid ""
"Private Keys are included in the Create Lease Set message,\n"
"are they really required? Revocation is unimplemented."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2cp.html:665
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Some improvements may be able to use messages previously defined but not implemented.\n"
2013-06-05 10:00:16 +00:00
"For reference, here is the\n"
"<a href=\"%(pdf1)s\">I2CP Protocol Specification Version 0.9</a>\n"
"(PDF) dated August 28, 2003.\n"
"That document also references the\n"
"<a href=\"%(pdf2)s\">Common Data Structures Specification Version 0.9</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:6
msgid "I2P Network Protocol"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:7
msgid ""
"The I2P Network Protocol (I2NP),\n"
2013-07-03 01:01:50 +00:00
"which is sandwiched between I2CP and the various I2P transport protocols, manages the\n"
"routing and mixing of messages between routers, as well as the selection of what\n"
"transports to use when communicating with a peer for which there are multiple\n"
2013-06-05 10:00:16 +00:00
"common transports supported."
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:15
msgid "I2NP Definition"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:16
msgid ""
2013-07-03 01:01:50 +00:00
"I2NP (I2P Network Protocol) messages can be used for one-hop, router-to-router, point-to-point messages.\n"
"By encrypting and wrapping messages in other messages, they can be sent in a secure way\n"
2013-06-05 10:00:16 +00:00
"through multiple hops to the ultimate destination.\n"
2013-07-03 01:01:50 +00:00
"Priority is only used locally at the origin, i.e. when queuing for outbound delivery."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:23
msgid ""
2013-07-03 01:01:50 +00:00
"Both the NTCP and UDP transports implement priority transmission,\n"
"but in quite different manners.\n"
"UDP has complex code with queues for each priority, however it treats\n"
"messages with priorities 400-499, for example, the same.\n"
"(The priority queues are 100, 200, 300, 400, 500, and 1000)\n"
"These are global queues for all peers.\n"
"NTCP has a trivial linear search for the highest priority within\n"
"each buffer for a particular peer.\n"
"This is much less effective."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:35
2013-06-05 10:00:16 +00:00
msgid "Message Format"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:38
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/streaming.html:35
msgid "Field"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:39
2013-06-05 10:00:16 +00:00
msgid "Unique ID"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:40
2013-06-05 10:00:16 +00:00
msgid "Expiration"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:41
#: i2p2www/pages/site/docs/protocol/i2np.html:98
2013-06-05 10:00:16 +00:00
msgid "Payload Length"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:42
2013-06-05 10:00:16 +00:00
msgid "Checksum"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:43
2013-06-05 10:00:16 +00:00
msgid "Payload"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:46
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"While the maximum payload size is nominally 64KB, the size is further constrained by the\n"
"method of fragmenting I2NP messages into multiple 1KB tunnel messages as described on\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(tunnelimpl)s\">the tunnel implementation page</a>.\n"
2013-07-03 01:01:50 +00:00
"The maximum number of fragments is 64, and the message may not be perfectly aligned,\n"
2013-06-05 10:00:16 +00:00
"So the message must nominally fit in 63 fragments."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:54
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The maximum size of an initial fragment is 956 bytes (assuming TUNNEL delivery mode);\n"
2013-06-05 10:00:16 +00:00
"the maximum size of a follow-on fragment is 996 bytes.\n"
2013-07-03 01:01:50 +00:00
"Therefore the maximum size is approximately 956 + (62 * 996) = 62708 bytes, or 61.2 KB."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:60
2013-06-05 10:00:16 +00:00
msgid ""
"In addition, the transports may have additional restrictions.\n"
2013-07-03 01:01:50 +00:00
"NTCP currently limits to 16KB - 6 = 16378 bytes but this will be increased in a future release.\n"
2013-06-05 10:00:16 +00:00
"The SSU limit is approximately 32 KB."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:66
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Note that these are not the limits for datagrams that the client sees, as the\n"
"router may bundle a reply leaseset and/or session tags together with the client message\n"
2013-06-05 10:00:16 +00:00
"in a garlic message. The leaseset and tags together may add about 5.5KB.\n"
"Therefore the current datagram limit is about 10KB. This limit will be\n"
"increased in a future release."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:74
2013-06-05 10:00:16 +00:00
msgid "Message Types"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:75
2013-06-05 10:00:16 +00:00
msgid ""
"Higher-numbered priority is higher priority.\n"
"The majority of traffic is TunnelDataMessages (priority 400),\n"
"so anything above 400 is essentially high priority, and\n"
"anything below is low priority.\n"
"Note also that many of the messages are generally routed\n"
"through exploratory tunnels, not client tunnels, and\n"
"therefore may not be in the same queue unless the\n"
"first hops happen to be on the same peer."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:86
2013-06-05 10:00:16 +00:00
msgid ""
"Also, not all message types are sent unencrypted.\n"
"For example, when testing a tunnel, the router wraps a\n"
"DeliveryStatusMessage, which is wrapped in a GarlicMessage,\n"
"which is wrapped in a DataMessage."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:97
2013-06-05 10:00:16 +00:00
msgid "Type"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:99
2013-06-05 10:00:16 +00:00
msgid "Priority"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:100
2013-06-05 10:00:16 +00:00
msgid "Comments"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:108
msgid ""
"400 normally; 100 if from HarvesterJob and sent directly;\n"
"400 for a router lookup"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:119
2013-06-05 10:00:16 +00:00
msgid ""
"Size is 65 + 32*(number of hashes) where typically, the hashes for\n"
"three floodfill routers are returned."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:128
2013-06-05 10:00:16 +00:00
msgid "Varies"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:130
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Usually 100 (why?)\n"
2013-06-05 10:00:16 +00:00
"Size is 898 bytes for a typical 2-lease leaseSet.\n"
"RouterInfo structures are compressed, and size varies; however\n"
2013-07-03 01:01:50 +00:00
"there is a continuing effort to reduce the amount of data published in a RouterInfo\n"
2013-06-05 10:00:16 +00:00
"as we approach release 1.0."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:152
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Used for message replies, and for testing tunnels - generally wrapped in a "
"GarlicMessage"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:160
2013-06-05 10:00:16 +00:00
msgid ""
"Generally wrapped in a DataMessage -\n"
"but when unwrapped, given a priority of 100 by the forwarding router"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:171
msgid "Usually 500 (why?)"
msgstr ""
#: i2p2www/pages/site/docs/protocol/i2np.html:187
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The most common message. Priority for tunnel participants, outbound endpoints, and inbound gateways was\n"
2013-06-05 10:00:16 +00:00
"reduced to 200 as of release 0.6.1.33.\n"
"Outbound gateway messages (i.e. those originated locally) remains at 400."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:207
2013-06-05 10:00:16 +00:00
msgid "Shorter TunnelBuildMessage as of 0.7.12"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:215
2013-06-05 10:00:16 +00:00
msgid "Shorter TunnelBuildReplyMessage as of 0.7.12"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:218
2013-06-05 10:00:16 +00:00
#, python-format
msgid "Others listed in <a href=\"%(pdf)s\">2003 Spec</a>"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:224
2013-06-05 10:00:16 +00:00
msgid "Obsolete, Unused"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:228
2013-06-05 10:00:16 +00:00
msgid "Full Protocol Specification"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:229
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"<a href=\"%(i2npspec)s\">On the I2NP Specification page</a>.\n"
"See also the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(commonstructures)s\">Common Data Structure Specification page</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/protocol/i2np.html:236
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"It isn't clear whether the current priority scheme is generally effective,\n"
"and whether the priorities for various messages should be adjusted further.\n"
2013-06-05 10:00:16 +00:00
"This is a topic for further research, analysis and testing."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:2
msgid "Protocol Stack"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:7
#, python-format
msgid ""
"Here is the protocol stack for I2P.\n"
"See also the <a href=\"%(docs)s\">Index to Technical Documentation</a>."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:12
msgid ""
"Each of the layers in the stack provides extra capabilities.\n"
2013-07-03 01:01:50 +00:00
"The capabilities are listed below, starting at the bottom of the protocol stack."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:18
msgid "Internet Layer:"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:20
msgid ""
2013-07-03 01:01:50 +00:00
"IP: Internet Protocol, allow addressing hosts on the regular internet and "
"routing packets across the internet using best-effort delivery."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:23
msgid "Transport Layer:"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:25
msgid ""
"TCP: Transmission Control Protocol, allow reliable, in-order delivery of "
"packets across the internet."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:27
msgid ""
"UDP: User Datagram Protocol, allow unreliable, out-of-order delivery of "
"packets across the internet."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:30
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P Transport Layer:</b> provide encrypted connections between 2 I2P routers. These are not anonymous yet, this is strictly a hop-to-hop connection.\n"
"Two protocols are implemented to provide these capabilities. NTCP builds on top of TCP, while SSU uses UDP."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:35
msgid "NIO-based TCP"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:37
msgid "Secure Semi-reliable UDP"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:40
msgid "<b>I2P Tunnel Layer:</b> provide full encrypted tunnel connections."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:42
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(tunnelmessage)s\">Tunnel messages</a>: tunnel messages are large messages containing encrypted I2NP (see below) messages and encrypted instructions for their delivery.\n"
"The encryption is layered. The first hop will decrypt the tunnel message and read a part. Another part can still be encrypted (with another key),\n"
2013-06-05 10:00:16 +00:00
"so it will be forwarded."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:48
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are "
"used to pass messages through multiple routers. These I2NP messages are "
2013-06-05 10:00:16 +00:00
"combined in tunnel messages."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:53
msgid ""
"<b>I2P Garlic Layer:</b> provide encrypted and anonymous end-to-end I2P "
"message delivery."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:55
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2np)s\">I2NP messages</a>: I2P Network Protocol messages are "
"wrapped in each other and used to ensure encryption between two tunnels and "
"are passed along from source to destination, keeping both anonymous."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:61
msgid ""
2013-07-03 01:01:50 +00:00
"The following layers are strictly speaking no longer part of the I2P Protocol stack, they are not part of the core 'I2P router' functionality.\n"
"However, each of these layers adds additional functionality, to allow applications simple and convenient I2P usage."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:67
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P Client Layer:</b> allow any client to use I2P functionality, without "
"requiring the direct use of the router API."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:69
#, python-format
msgid ""
"<a href=\"%(i2cp)s\">I2CP</a>: I2P Client Protocol, allows secure and "
2013-07-03 01:01:50 +00:00
"asynchronous messaging over I2P by communicating messages over the I2CP TCP "
"socket."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:74
msgid ""
2013-07-03 01:01:50 +00:00
"<b>I2P End-to-end Transport Layer:</b> allow TCP- or UDP-like functionality "
"on top of I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:76
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(streaming)s\">Streaming Library</a>: an implementation of TCP-"
"like streams over I2P. This allows easier porting of existing applications "
"to I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:80
#, python-format
msgid ""
"<a href=\"%(datagrams)s\">Datagram Library</a>: an implementation of UDP-"
2013-07-03 01:01:50 +00:00
"like messages over I2P. This allows easier porting of existing applications "
"to I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:85
msgid ""
"<b>I2P Application Interface Layer:</b> additional (optional) libraries "
"allowing easier implementations on top of I2P."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:93
msgid "<b>I2P Application Proxy Layer:</b> proxy systems."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:95
#, python-format
msgid "HTTP Client/Server, IRC Client, <a href=\"%(socks)s\">SOCKS</a>, Streamr"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:99
msgid ""
2013-07-03 01:01:50 +00:00
"Finally, what could be considered the <b>'I2P application layer'</b>, is a large number of applications on top of I2P.\n"
2013-06-05 10:00:16 +00:00
"We can order this based on the I2P stack layer they use."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:104
msgid "<b>Streaming/datagram applications</b>: i2psnark, Syndie, i2phex..."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:105
msgid "<b>SAM/BOB applications</b>: IMule, i2p-bt, i2prufus, Robert..."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:106
#, python-format
msgid ""
"<b>Other I2P applications</b>: Syndie, EepGet, <a "
"href=\"%(plugins)s\">plugins</a>..."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:107
msgid ""
"<b>Regular applications</b>: Jetty, Apache, Monotone, CVS, browsers, "
"e-mail..."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:111
msgid "I2P Network stack"
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:113
msgid "Figure 1: The layers in the I2P Network stack."
msgstr ""
#: i2p2www/pages/site/docs/protocol/index.html:118
msgid "Note: SAM/SAMv2 can use both the streaming lib and datagrams."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:2
msgid "I2P Blockfile Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:3
msgid "January 2012"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:6
msgid "Blockfile and Hosts Database Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:8
#, python-format
msgid ""
"This document specifies\n"
"the I2P blockfile file format\n"
2013-07-03 01:01:50 +00:00
"and the tables in the hostsdb.blockfile used by the Blockfile <a href=\"%(naming)s\">Naming Service</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:14
msgid ""
2013-07-03 01:01:50 +00:00
"The blockfile provides fast Destination lookup in a compact format. While the blockfile page overhead is substantial,\n"
"the destinations are stored in binary rather than in Base 64 as in the hosts.txt format.\n"
"In addition, the blockfile provides the capability of arbitrary metadata storage\n"
2013-06-05 10:00:16 +00:00
"(such as added date, source, and comments) for each entry.\n"
2013-07-03 01:01:50 +00:00
"The metadata may be used in the future to provide advanced addressbook features.\n"
"The blockfile storage requirement is a modest increase over the hosts.txt format, and the blockfile provides\n"
2013-06-05 10:00:16 +00:00
"approximately 10x reduction in lookup times."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:24
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A blockfile is simply on-disk storage of multiple sorted maps (key-value pairs),\n"
2013-06-05 10:00:16 +00:00
"implemented as skiplists.\n"
"The blockfile format is adopted from the\n"
"<a href=\"%(url)s\">Metanotion Blockfile Database</a>.\n"
2013-07-03 01:01:50 +00:00
"First we will define the file format, then the use of that format by the BlockfileNamingService."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:32
msgid "Blockfile Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:33
msgid ""
2013-07-03 01:01:50 +00:00
"The original blockfile spec was modified to add magic numbers to each page.\n"
"The file is structured in 1024-byte pages. Pages are numbered starting from 1.\n"
"The \"superblock\" is always at page 1, i.e. starting at byte 0 in the file.\n"
"The metaindex skiplist is always at page 2, i.e. starting at byte 1024 in the file."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:40
msgid ""
"All 2-byte integer values are unsigned.\n"
2013-07-03 01:01:50 +00:00
"All 4-byte integer values (page numbers) are signed and negative values are illegal."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:45
msgid ""
"The database is designed to be opened and accessed by a single thread.\n"
"The BlockfileNamingService provides synchronization."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:50
msgid "Superblock format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:65
msgid "Skip list block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:80
msgid ""
"Skip level block page format is as follows.\n"
"All levels have a span. Not all spans have levels."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:95
msgid ""
"Skip span block page format is as follows.\n"
2013-07-03 01:01:50 +00:00
"Key/value structures are sorted by key within each span and across all spans.\n"
2013-06-05 10:00:16 +00:00
"Key/value structures are sorted by key within each span.\n"
"Spans other than the first span may not be empty."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:112
msgid "Span Continuation block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:123
msgid ""
"Key/value structure format is as follows.\n"
2013-07-03 01:01:50 +00:00
"Key and value lengths must not be split across pages, i.e. all 4 bytes must be on the same page.\n"
"If there is not enough room the last 1-3 bytes of a page are unused and the lengths will\n"
2013-06-05 10:00:16 +00:00
"be at offset 8 in the continuation page.\n"
"Key and value data may be split across pages.\n"
"Max key and value lengths are 65535 bytes."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:139
msgid "Free list block page format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:151
msgid "Free page block format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:160
msgid ""
2013-07-03 01:01:50 +00:00
"The metaindex (located at page 2) is a mapping of US-ASCII strings to 4-byte integers.\n"
"The key is the name of the skiplist and the value is the page index of the skiplist."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:165
msgid "Blockfile Naming Service Tables"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:166
msgid ""
2013-07-03 01:01:50 +00:00
"The tables created and used by the BlockfileNamingService are as follows.\n"
2013-06-05 10:00:16 +00:00
"The maximum number of entries per span is 16."
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:171
msgid "Properties Skiplist"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:172
#, python-format
msgid ""
"\"%%__INFO__%%\" is the master database skiplist with String/Properties "
"key/value entries containing only one entry:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:184
msgid "Reverse Lookup Skiplist"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:185
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"\"%%__REVERSE__%%\" is the reverse lookup skiplist with Integer/Properties key/value entries\n"
2013-06-05 10:00:16 +00:00
" (as of database version 2):"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:199
msgid "hosts.txt, userhosts.txt, and privatehosts.txt Skiplists"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:200
msgid ""
"For each host database, there is a skiplist containing\n"
"the hosts for that database.\n"
"The keys/values in these skiplists are as follows:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:211
msgid "The DestEntry Properties typically contains:"
msgstr ""
#: i2p2www/pages/site/docs/spec/blockfile.html:220
msgid "Hostname keys are stored in lower-case and always end in \".i2p\"."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:2
msgid "Common structure Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:6
msgid "Data types Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:7
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This document describes some data types common to all I2P protocols, like\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(i2np)s\">I2NP</a>, <a href=\"%(i2cp)s\">I2CP</a>,\n"
"<a href=\"%(ssu)s\">SSU</a>, etc."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:17
msgid "Represents a non-negative integer.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:20
#: i2p2www/pages/site/docs/spec/common-structures.html:31
#: i2p2www/pages/site/docs/spec/common-structures.html:41
#: i2p2www/pages/site/docs/spec/common-structures.html:54
#: i2p2www/pages/site/docs/spec/common-structures.html:69
#: i2p2www/pages/site/docs/spec/common-structures.html:82
#: i2p2www/pages/site/docs/spec/common-structures.html:94
#: i2p2www/pages/site/docs/spec/common-structures.html:106
#: i2p2www/pages/site/docs/spec/common-structures.html:118
#: i2p2www/pages/site/docs/spec/common-structures.html:130
#: i2p2www/pages/site/docs/spec/common-structures.html:142
#: i2p2www/pages/site/docs/spec/common-structures.html:154
#: i2p2www/pages/site/docs/spec/common-structures.html:166
#: i2p2www/pages/site/docs/spec/common-structures.html:178
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:231
#: i2p2www/pages/site/docs/spec/common-structures.html:298
#: i2p2www/pages/site/docs/spec/common-structures.html:347
#: i2p2www/pages/site/docs/spec/common-structures.html:391
#: i2p2www/pages/site/docs/spec/common-structures.html:438
#: i2p2www/pages/site/docs/spec/common-structures.html:573
#: i2p2www/pages/site/docs/spec/common-structures.html:630
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/streaming.html:35
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:8
2013-06-05 10:00:16 +00:00
msgid "Contents"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:21
msgid "1 to 8 bytes in network byte order representing an unsigned integer\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:27
msgid ""
2013-07-03 01:01:50 +00:00
"The number of milliseconds since midnight on January 1, 1970 in the GMT timezone.\n"
2013-06-05 10:00:16 +00:00
"If the number is 0, the date is undefined or null.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:32
msgid "8 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:38
msgid "Represents a UTF-8 encoded string.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:42
msgid ""
2013-07-03 01:01:50 +00:00
"1 or more bytes where the first byte is the number of bytes (not characters!)\n"
"in the string and the remaining 0-255 bytes are the non-null terminated UTF-8 encoded character array.\n"
2013-06-05 10:00:16 +00:00
"Length limit is 255 bytes (not characters). Length may be 0.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:50
msgid ""
"A boolean value, supporting null/unknown representation\n"
"0=false, 1=true, 2=unknown/null\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:55
msgid "1 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:59
msgid "Deprecated - unused\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:65
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This structure is used in ElGamal encryption, representing only the exponent, not the primes, which are constant and defined in\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:70
#: i2p2www/pages/site/docs/spec/common-structures.html:83
msgid "256 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:78
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This structure is used in ElGamal decryption, representing only the exponent, not the primes which are constant and defined in\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(cryptography)s#elgamal\">the cryptography specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:91
msgid "This structure is used for AES256 encryption and decryption.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:95
#: i2p2www/pages/site/docs/spec/common-structures.html:143
#: i2p2www/pages/site/docs/spec/common-structures.html:155
msgid "32 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:103
#, python-format
msgid ""
"This structure is used for verifying <a "
"href=\"%(cryptography)s#DSA\">DSA</a> signatures.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:107
msgid "128 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:115
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This structure is used for creating <a href=\"%(cryptography)s#DSA\">DSA</a>"
" signatures.\n"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:119
msgid "20 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:127
#, python-format
msgid ""
"This structure represents the <a href=\"%(cryptography)s#DSA\">DSA</a> "
"signature of some data.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:131
msgid "40 bytes\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:139
msgid "Represents the SHA256 of some data.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:151
msgid "A random number\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:163
msgid "Defines an identifier that is unique to each router in a tunnel.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:167
msgid "4 byte <a href=\"#type_Integer\">Integer</a>\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:175
msgid ""
"A certificate is a container for various receipts or proof of works used "
"throughout the I2P network.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:179
msgid ""
2013-07-03 01:01:50 +00:00
"1 byte <a href=\"#type_Integer\">Integer</a> specifying certificate type, "
"followed by a 2 <a href=\"#type_Integer\">Integer</a> specifying the size of"
" the certificate payload, then that many bytes.\n"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:205
2013-06-05 10:00:16 +00:00
msgid ""
"For <a href=\"#struct_RouterIdentity\">Router Identities</a>, the "
"Certificate is always NULL, no others are currently implemented."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:209
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"For <a href=\"%(i2np)s#struct_GarlicClove\">Garlic Cloves</a>, the "
"Certificate is always NULL, no others are currently implemented."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:213
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"For <a href=\"%(i2np)s#msg_Garlic\">Garlic Messages</a>, the Certificate is "
"always NULL, no others are currently implemented."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:217
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"For <a href=\"#struct_Destination\">Destinations</a>, the Certificate may be non-NULL,\n"
"however non-NULL certs are not widely used, and any checking is left to the application-level."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:228
2013-06-05 10:00:16 +00:00
msgid "A set of key/value mappings or properties\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:232
2013-06-05 10:00:16 +00:00
msgid "A 2-byte size Integer followed by a series of String=String; pairs\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:259
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The encoding isn't optimal - we either need the '=' and ';' characters, or "
"the string lengths, but not both"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:263
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Some documentation says that the strings may not include '=' or ';' but this"
" encoding supports them"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:267
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Strings are defined to be UTF-8 but in the current implementation, I2CP uses UTF-8 but I2NP does not.\n"
2013-06-05 10:00:16 +00:00
"For example,\n"
2013-07-03 01:01:50 +00:00
"UTF-8 strings in a RouterInfo options mapping in a I2NP Database Store Message will be corrupted."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:273
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Mappings contained in I2NP messages (i.e. in a RouterAddress or RouterInfo)\n"
2013-06-05 10:00:16 +00:00
"must be sorted by key so that the signature will be invariant."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:278
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Key and value string length limits are 255 bytes (not characters) each, plus"
" the length byte. Length byte may be 0."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:282
2013-06-05 10:00:16 +00:00
msgid ""
"Total length limit is 65535 bytes, plus the 2 byte size field, or 65537 "
"total."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:291
2013-06-05 10:00:16 +00:00
msgid "Common structure specification"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:295
2013-06-05 10:00:16 +00:00
msgid "Defines the way to uniquely identify a particular router\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:299
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"#type_PublicKey\">PublicKey</a> followed by <a "
"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
"href=\"#type_Certificate\">Certificate</a>\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:336
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The certificate for a RouterIdentity is currently unused and is always NULL."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:344
2013-06-05 10:00:16 +00:00
msgid ""
"A Destination defines a particular endpoint to which messages can be "
"directed for secure delivery.\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:348
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"#type_PublicKey\">PublicKey</a> followed by a <a "
"href=\"#type_SigningPublicKey\">SigningPublicKey</a> and then a <a "
"href=\"#type_Certificate\">Certificate</a>\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:388
2013-06-05 10:00:16 +00:00
msgid ""
"Defines the authorization for a particular tunnel to receive messages "
"targeting a <a href=\"#struct_Destination\">Destination</a>.\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:392
2013-06-05 10:00:16 +00:00
msgid ""
"SHA256 <a href=\"#type_Hash\">Hash</a> of the\n"
2013-07-03 01:01:50 +00:00
"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> of the gateway router, then the <a href=\"#type_TunnelId\">TunnelId</a>, and finally an end <a href=\"#type_Date\">Date</a>\n"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:423
2013-06-05 10:00:16 +00:00
msgid "Total size: 44 bytes"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:433
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Contains all of the currently authorized <a href=\"#struct_Lease\">Lease</a>s for a particular <a href=\"#struct_Destination\">Destination</a>, the <a href=\"#type_PublicKey\">PublicKey</a> to which garlic messages can be encrypted,\n"
"and then the <a href=\"#type_SigningPublicKey\">public key</a> that can be used to revoke this particular version of the structure. The <a href=\"#struct_LeaseSet\">LeaseSet</a> is one of the two structures stored in the network database(\n"
"the other being <a href=\"#struct_RouterInfo\">RouterInfo</a>), and is keyed under the SHA256 of the contained <a href=\"#struct_Destination\">Destination</a>.\n"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:439
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"#struct_Destination\">Destination</a>, followed by a <a href=\"#type_PublicKey\">PublicKey</a> for encryption, then a <a href=\"#type_SigningPublicKey\">SigningPublicKey</a> which can be used to revoke this version of the <a href=\"#struct_LeaseSet\">LeaseSet</a>,\n"
"then a 1 byte <a href=\"#type_Integer\">Integer</a> specifying how many <a href=\"#struct_Lease\">Lease</a> structures are in the set, followed by the actual <a href=\"#struct_Lease\">Lease</a> structures and finally a <a href=\"#type_Signature\">Signature</a> of the previous\n"
"bytes signed by the <a href=\"#struct_Destination\">Destination's</a> <a href=\"#type_SigningPrivateKey\">SigningPrivateKey</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:531
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The public key of the destination was used for the old i2cp-to-i2cp encryption\n"
2013-06-05 10:00:16 +00:00
"which was disabled in version 0.6, it is currently unused?"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:536
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The encryption key is used for end-to-end <a href=\"%(elgamalaes)s\">ElGamal/AES+SessionTag</a> encryption.\n"
"It is currently generated anew at every router startup, it is not persistent."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:541
2013-06-05 10:00:16 +00:00
msgid ""
"The signature may be verified using the signing public key of the "
"destination."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:545
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The signing_key is currently unused. It was intended for LeaseSet revocation, which is unimplemented.\n"
"It is currently generated anew at every router startup, it is not persistent."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:549
msgid ""
2013-07-03 01:01:50 +00:00
"The earliest expiration of all the Leases is treated as the timestamp or version of the LeaseSet.\n"
"Routers will generally not accept a store of a LeaseSet unless it is \"newer\" than the current one.\n"
"Take care when publishing a new LeaseSet where the oldest Lease is the same as the oldest Lease\n"
"in the previous LeaseSet. The publishing router should generally increment the expiration\n"
2013-06-11 12:45:56 +00:00
"of the oldest Lease by at least 1 ms in that case."
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:556
msgid ""
2013-07-03 01:01:50 +00:00
"Prior to release 0.9.7, when included in a DatabaseStore Message sent by the originating router,\n"
"the router set all the published leases' expirations to the same value, that of the\n"
"earliest lease. As of release 0.9.7, the router publishes the actual lease expiration for each lease.\n"
"This is an implementation detail and not part of the structures specification."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:570
2013-06-05 10:00:16 +00:00
msgid ""
"This structure defines the means to contact a router through a transport "
"protocol.\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:574
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"1 byte <a href=\"#type_Integer\">Integer</a> defining the relative cost of using the address, where 0 is free and 255 is expensive, followed by the expiration <a href=\"#type_Date\">Date</a> after which the address should not be used, or if null, the address never expires.\n"
"After that comes a <a href=\"#type_String\">String</a> defining the transport protocol this router address uses. Finally there is a <a href=\"#type_Mapping\">Mapping</a> containing all of the transport specific options necessary to establish the connection, such as\n"
2013-06-05 10:00:16 +00:00
"IP address, port number, email address, URL, etc.\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:609
2013-06-05 10:00:16 +00:00
msgid "Cost is typically 5 or 6 for SSU, and 10 or 11 for NTCP."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:613
msgid ""
"Expiration is currently unused, always null (all zeroes)).\n"
2013-07-03 01:01:50 +00:00
"As of release 0.9.3, the expiration is assumed zero and not stored, so any non-zero expiration\n"
2013-06-11 12:45:56 +00:00
"will fail in the RouterInfo signature verification.\n"
2013-07-03 01:01:50 +00:00
"Implementing expiration (or another use for these bytes) will be a backwards-incompatible change."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:626
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Defines all of the data that a router wants to publish for the network to see. The <a href=\"#struct_RouterInfo\">RouterInfo</a> is one of two structures stored in the network database(the other being <a href=\"#struct_LeaseSet\">LeaseSet</a>, and is keyed under the SHA256 of\n"
2013-06-05 10:00:16 +00:00
"the contained <a href=\"#struct_RouterIdentity\">RouterIdentity</a>.\n"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/common-structures.html:631
2013-06-05 10:00:16 +00:00
msgid ""
"<a href=\"#struct_RouterIdentity\">RouterIdentity</a> followed by the <a "
"href=\"#type_Date\">Date</a>, when the entry was published\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:710
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The peer_size Integer may be followed by a list of that many router hashes.\n"
"This is currently unused. It was intended for a form of restricted routes, which is unimplemented.\n"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:715
2013-06-05 10:00:16 +00:00
msgid ""
"The signature may be verified using the signing public key of the "
"router_ident.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/common-structures.html:723
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"Defined in the <a href=\"%(tunnelmessage)s#delivery\">Tunnel Message "
"Specification</a>.\n"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:2
msgid "Configuration File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:7
msgid ""
"This page provides a general specification of I2P configuration files,\n"
"used by the router and various applications.\n"
2013-07-03 01:01:50 +00:00
"It also gives an overview of the information contained in the various files,\n"
2013-06-05 10:00:16 +00:00
"and links to detailed documentation where available."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:15
msgid "General Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:16
#, python-format
msgid ""
"An I2P configuration file is formatted as specified in\n"
"<a href=\"%(url)s\">Java Properties</a>\n"
"with the following exceptions:"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:22
msgid "Encoding must be UTF-8"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:23
msgid ""
2013-07-03 01:01:50 +00:00
"Does not use or recognize any escapes, including '\\', so lines may not be "
"continued"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:24
msgid "'#' or ';' starts a comment, but '!' does not"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:25
msgid ""
2013-07-03 01:01:50 +00:00
"'#' starts a comment in any position but ';' must be in column 1 to start a "
"comment"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:26
msgid "Leading and trailing whitespace is not trimmed on keys"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:27
msgid "Leading and trailing whitespace is trimmed on values"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:28
msgid "'=' is the only key-termination character (not ':' or whitespace)"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:29
msgid ""
"Lines without '=' are ignored. It does not store the key with a value of "
"\"\""
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:30
msgid ""
2013-07-03 01:01:50 +00:00
"As there are no escapes, keys may not contain '#', '=', or '\\n', or start "
"with ';'"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:31
msgid ""
2013-07-03 01:01:50 +00:00
"As there are no escapes, values may not contain '#' or '\\n', or start or "
"end with '\\r' or whitespace"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:34
msgid ""
"The file need not be sorted, but most applications do sort by key when\n"
"writing to the file, for ease of reading and manual editing."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:39
#, python-format
msgid ""
"Reads and writes are implemented in\n"
"<a href=\"%(url)s\">DataHelper loadProps() and storeProps()</a>.\n"
"Note that the file format is significantly different than the\n"
"serialized format for I2P protocols specified in\n"
"<a href=\"%(commonstructures)s#type_Mapping\">Mapping</a>."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:48
msgid "Core library and router"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:50
msgid "Clients"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:51
msgid "Configured via /configclients in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:55
msgid "Logger"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:56
msgid "Configured via /configlogging in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:60
msgid "Individual Plugin"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:61
#, python-format
msgid "See <a href=\"%(pluginspec)s\">the plugin specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:66
msgid "Enable/disable for each installed plugin."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:71
msgid "Configured via /configadvanced in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:78
msgid "See documentation in SusiDNS."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:83
msgid "Configured via the application gui."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:88
msgid "Configured via the /i2ptunnel application in the router console."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:92
msgid "Router Console"
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:93
msgid "The router console uses the router.config file."
msgstr ""
#: i2p2www/pages/site/docs/spec/configuration.html:98
msgid "See post on zzz.i2p."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:2
msgid "Datagram Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:6
msgid "See the Datagrams page for an overview of the Datagrams API."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:12
msgid "Non-Repliable Datagrams"
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:13
msgid ""
2013-07-03 01:01:50 +00:00
"Non-repliable datagrams have no 'from' address and are not authenticated.\n"
2013-06-05 10:00:16 +00:00
"They are also called \"raw\" datagrams.\n"
2013-07-03 01:01:50 +00:00
"Strictly speaking, they are not \"datagrams\" at all, they are just raw data.\n"
2013-06-05 10:00:16 +00:00
"They are not handled by the datagram API.\n"
"However, SAM and the I2PTunnel classes support \"raw datagrams\"."
msgstr ""
#: i2p2www/pages/site/docs/spec/datagrams.html:21
msgid "Format"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:32
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The practical length is limited by lower layers of protocols - the\n"
"<a href=\"%(tunnelmessage)s#notes\">tunnel message spec</a>\n"
"limits messages to about 61.2 KB and the\n"
"<a href=\"%(transports)s\">transports</a>\n"
2013-07-03 01:01:50 +00:00
"currently limit messages to about 32 KB, although this may be raised in the future."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:41
2013-06-05 10:00:16 +00:00
msgid "Repliable Datagrams"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:42
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Repliable datagrams contain a 'from' address and a signature. These add 427 "
"bytes of overhead."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:92
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The practical length is limited by lower layers of protocols - the\n"
"<a href=\"%(transports)s\">transports</a>\n"
2013-07-03 01:01:50 +00:00
"currently limit messages to about 32 KB, so the data length here is limited to about\n"
2013-06-05 10:00:16 +00:00
"31.5 KB."
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/docs/spec/datagrams.html:98
2013-06-11 12:45:56 +00:00
msgid "See important notes above about the reliability of large datagrams."
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:2
msgid "GeoIP File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:8
msgid ""
"This page specifies the format of the various GeoIP files,\n"
"used by the router to look up a country for an IP."
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:14
msgid "Country Name (countries.txt) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:15
msgid ""
2013-07-03 01:01:50 +00:00
"This format is easily generated from data files available from many public sources.\n"
2013-06-11 12:45:56 +00:00
"For example:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:33
msgid "IPv4 (geoip.txt) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:34
msgid ""
2013-07-03 01:01:50 +00:00
"This format is borrowed from Tor and is easily generated from data files available from many public sources.\n"
2013-06-11 12:45:56 +00:00
"For example:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:54
msgid "IPv6 (geoipv6.dat.gz) Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:55
msgid ""
"This is a compressed binary format designed for I2P.\n"
"The file is gzipped. Ungzipped format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/geoip.html:71
msgid "NOTES:"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/streaming.html:2
msgid "Streaming Library Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:6
msgid "See the Streaming page for an overview of the Streaming Library."
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:11
msgid "Packet Format"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:12
msgid "The format of a single packet in the streaming protocol is:"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:35
msgid "Length"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:83
msgid "Flags and Option Data Fields"
msgstr ""
#: i2p2www/pages/site/docs/spec/streaming.html:84
msgid ""
"The flags field above specifies some metadata about the packet, and in\n"
"turn may require certain additional data to be included. The flags are\n"
2013-07-03 01:01:50 +00:00
"as follows. Any data structures specified must be added to the options area\n"
2013-06-05 10:00:16 +00:00
"in the given order."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:2
msgid "I2P Software Update Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:7
msgid ""
"I2P uses a simple, yet secure, system for automated software update.\n"
2013-07-03 01:01:50 +00:00
"The router console periodically pulls a news file from a configurable I2P URL.\n"
2013-06-05 10:00:16 +00:00
"There is a hardcoded backup URL pointing to the project website, in case\n"
"the default project news host goes down."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:14
msgid ""
2013-07-03 01:01:50 +00:00
"The contents of the news file are displayed on the home page of the router console.\n"
"In addition, the news file contains the most recent version number of the software.\n"
2013-06-05 10:00:16 +00:00
"If the version is higher than the router's version number, it will\n"
"display an indication to the user that an update is available."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:21
msgid ""
2013-07-03 01:01:50 +00:00
"The router may optionally download, or download and install, the new version\n"
2013-06-05 10:00:16 +00:00
"if configured to do so."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:26
msgid "News File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:27
msgid "The news.xml file may contain the following elements:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:35
msgid ""
2013-07-03 01:01:50 +00:00
"The elements may be included inside XML comments to prevent interpretation by browsers.\n"
"The i2p.release element and version are required. All others are optional and are\n"
2013-06-05 10:00:16 +00:00
"currently unused."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:41
msgid ""
2013-07-03 01:01:50 +00:00
"The news source is trusted only to indicate that a new version is available.\n"
"It does not specify the URL of the update, the checksum, or any other information."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:47
msgid "Update File Specification"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:48
msgid ""
"The signed update file, traditionally named i2pupdate.sud,\n"
"is simply a zip file with a prepended 56 byte header.\n"
"The header contains:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:54
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A 40-byte <a href=\"%(commonstructures)s#type_signature\">DSA signature</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:57
2013-07-03 01:01:50 +00:00
msgid ""
"A 16-byte I2P version in UTF-8, padded with trailing zeroes if necessary"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:62
#, python-format
msgid ""
"The signature covers only the zip archive - not the prepended version.\n"
2013-07-03 01:01:50 +00:00
"The signature must match one of the <a href=\"%(commonstructures)s#type_SigningPublicKey\">DSA public keys</a> configured into the router,\n"
"which has a hardcoded default list of keys of the current project release managers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:68
msgid ""
2013-07-03 01:01:50 +00:00
"For version comparison purposes, version fields contain [0-9]*, field separators are\n"
2013-06-05 10:00:16 +00:00
"'-', '_', and '.', and all other characters are ignored."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:73
msgid ""
2013-07-03 01:01:50 +00:00
"As of version 0.8.8, the version must also be specified as a zip file comment in UTF-8,\n"
2013-06-05 10:00:16 +00:00
"without the trailing zeroes.\n"
2013-07-03 01:01:50 +00:00
"The updating router verifes that the version in the header (not covered by the signature)\n"
"matches the version in the zip file comment, which is covered by the signature.\n"
2013-06-05 10:00:16 +00:00
"This prevents spoofing of the version number in the header."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:81
msgid "Download and Installation"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:82
msgid ""
2013-07-03 01:01:50 +00:00
"The router first downloads the header of the update file from one in a configurable list of I2P URLs,\n"
2013-06-05 10:00:16 +00:00
"using the built-in HTTP client and proxy,\n"
"and checks that the version is newer.\n"
2013-07-03 01:01:50 +00:00
"This prevents the problem of update hosts that do not have the latest file.\n"
2013-06-05 10:00:16 +00:00
"The router then downloads the full update file.\n"
2013-07-03 01:01:50 +00:00
"The router verifies that the update file version is newer before installation.\n"
2013-06-05 10:00:16 +00:00
"It also, of course, verifies the signature, and\n"
2013-07-03 01:01:50 +00:00
"verifes that the zip file comment matches the header version, as explained above."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:93
msgid "The zip file is extracted in the base $I2P installation directory."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:97
msgid ""
"As of release 0.7.12, the router supports Pack200 decompression.\n"
"Files inside the zip archive with a .jar.pack or .war.pack suffix\n"
"are transparently decompressed to a .jar or .war file.\n"
2013-07-03 01:01:50 +00:00
"Update files containing .pack files are traditionally named with a '.su2' suffix.\n"
2013-06-05 10:00:16 +00:00
"Pack200 shrinks the update files by about 60%."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:105
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.8.7, the router will delete the libjbigi.so and libjcpuid.so files\n"
"if the zip archive contains a lib/jbigi.jar file, so that the new files will\n"
2013-06-05 10:00:16 +00:00
"be extracted from jbigi.jar."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:111
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.8.12, if the zip archive contains a file deletelist.txt, the router will\n"
2013-06-05 10:00:16 +00:00
"delete the files listed there. The format is:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:116
msgid "One file name per line"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:117
msgid ""
2013-07-03 01:01:50 +00:00
"All file names are relative to the installation directory; no absolute file "
"names allowed, no files starting with \"..\""
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:118
msgid "Comments start with '#'"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:121
msgid "The router will then delete the deletelist.txt file."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:126
msgid "New \"su3\" Update File Specification"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:128
2013-06-11 12:45:56 +00:00
msgid "This specification is preliminary and is not yet implemented."
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:132
msgid "Issues with existing .sud/.su2 format:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:134
msgid "No magic number or flags"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:137
msgid "No way to specify compression, pack200 or not, or signing algo"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:140
msgid ""
"Version is not covered by signature, so it is enforced by requiring it\n"
"to be in the zip file comment (for router files) or in the plugin.config\n"
"file (for plugins)"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:145
msgid "Signer not specified so verifier must try all known keys"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:148
msgid "Signature-before-data format requires two passes to generate file"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:154
msgid "Goals:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:157
msgid "Fix above problems"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:160
msgid "Migrate to more secure signature algorithm"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:163
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"Keep version info in same format and offset for compatibility with\n"
"existing version checkers"
2013-06-06 01:31:38 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:169
msgid "Specification:"
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:217
2013-07-03 01:01:50 +00:00
msgid ""
"All unused fields must be set to 0 for compatibility with future versions."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/pages/site/docs/spec/updates.html:224
2013-06-05 10:00:16 +00:00
msgid ""
"The network will eventually grow too large for update over HTTP.\n"
2013-07-03 01:01:50 +00:00
"The built-in BitTorrent client, i2psnark, may be used as a distributed update method.\n"
2013-06-11 12:45:56 +00:00
"This development effort is ongoing and should be completed by late 2013."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/spec/updates.html:229
2013-06-05 10:00:16 +00:00
msgid ""
"The router update mechanism is part of the web router console.\n"
2013-07-03 01:01:50 +00:00
"There is currently no provision for updates of an embedded router lacking the router console."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:2
msgid "Transport Overview"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:3
msgid "April 2013"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/docs/transport/index.html:6
msgid "Transports in I2P"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:8
msgid ""
2013-07-03 01:01:50 +00:00
"A \"transport\" in I2P is a method for direct, point-to-point communication\n"
2013-06-05 10:00:16 +00:00
"between two routers.\n"
"Transports must provide confidentiality and integrity \n"
2013-07-03 01:01:50 +00:00
"against external adversaries while authenticating that the router contacted \n"
2013-06-05 10:00:16 +00:00
"is the one who should receive a given message."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:16
msgid ""
"I2P supports multiple transports simultaneously.\n"
"There are two transports currently implemented:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:21
#, python-format
msgid "<a href=\"%(ntcp)s\">NTCP</a>, a Java New I/O (NIO) TCP transport"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:22
#, python-format
msgid " <a href=\"%(ssu)s\">SSU</a>, or Secure Semireliable UDP"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:25
msgid ""
"Each provides a \"connection\" paradigm, with authentication,\n"
"flow control, acknowledgments and retransmission."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:31
msgid "Transport Services"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:33
msgid "The transport subsystem in I2P provides the following services:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:37
msgid ""
"Maintain a set of router addresses, one or more for each transport,\n"
2013-07-03 01:01:50 +00:00
"that the router publishes as its global contact information (the RouterInfo)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:41
msgid "Selection of the best transport for each outgoing message"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:42
msgid "Queueing of outbound messages by priority"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:43
msgid ""
"Bandwidth limiting, both outbound and inbound, according to router "
"configuration"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:44
msgid "Setup and teardown of transport connections"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:45
msgid "Encryption of point-to-point communications"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:46
msgid ""
2013-07-03 01:01:50 +00:00
"Maintenance of connection limits for each transport, implementation of various thresholds for these limits,\n"
"and communication of threshold status to the router so it may make operational changes based on the status"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:50
msgid "Firewall port opening using UPnP (Universal Plug and Play)"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:51
msgid "Cooperative NAT/Firewall traversal"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:52
msgid ""
"Local IP detection by various methods, including UPnP, inspection of "
"incoming connections, and enumeration of network devices"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"Coordination of firewall status and local IP, and changes to either, among "
"the transports"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:54
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:32
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Communication of firewall status and local IP, and changes to either, to the"
" router and the user interface"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:55
msgid ""
2013-07-03 01:01:50 +00:00
"Determination of a consensus clock, which is used to periodically update the"
" router's clock, as a backup for NTP"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:56
msgid ""
2013-07-03 01:01:50 +00:00
"Maintenance of status for each peer, including whether it is connected, whether it was recently connected,\n"
2013-06-05 10:00:16 +00:00
"and whether it was reachable in the last attempt"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:60
msgid "Qualification of valid IP addresses according to a local rule set"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:61
msgid ""
2013-07-03 01:01:50 +00:00
"Honoring the automated and manual lists of banned peers maintained by the router,\n"
2013-06-05 10:00:16 +00:00
"and refusing outbound and inbound connections to those peers"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:68
msgid "Transport Addresses"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:70
msgid ""
2013-07-03 01:01:50 +00:00
"The transport subsystem maintains a set of router addresses, each of which lists a transport method, IP, and port.\n"
"These addresses constitute the advertised contact points, and are published by the router to the network database."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:75
msgid "Typical scenarios are:"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:77
msgid ""
"A router has no published addresses, so it is considered \"hidden\" and "
"cannot receive incoming connections"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:78
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A router is firewalled, and therefore publishes an SSU address which contains a list of cooperating\n"
"peers or \"introducers\" who will assist in NAT traversal (see <a href=\"%(ssu)s\">the SSU spec</a> for details)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:82
msgid ""
2013-07-03 01:01:50 +00:00
"A router is not firewalled or its NAT ports are open; it publishes both NTCP and SSU addresses containing\n"
2013-06-05 10:00:16 +00:00
"directly-accessible IP and ports."
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:88
msgid "Transport Selection"
msgstr ""
#: i2p2www/pages/site/docs/transport/index.html:90
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The transport system delivers <a href=\"%(i2np)s\">I2NP messages</a>. The transport selected for any message is\n"
"independent of the upper-layer protocols and contents (router or client messages, whether an external application was using\n"
2013-06-11 12:45:56 +00:00
"TCP or UDP to connect to I2P, whether the upper layer was using\n"
"<a href=\"%(streaming)s\">the streaming library</a>\n"
"streaming\n"
"or\n"
"<a href=\"%(datagrams)s\">datagrams</a>,\n"
"datagrams\n"
"etc.)."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:104
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"For each outgoing message, the transport system solicits \"bids\" from each transport.\n"
"The transport bidding the lowest (best) value wins the bid and receives the message for delivery.\n"
2013-06-05 10:00:16 +00:00
"A transport may refuse to bid."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:110
2013-07-03 01:01:50 +00:00
msgid ""
"Whether a transport bids, and with what value, depend on numerous factors:"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:114
2013-06-05 10:00:16 +00:00
msgid "Configuration of transport preferences"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:115
2013-06-05 10:00:16 +00:00
msgid "Whether the transport is already connected to the peer"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:116
2013-06-05 10:00:16 +00:00
msgid ""
"The number of current connections compared to various connection limit "
"thresholds"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:117
2013-06-05 10:00:16 +00:00
msgid "Whether recent connection attempts to the peer have failed"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:118
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The size of the message, as different transports have different size limits"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:119
2013-06-05 10:00:16 +00:00
msgid ""
"Whether the peer can accept incoming connections for that transport, as "
"advertised in its RouterInfo"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:120
2013-07-03 01:01:50 +00:00
msgid ""
"Whether the connection would be indirect (requiring introducers) or direct"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:121
2013-06-05 10:00:16 +00:00
msgid "The peer's transport preference, as advertised in its RouterInfo"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:124
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"In general, the bid values are selected so that two routers are only connected by a single transport\n"
2013-06-05 10:00:16 +00:00
"at any one time. However, this is not a requirement."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:131
2013-06-05 10:00:16 +00:00
msgid "New Transports and Future Work"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:133
2013-06-05 10:00:16 +00:00
msgid "Additional transports may be developed, including:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:138
2013-06-05 10:00:16 +00:00
msgid "A TLS/SSH look-alike transport"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:139
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"An \"indirect\" transport for routers that are not reachable by all other "
"routers (one form of \"restricted routes\")"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:142
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"IPv6: The existing transports must be enhanced to support multiple addresses within a single transport,\n"
"including IPV6 addresses. Currently, a transport may only advertise a single IPV4 address.\n"
2013-06-11 12:45:56 +00:00
"See <a href=\"%(thread)s\">this thread</a> for discussion."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:148
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Work continues on adjusting default connection limits for each transport.\n"
"I2P is designed as a \"mesh network\", where it is assumed that any router can connect to any other router.\n"
"This assumption may be broken by routers that have exceeded their connection limits, and by\n"
2013-06-05 10:00:16 +00:00
"routers that are behind restrictive state firewalls (restricted routes)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:155
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The current connection limits are higher for SSU than for NTCP, based on the assumption that\n"
"the memory requirements for an NTCP connection are higher than that for SSU.\n"
"However, as NTCP buffers are partially in the kernel and SSU buffers are on the Java heap,\n"
2013-06-05 10:00:16 +00:00
"that assumption is difficult to verify."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/index.html:162
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Analyze <a href=\"%(pdf)s\">Breaking and Improving Protocol Obfuscation</a>\n"
2013-06-05 10:00:16 +00:00
"and see how transport-layer padding may improve things."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:6
msgid "NTCP (NIO-based TCP)"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:8
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"NTCP is one of two <a href=\"%(transports)s\">transports</a> currently implemented in I2P.\n"
2013-06-05 10:00:16 +00:00
"The other is <a href=\"%(ssu)s\">SSU</a>.\n"
"NTCP is a Java NIO-based transport introduced in I2P release 0.6.1.22.\n"
2013-07-03 01:01:50 +00:00
"Java NIO (new I/O) does not suffer from the 1 thread per connection issues of the old TCP transport."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:15
msgid ""
"By default, NTCP uses the IP/Port\n"
"auto-detected by SSU. When enabled on config.jsp,\n"
"SSU will notify/restart NTCP when the external address changes\n"
"or when the firewall status changes.\n"
"Now you can enable inbound TCP without a static IP or dyndns service."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:23
msgid ""
2013-07-03 01:01:50 +00:00
"The NTCP code within I2P is relatively lightweight (1/4 the size of the SSU code)\n"
2013-06-05 10:00:16 +00:00
"because it uses the underlying Java TCP transport for reliable delivery."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:29
msgid "NTCP Protocol Specification"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:31
msgid "Standard Message Format"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:32
msgid ""
"After establishment,\n"
2013-07-03 01:01:50 +00:00
"the NTCP transport sends individual I2NP messages, with a simple checksum.\n"
2013-06-05 10:00:16 +00:00
"The unencrypted message is encoded as follows:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:42
msgid ""
2013-07-03 01:01:50 +00:00
"The data is then AES/256/CBC encrypted. The session key for the encryption\n"
2013-06-05 10:00:16 +00:00
"is negotiated during establishment (using Diffie-Hellman 2048 bit).\n"
2013-07-03 01:01:50 +00:00
"The establishment between two routers is implemented in the EstablishState class\n"
2013-06-05 10:00:16 +00:00
"and detailed below.\n"
2013-07-03 01:01:50 +00:00
"The IV for AES/256/CBC encryption is the last 16 bytes of the previous encrypted message."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:50
msgid ""
"0-15 bytes of padding are required to bring the total message length\n"
"(including the six size and checksum bytes) to a multiple of 16.\n"
"The maximum message size is currently 16 KB.\n"
"Therefore the maximum data size is currently 16 KB - 6, or 16378 bytes.\n"
"The minimum data size is 1."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:58
msgid "Time Sync Message Format"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:59
msgid ""
"One special case is a metadata message where the sizeof(data) is 0. In\n"
"that case, the unencrypted message is encoded as:"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:70
msgid ""
2013-07-03 01:01:50 +00:00
"Total length: 16 bytes. The time sync message is sent at approximately 15 minute intervals.\n"
2013-06-05 10:00:16 +00:00
"The message is encrypted just as standard messages are."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:76
msgid "Checksums"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:77
#, python-format
msgid ""
"The standard and time sync messages use the Adler-32 checksum\n"
"as defined in the <a href=\"%(rfc1950)s\">ZLIB Specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:83
msgid "Establishment Sequence"
msgstr ""
#: i2p2www/pages/site/docs/transport/ntcp.html:84
msgid ""
2013-07-03 01:01:50 +00:00
"In the establish state, there is a 4-phase message sequence to exchange DH keys and signatures.\n"
2013-06-05 10:00:16 +00:00
"In the first two messages there is a 2048-bit Diffie Hellman exchange.\n"
2013-07-03 01:01:50 +00:00
"Then, DSA signatures of the critical data are exchanged to confirm the connection."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:98
2013-06-05 10:00:16 +00:00
msgid "Legend:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:99
2013-06-05 10:00:16 +00:00
msgid "256 byte DH public keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:103
2013-06-05 10:00:16 +00:00
msgid "timestamps (4 bytes, seconds since epoch)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:104
2013-06-05 10:00:16 +00:00
msgid "32 byte Session key"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:105
2013-06-05 10:00:16 +00:00
msgid "2 byte size of Alice identity to follow"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:108
2013-06-05 10:00:16 +00:00
msgid "DH Key Exchange"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:109
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The initial 2048-bit DH key exchange\n"
"uses the same shared prime (p) and generator (g) as that used for I2P's\n"
"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:115
2013-06-05 10:00:16 +00:00
msgid ""
"The DH key exchange consists of a number of steps, displayed below.\n"
2013-07-03 01:01:50 +00:00
"The mapping between these steps and the messages sent between I2P routers,\n"
2013-06-05 10:00:16 +00:00
"is marked in bold."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:121
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Alice generates a secret 226-bit integer x. She then calculates <code>X = "
"g^x mod p</code>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:122
2013-06-05 10:00:16 +00:00
msgid "Alice sends X to Bob <b>(Message 1)</b>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:123
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Bob generates a secret 226-bit integer y. He then calculates <code>Y = g^y "
"mod p</code>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:124
2013-06-05 10:00:16 +00:00
msgid "Bob sends Y to Alice.<b>(Message 2)</b>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:125
2013-06-05 10:00:16 +00:00
msgid "Alice can now compute <code>sessionKey = Y^x mod p</code>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:126
2013-06-05 10:00:16 +00:00
msgid "Bob can now compute <code>sessionKey = X^y mod p</code>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:127
2013-06-05 10:00:16 +00:00
msgid ""
"Both Alice and Bob now have a shared key <code>sessionKey = g^(x*y) mod "
"p</code>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:129
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The sessionKey is then used to exchange identities in <b>Message 3</b> and "
"<b>Message 4</b>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:133
2013-06-05 10:00:16 +00:00
msgid "Message 1 (Session Request)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:134
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"This is the DH request. Alice already has Bob's\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>,\n"
2013-06-05 10:00:16 +00:00
"IP address, and port, as contained in his\n"
"<a href=\"%(commonstructures)s#struct_RouterInfo\">Router Info</a>,\n"
"which was published to the\n"
"<a href=\"%(netdb)s\">network database</a>.\n"
"Alice sends Bob:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:147
#: i2p2www/pages/site/docs/transport/ntcp.html:190
#: i2p2www/pages/site/docs/transport/ntcp.html:270
#: i2p2www/pages/site/docs/transport/ntcp.html:353
2013-06-05 10:00:16 +00:00
msgid "Size:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:149
2013-06-05 10:00:16 +00:00
msgid "Contents:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:167
2013-06-05 10:00:16 +00:00
msgid "256 byte X from Diffie Hellman"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:169
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"SHA256 Hash(X) xored with SHA256 Hash(Bob's <a "
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:176
#: i2p2www/pages/site/docs/transport/ntcp.html:257
#: i2p2www/pages/site/docs/transport/ntcp.html:334
2013-06-05 10:00:16 +00:00
msgid "Notes:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:177
2013-06-05 10:00:16 +00:00
msgid ""
"Bob verifies HXxorHI using his own router hash. If it does not verify,\n"
"Alice has contacted the wrong router, and Bob drops the connection."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:183
2013-06-05 10:00:16 +00:00
msgid "Message 2 (Session Created)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:184
2013-06-05 10:00:16 +00:00
msgid "This is the DH reply. Bob sends Alice:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:192
#: i2p2www/pages/site/docs/transport/ntcp.html:272
#: i2p2www/pages/site/docs/transport/ntcp.html:355
2013-06-05 10:00:16 +00:00
msgid "Unencrypted Contents:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:214
#: i2p2www/pages/site/docs/transport/ntcp.html:248
2013-06-05 10:00:16 +00:00
msgid "256 byte Y from Diffie Hellman"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:216
2013-06-05 10:00:16 +00:00
msgid "SHA256 Hash(X concatenated with Y)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:219
#: i2p2www/pages/site/docs/transport/ntcp.html:304
2013-06-05 10:00:16 +00:00
msgid "4 byte timestamp (seconds since the epoch)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:221
2013-06-05 10:00:16 +00:00
msgid "12 bytes random data"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:226
#: i2p2www/pages/site/docs/transport/ntcp.html:316
#: i2p2www/pages/site/docs/transport/ntcp.html:383
2013-06-05 10:00:16 +00:00
msgid "Encrypted Contents:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:250
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"48 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH session key and\n"
2013-06-05 10:00:16 +00:00
" the last 16 bytes of Y as the IV"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:258
2013-06-05 10:00:16 +00:00
msgid ""
"Alice may drop the connection if the clock skew with Bob is too high as "
"calculated using tsB."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:263
2013-06-05 10:00:16 +00:00
msgid "Message 3 (Session Confirm A)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:264
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"This contains Alice's router identity, and a DSA signature of the critical "
"data. Alice sends Bob:"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:298
2013-07-03 01:01:50 +00:00
msgid ""
"2 byte size of Alice's router identity to follow (should always be 387)"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:300
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"Alice's 387 byte <a "
"href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:306
2013-06-05 10:00:16 +00:00
msgid "15 bytes random data"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:308
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA signature</a> of the following concatenated data:\n"
" X, Y, Bob's <a href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, tsA, tsB.\n"
" Alice signs it with the <a href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing key</a> associated with the <a href=\"%(commonstructures)s#type_SigningPublicKey\">public signing key</a> in her <a href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:326
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"448 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH session key and\n"
" the last 16 bytes of HXxorHI (i.e., the last 16 bytes of message #1) as the IV"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:336
2013-06-05 10:00:16 +00:00
msgid "Bob verifies the signature, and on failure, drops the connection."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:339
2013-06-05 10:00:16 +00:00
msgid ""
"Bob may drop the connection if the clock skew with Alice is too high as "
"calculated using tsA."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:346
2013-06-05 10:00:16 +00:00
msgid "Message 4 (Session Confirm B)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:347
2013-06-05 10:00:16 +00:00
msgid "This is a DSA signature of the critical data. Bob sends Alice:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:372
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"the 40 byte <a href=\"%(commonstructures)s#type_Signature\">DSA signature</a> of the following concatenated data:\n"
" X, Y, Alice's <a href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>, tsA, tsB.\n"
" Bob signs it with the <a href=\"%(commonstructures)s#type_SigningPrivateKey\">private signing key</a> associated with the <a href=\"%(commonstructures)s#type_SigningPublicKey\">public signing key</a> in his <a href=\"%(commonstructures)s#struct_RouterIdentity\">Router Identity</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:378
2013-06-05 10:00:16 +00:00
msgid "8 bytes random data"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:393
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"48 bytes <a href=\"%(cryptography)s#AES\">AES encrypted</a> using the DH session key and\n"
" the last 16 bytes of the encrypted contents of message #2 as the IV"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:401
2013-06-05 10:00:16 +00:00
msgid "Alice verifies the signature, and on failure, drops the connection."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:408
2013-06-05 10:00:16 +00:00
msgid "After Establishment"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:409
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The connection is established, and standard or time sync messages may be exchanged.\n"
"All subsequent messages are AES encrypted using the negotiated DH session key.\n"
"Alice will use the last 16 bytes of the encrypted contents of message #3 as the next IV.\n"
"Bob will use the last 16 bytes of the encrypted contents of message #4 as the next IV."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:418
2013-06-05 10:00:16 +00:00
msgid "Check Connection Message"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:419
2013-06-05 10:00:16 +00:00
msgid ""
"Alternately, when Bob receives a connection, it could be a\n"
"check connection (perhaps prompted by Bob asking for someone\n"
"to verify his listener).\n"
"Check Connection is not currently used.\n"
"However, for the record, check connections are formatted as follows.\n"
"A check info connection will receive 256 bytes containing:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:428
2013-06-05 10:00:16 +00:00
msgid "32 bytes of uninterpreted, ignored data"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:429
2013-06-05 10:00:16 +00:00
msgid "1 byte size"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:430
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"that many bytes making up the local router's IP address (as reached by the "
"remote side)"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:431
2013-06-05 10:00:16 +00:00
msgid "2 byte port number that the local router was reached on"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:432
2013-06-05 10:00:16 +00:00
msgid ""
"4 byte i2p network time as known by the remote side (seconds since the "
"epoch)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:433
2013-06-05 10:00:16 +00:00
msgid "uninterpreted padding data, up to byte 223"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:434
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"xor of the local router's identity hash and the SHA256 of bytes 32 through "
"bytes 223"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:438
2013-06-05 10:00:16 +00:00
msgid "Discussion"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:439
2013-06-05 10:00:16 +00:00
#, python-format
msgid "Now on the <a href=\"%(ntcpdisc)s\">NTCP Discussion Page</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:445
2013-06-05 10:00:16 +00:00
msgid "The maximum message size should be increased to approximately 32 KB."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:449
2013-06-05 10:00:16 +00:00
msgid ""
"A set of fixed packet sizes may be appropriate to further hide the data \n"
2013-07-03 01:01:50 +00:00
"fragmentation to external adversaries, but the tunnel, garlic, and end to \n"
2013-06-05 10:00:16 +00:00
"end padding should be sufficient for most needs until then.\n"
2013-07-03 01:01:50 +00:00
"However, there is currently no provision for padding beyond the next 16-byte boundary,\n"
2013-06-05 10:00:16 +00:00
"to create a limited number of message sizes."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:457
2013-06-05 10:00:16 +00:00
msgid ""
"Memory utilization (including that of the kernel) for NTCP should be "
"compared to that for SSU."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:461
2013-06-05 10:00:16 +00:00
msgid ""
"Can the establishment messages be randomly padded somehow, to frustrate\n"
"identification of I2P traffic based on initial packet sizes?"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ntcp.html:466
2013-06-05 10:00:16 +00:00
msgid "Review and possibly disable 'check connection'"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:2
msgid "SSU Transport"
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:6
msgid "Secure Semireliable UDP"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:9
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"SSU (also called \"UDP\" in much of the I2P documentation and user interfaces)\n"
"is one of two <a href=\"%(transports)s\">transports</a> currently implemented in I2P.\n"
2013-06-05 10:00:16 +00:00
"The other is <a href=\"%(ntcp)s\">NTCP</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:15
2013-06-05 10:00:16 +00:00
msgid ""
"SSU is the newer of the two transports,\n"
"introduced in I2P release 0.6.\n"
2013-07-03 01:01:50 +00:00
"In a standard I2P installation, the router uses both NTCP and SSU for outbound connections."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:21
2013-06-05 10:00:16 +00:00
msgid "SSU Services"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:23
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Like the NTCP transport, SSU provides reliable, encrypted, connection-oriented, point-to-point data transport.\n"
"Unique to SSU, it also provides IP detection and NAT traversal services, including:"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:29
2013-06-05 10:00:16 +00:00
msgid ""
"Cooperative NAT/Firewall traversal using <a "
"href=\"#introduction\">introducers</a>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:30
2013-06-05 10:00:16 +00:00
msgid ""
"Local IP detection by inspection of incoming packets and <a "
"href=\"#peerTesting\">peer testing</a>"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:31
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Communication of firewall status and local IP, and changes to either to NTCP"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:36
2013-06-05 10:00:16 +00:00
msgid "Protocol Details"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:38
2013-06-05 10:00:16 +00:00
msgid "Congestion control"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:40
2013-06-05 10:00:16 +00:00
msgid ""
"SSU's need for only semireliable delivery, TCP-friendly operation,\n"
"and the capacity for high throughput allows a great deal of latitude in\n"
"congestion control. The congestion control algorithm outlined below is\n"
"meant to be both efficient in bandwidth as well as simple to implement."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:47
2013-06-05 10:00:16 +00:00
msgid ""
"Packets are scheduled according to the router's policy, taking care\n"
"not to exceed the router's outbound capacity or to exceed the measured \n"
"capacity of the remote peer. The measured capacity operates along the\n"
2013-07-03 01:01:50 +00:00
"lines of TCP's slow start and congestion avoidance, with additive increases\n"
"to the sending capacity and multiplicative decreases in face of congestion.\n"
2013-06-05 10:00:16 +00:00
"Unlike for TCP, routers may give up on some messages after\n"
2013-07-03 01:01:50 +00:00
"a given period or number of retransmissions while continuing to transmit \n"
2013-06-05 10:00:16 +00:00
"other messages."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:58
2013-06-05 10:00:16 +00:00
msgid ""
"The congestion detection techniques vary from TCP as well, since each \n"
2013-07-03 01:01:50 +00:00
"message has its own unique and nonsequential identifier, and each message\n"
"has a limited size - at most, 32KB. To efficiently transmit this feedback\n"
2013-06-05 10:00:16 +00:00
"to the sender, the receiver periodically includes a list of fully ACKed \n"
2013-07-03 01:01:50 +00:00
"message identifiers and may also include bitfields for partially received\n"
2013-06-05 10:00:16 +00:00
"messages, where each bit represents the reception of a fragment. If \n"
"duplicate fragments arrive, the message should be ACKed again, or if the\n"
"message has still not been fully received, the bitfield should be \n"
"retransmitted with any new updates."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:70
2013-06-05 10:00:16 +00:00
msgid ""
"The current implementation does not pad the packets to\n"
2013-07-03 01:01:50 +00:00
"any particular size, but instead just places a single message fragment into\n"
2013-06-05 10:00:16 +00:00
"a packet and sends it off (careful not to exceed the MTU)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:77
2013-06-05 10:00:16 +00:00
msgid ""
"As of router version 0.8.12,\n"
2013-06-11 12:45:56 +00:00
"two MTU values are used for IPv4: 620 and 1484.\n"
2013-07-03 01:01:50 +00:00
"The MTU value is adjusted based on the percentage of packets that are retransmitted."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:83
2013-06-05 10:00:16 +00:00
msgid ""
"For both MTU values, it is desirable that (MTU % 16) == 12, so that\n"
"the payload portion after the 28-byte IP/UDP header is a multiple of\n"
2013-06-11 12:45:56 +00:00
"16 bytes, for encryption purposes."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:89
msgid ""
"For the small MTU value, it is desirable to pack a 2646-byte\n"
"Variable Tunnel Build Message efficiently into multiple packets;\n"
"with a 620-byte MTU, it fits into 5 packets with nicely."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:95
msgid ""
2013-07-03 01:01:50 +00:00
"Based on measurements, 1492 fits nearly all reasonably small I2NP messages\n"
"(larger I2NP messages may be up to 1900 to 4500 bytes, which isn't going to fit\n"
2013-06-05 10:00:16 +00:00
"into a live network MTU anyway)."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:101
msgid ""
"The MTU values were 608 and 1492 for releases 0.8.9 - 0.8.11.\n"
"The large MTU was 1350 prior to release 0.8.9."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:106
msgid ""
"The maximum receive packet size\n"
"is 1571 bytes as of release 0.8.12.\n"
"For releases 0.8.9 - 0.8.11 it was 1535 bytes.\n"
"Prior to release 0.8.9 it was 2048 bytes."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:113
msgid ""
2013-07-03 01:01:50 +00:00
"As of release 0.9.2, if a router's network interface MTU is less than 1484,\n"
2013-06-05 10:00:16 +00:00
"it will publish that in the network database, and other routers should\n"
"honor that when a connection is established."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:119
2013-06-11 12:45:56 +00:00
msgid ""
"For IPv6, the minimum MTU is 1280. The IPv6 IP/UDP header is 48 bytes,\n"
"so we use an MTU where (MTN % 16 == 0), which is true for 1280."
msgstr ""
#: i2p2www/pages/site/docs/transport/ssu.html:124
2013-06-05 10:00:16 +00:00
msgid "Message Size Limits"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:125
2013-06-05 10:00:16 +00:00
msgid ""
"While the maximum message size is nominally 32KB, the practical\n"
2013-07-03 01:01:50 +00:00
"limit differs. The protocol limits the number of fragments to 7 bits, or 128.\n"
"The current implementation, however, limits each message to a maximum of 64 fragments,\n"
2013-06-05 10:00:16 +00:00
"which is sufficient for 64 * 534 = 33.3 KB when using the 608 MTU.\n"
2013-07-03 01:01:50 +00:00
"Due to overhead for bundled LeaseSets and session keys, the practical limit\n"
2013-06-05 10:00:16 +00:00
"at the application level is about 6KB lower, or about 26KB.\n"
"Further work is necessary to raise the UDP transport limit above 32KB.\n"
"For connections using the larger MTU, larger messages are possible."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:136
2013-06-05 10:00:16 +00:00
msgid "Keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:138
2013-06-05 10:00:16 +00:00
msgid ""
"All encryption used is AES256/CBC with 32 byte keys and 16 byte IVs.\n"
"The MAC and session keys are negotiated as part of the DH exchange, used\n"
"for the HMAC and encryption, respectively. Prior to the DH exchange, \n"
"the publicly knowable introKey is used for the MAC and encryption."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:145
2013-06-05 10:00:16 +00:00
msgid ""
"When using the introKey, both the initial message and any subsequent\n"
"reply use the introKey of the responder (Bob) - the responder does \n"
"not need to know the introKey of the requester (Alice). The DSA \n"
"signing key used by Bob should already be known to Alice when she \n"
"contacts him, though Alice's DSA key may not already be known by \n"
"Bob."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:154
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Upon receiving a message, the receiver checks the \"from\" IP address and port\n"
2013-06-05 10:00:16 +00:00
"with all established sessions - if there are matches,\n"
"that session's MAC keys are tested in the HMAC. If none\n"
"of those verify or if there are no matching IP addresses, the \n"
"receiver tries their introKey in the MAC. If that does not verify,\n"
"the packet is dropped. If it does verify, it is interpreted \n"
"according to the message type, though if the receiver is overloaded,\n"
"it may be dropped anyway."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:165
2013-06-05 10:00:16 +00:00
msgid ""
"If Alice and Bob have an established session, but Alice loses the \n"
"keys for some reason and she wants to contact Bob, she may at any \n"
"time simply establish a new session through the SessionRequest and\n"
"related messages. If Bob has lost the key but Alice does not know\n"
"that, she will first attempt to prod him to reply, by sending a \n"
"DataMessage with the wantReply flag set, and if Bob continually \n"
"fails to reply, she will assume the key is lost and reestablish a \n"
"new one."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:176
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"For the DH key agreement,\n"
"<a href=\"%(rfc3526)s\">RFC3526</a> 2048bit\n"
"MODP group (#14) is used:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:186
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"These are the same p and g used for I2P's\n"
"<a href=\"%(cryptography)s#elgamal\">ElGamal encryption</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:191
2013-06-05 10:00:16 +00:00
msgid "Replay prevention"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:193
2013-06-05 10:00:16 +00:00
msgid ""
"Replay prevention at the SSU layer occurs by rejecting packets \n"
"with exceedingly old timestamps or those which reuse an IV. To\n"
"detect duplicate IVs, a sequence of Bloom filters are employed to\n"
"\"decay\" periodically so that only recently added IVs are detected."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:200
2013-06-05 10:00:16 +00:00
msgid ""
"The messageIds used in DataMessages are defined at layers above\n"
"the SSU transport and are passed through transparently. These IDs\n"
"are not in any particular order - in fact, they are likely to be\n"
"entirely random. The SSU layer makes no attempt at messageId \n"
"replay prevention - higher layers should take that into account."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:208
2013-06-05 10:00:16 +00:00
msgid "Addressing"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:210
2013-06-05 10:00:16 +00:00
msgid ""
"To contact an SSU peer, one of two sets of information is necessary:\n"
"a direct address, for when the peer is publicly reachable, or an\n"
"indirect address, for using a third party to introduce the peer.\n"
"There is no restriction on the number of addresses a peer may have."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:222
2013-06-05 10:00:16 +00:00
msgid ""
"Each of the addresses may also expose a series of options - special\n"
"capabilities of that particular peer. For a list of available\n"
"capabilities, see <a href=\"#capabilities\">below</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:228
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The addresses, options, and capabilities are published in the <a "
"href=\"%(netdb)s\">network database</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:233
2013-06-05 10:00:16 +00:00
msgid "Direct Session Establishment"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:234
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Direct session establishment is used when no third party is required for NAT traversal.\n"
2013-06-05 10:00:16 +00:00
"The message sequence is as follows:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:239
2013-06-05 10:00:16 +00:00
msgid "Connection establishment (direct)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:240
2013-06-05 10:00:16 +00:00
msgid "Alice connects directly to Bob."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:254
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"After the SessionConfirmed message is received, Bob sends a small\n"
"<a href=\"%(i2npspec)s#msg_DeliveryStatus\">DeliveryStatus message</a>\n"
"as a confirmation.\n"
2013-07-03 01:01:50 +00:00
"In this message, the 4-byte message ID is set to a random number, and the\n"
"8-byte \"arrival time\" is set to the current network-wide ID, which is 2\n"
2013-06-05 10:00:16 +00:00
"(i.e. 0x0000000000000002)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:263
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"After the status message is sent, the peers exchange\n"
"<a href=\"%(i2npspec)s#msg_DatabaseStore\">DatabaseStore messages</a>\n"
"containing their\n"
"<a href=\"%(commonstructures)s#struct_RouterInfo\">RouterInfos</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:271
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"It does not appear that the type of the status message or its contents matters.\n"
2013-06-05 10:00:16 +00:00
"It was originally added becasue the DatabaseStore message was delayed\n"
"several seconds; since the store is now sent immediately, perhaps\n"
"the status message can be eliminated."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:280
2013-06-05 10:00:16 +00:00
msgid ""
"Introduction keys are delivered through an external channel \n"
2013-07-03 01:01:50 +00:00
"(the network database, where they are identical to the router Hash for now)\n"
2013-06-05 10:00:16 +00:00
"and must be used when establishing a session key. For the indirect\n"
"address, the peer must first contact the relayhost and ask them for\n"
"an introduction to the peer known at that relayhost under the given\n"
"tag. If possible, the relayhost sends a message to the addressed\n"
"peer telling them to contact the requesting peer, and also gives \n"
"the requesting peer the IP and port on which the addressed peer is\n"
"located. In addition, the peer establishing the connection must \n"
"already know the public keys of the peer they are connecting to (but\n"
"not necessary to any intermediary relay peer)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:294
2013-06-05 10:00:16 +00:00
msgid ""
"Indirect session establishment by means of a third party introduction\n"
"is necessary for efficient NAT traversal. Charlie, a router behind a\n"
"NAT or firewall which does not allow unsolicited inbound UDP packets,\n"
"first contacts a few peers, choosing some to serve as introducers. Each\n"
2013-07-03 01:01:50 +00:00
"of these peers (Bob, Bill, Betty, etc) provide Charlie with an introduction\n"
"tag - a 4 byte random number - which he then makes available to the public\n"
"as methods of contacting him. Alice, a router who has Charlie's published\n"
"contact methods, first sends a RelayRequest packet to one or more of the \n"
2013-06-05 10:00:16 +00:00
"introducers, asking each to introduce her to Charlie (offering the \n"
"introduction tag to identify Charlie). Bob then forwards a RelayIntro\n"
2013-07-03 01:01:50 +00:00
"packet to Charlie including Alice's public IP and port number, then sends\n"
"Alice back a RelayResponse packet containing Charlie's public IP and port\n"
"number. When Charlie receives the RelayIntro packet, he sends off a small\n"
"random packet to Alice's IP and port (poking a hole in his NAT/firewall),\n"
2013-06-05 10:00:16 +00:00
"and when Alice receives Bob's RelayResponse packet, she begins a new \n"
"full direction session establishment with the specified IP and port."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:321
2013-06-05 10:00:16 +00:00
msgid "Connection establishment (indirect using an introducer)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:323
2013-07-03 01:01:50 +00:00
msgid ""
"Alice first connects to introducer Bob, who relays the request to Charlie."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:341
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"After the hole punch, the session is established between Alice and Charlie "
"as in a direct establishment."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:352
2013-06-05 10:00:16 +00:00
msgid "Peer testing"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:354
2013-06-05 10:00:16 +00:00
msgid ""
"The automation of collaborative reachability testing for peers is\n"
"enabled by a sequence of PeerTest messages. With its proper \n"
"execution, a peer will be able to determine their own reachability\n"
"and may update its behavior accordingly. The testing process is \n"
"quite simple:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:373
2013-06-05 10:00:16 +00:00
msgid ""
"Each of the PeerTest messages carry a nonce identifying the\n"
"test series itself, as initialized by Alice. If Alice doesn't \n"
"get a particular message that she expects, she will retransmit\n"
"accordingly, and based upon the data received or the messages\n"
"missing, she will know her reachability. The various end states\n"
"that may be reached are as follows:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:383
2013-06-05 10:00:16 +00:00
msgid ""
"If she doesn't receive a response from Bob, she will retransmit\n"
"up to a certain number of times, but if no response ever arrives,\n"
"she will know that her firewall or NAT is somehow misconfigured, \n"
"rejecting all inbound UDP packets even in direct response to an\n"
"outbound packet. Alternately, Bob may be down or unable to get \n"
"Charlie to reply."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:392
2013-06-05 10:00:16 +00:00
msgid ""
"If Alice doesn't receive a PeerTest message with the \n"
"expected nonce from a third party (Charlie), she will retransmit\n"
"her initial request to Bob up to a certain number of times, even\n"
"if she has received Bob's reply already. If Charlie's first message \n"
"still doesn't get through but Bob's does, she knows that she is\n"
"behind a NAT or firewall that is rejecting unsolicited connection\n"
"attempts and that port forwarding is not operating properly (the\n"
"IP and port that Bob offered up should be forwarded)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:403
2013-06-05 10:00:16 +00:00
msgid ""
"If Alice receives Bob's PeerTest message and both of Charlie's\n"
"PeerTest messages but the enclosed IP and port numbers in Bob's \n"
"and Charlie's second messages don't match, she knows that she is \n"
"behind a symmetric NAT, rewriting all of her outbound packets with\n"
"different 'from' ports for each peer contacted. She will need to\n"
"explicitly forward a port and always have that port exposed for \n"
"remote connectivity, ignoring further port discovery."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:413
2013-06-05 10:00:16 +00:00
msgid ""
"If Alice receives Charlie's first message but not his second,\n"
"she will retransmit her PeerTest message to Charlie up to a \n"
"certain number of times, but if no response is received she knows\n"
"that Charlie is either confused or no longer online."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:421
2013-06-05 10:00:16 +00:00
msgid ""
"Alice should choose Bob arbitrarily from known peers who seem\n"
"to be capable of participating in peer tests. Bob in turn should\n"
"choose Charlie arbitrarily from peers that he knows who seem to be\n"
"capable of participating in peer tests and who are on a different\n"
"IP from both Bob and Alice. If the first error condition occurs\n"
"(Alice doesn't get PeerTest messages from Bob), Alice may decide\n"
"to designate a new peer as Bob and try again with a different nonce."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:431
2013-06-05 10:00:16 +00:00
msgid ""
"Alice's introduction key is included in all of the PeerTest \n"
"messages so that she doesn't need to already have an established\n"
"session with Bob and so that Charlie can contact her without knowing\n"
"any additional information. Alice may go on to establish a session\n"
"with either Bob or Charlie, but it is not required."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:449
2013-06-05 10:00:16 +00:00
msgid "Transmission window, ACKs and Retransmissions"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:450
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"The DATA message may contain ACKs of full messages and\n"
"partial ACKs of individual fragments of a message. See\n"
"the data message section of\n"
"<a href=\"%(ssuspec)s\">the protocol specification page</a>\n"
"for details."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:458
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The details of windowing, ACK, and retransmission strategies are not specified\n"
2013-06-05 10:00:16 +00:00
"here. See the Java code for the current implementation.\n"
"During the establishment phase, and for peer testing, routers\n"
"should implement exponential backoff for retransmission.\n"
"For an established connection, routers should implement\n"
2013-07-03 01:01:50 +00:00
"an adjustable transmission window, RTT estimate and timeout, similar to TCP\n"
2013-06-05 10:00:16 +00:00
"or <a href=\"%(streaming)s\">streaming</a>.\n"
"See the code for initial, min and max parameters."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:470
2013-06-05 10:00:16 +00:00
msgid "Security"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:471
2013-06-05 10:00:16 +00:00
msgid ""
"UDP source addresses may, of course, be spoofed.\n"
"Additionally, the IPs and ports contained inside specific\n"
"SSU messages (RelayRequest, RelayResponse, RelayIntro, PeerTest)\n"
"may not be legitimate.\n"
"Also, certain actions and responses may need to be rate-limited."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:479
2013-06-05 10:00:16 +00:00
msgid ""
"The details of validation are not specified\n"
"here. Implementers should add defenses where appropriate."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:485
2013-06-05 10:00:16 +00:00
msgid "Peer capabilities"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:489
2013-06-05 10:00:16 +00:00
msgid ""
"If the peer address contains the 'B' capability, that means \n"
"they are willing and able to participate in peer tests as\n"
"a 'Bob' or 'Charlie'."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:495
2013-06-05 10:00:16 +00:00
msgid ""
"If the peer address contains the 'C' capability, that means\n"
"they are willing and able to serve as an introducer - serving\n"
"as a Bob for an otherwise unreachable Alice."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:504
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Analysis of current SSU performance, including assessment of window size adjustment\n"
"and other parameters, and adjustment of the protocol implementation to improve\n"
2013-06-05 10:00:16 +00:00
"performance, is a topic for future work."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:510
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The current implementation repeatedly sends acknowledgments for the same packets,\n"
2013-06-05 10:00:16 +00:00
"which unnecessarily increases overhead."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:515
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The default small MTU value of 620 should be analyzed and possibly increased.\n"
2013-06-05 10:00:16 +00:00
"The current MTU adjustment strategy should be evaluated.\n"
2013-07-03 01:01:50 +00:00
"Does a streaming lib 1730-byte packet fit in 3 small SSU packets? Probably not."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:521
2013-06-05 10:00:16 +00:00
msgid "The protocol should be extended to exchange MTUs during the setup."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:525
2013-06-05 10:00:16 +00:00
msgid "Rekeying is currently unimplemented and may never be."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:529
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The potential use of the 'challenge' fields in RelayIntro and RelayResponse,\n"
"and use of the padding field in SessionRequest and SessionCreated, is undocumented."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:534
2013-06-05 10:00:16 +00:00
msgid ""
"Instead of a single fragment per packet, a more efficient\n"
2013-07-03 01:01:50 +00:00
"strategy may be to bundle multiple message fragments into the same packet,\n"
2013-06-05 10:00:16 +00:00
"so long as it doesn't exceed the MTU."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:540
2013-06-05 10:00:16 +00:00
msgid ""
"A set of fixed packet sizes may be appropriate to further hide the data \n"
2013-07-03 01:01:50 +00:00
"fragmentation to external adversaries, but the tunnel, garlic, and end to \n"
2013-06-05 10:00:16 +00:00
"end padding should be sufficient for most needs until then."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:546
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Why are introduction keys the same as the router hash, should it be changed,"
" would there be any benefit?"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:550
2013-06-05 10:00:16 +00:00
msgid "Capacities appear to be unused."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:554
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Signed-on times in SessionCreated and SessionConfirmed appear to be unused "
"or unverified."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:559
2013-06-05 10:00:16 +00:00
msgid "Implementation Diagram"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:560
2013-06-05 10:00:16 +00:00
msgid ""
"This diagram\n"
2013-07-03 01:01:50 +00:00
"should accurately reflect the current implementation, however there may be small differences."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/docs/transport/ssu.html:568
2013-06-05 10:00:16 +00:00
msgid "Now on the SSU specification page"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:2
msgid "Tunnel Implementation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:3
msgid "October 2010"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:7
msgid "This page documents the current tunnel implementation."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:9
msgid "Tunnel overview"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:11
msgid ""
"Within I2P, messages are passed in one direction through a virtual\n"
"tunnel of peers, using whatever means are available to pass the \n"
"message on to the next hop. Messages arrive at the tunnel's \n"
2013-07-03 01:01:50 +00:00
"</i>gateway</i>, get bundled up and/or fragmented into fixed-size tunnel messages, \n"
"and are forwarded on to the next hop in the tunnel, which processes and verifies\n"
"the validity of the message and sends it on to the next hop, and so on, until\n"
2013-06-05 10:00:16 +00:00
"it reaches the tunnel endpoint. That <i>endpoint</i> takes the messages\n"
"bundled up by the gateway and forwards them as instructed - either\n"
"to another router, to another tunnel on another router, or locally."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:23
msgid ""
"Tunnels all work the same, but can be segmented into two different\n"
"groups - inbound tunnels and outbound tunnels. The inbound tunnels\n"
"have an untrusted gateway which passes messages down towards the \n"
"tunnel creator, which serves as the tunnel endpoint. For outbound \n"
"tunnels, the tunnel creator serves as the gateway, passing messages\n"
"out to the remote endpoint."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:32
msgid ""
"The tunnel's creator selects exactly which peers will participate\n"
"in the tunnel, and provides each with the necessary configuration\n"
"data. They may have any number of hops.\n"
"It is the intent to make\n"
2013-07-03 01:01:50 +00:00
"it hard for either participants or third parties to determine the length of \n"
"a tunnel, or even for colluding participants to determine whether they are a\n"
"part of the same tunnel at all (barring the situation where colluding peers are\n"
2013-06-05 10:00:16 +00:00
"next to each other in the tunnel)."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:43
msgid ""
"In practice, a series of tunnel pools are used for different\n"
"purposes - each local client destination has its own set of inbound\n"
"tunnels and outbound tunnels, configured to meet its anonymity and\n"
"performance needs. In addition, the router itself maintains a series\n"
"of pools for participating in the network database and for managing\n"
"the tunnels themselves."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:52
msgid ""
"I2P is an inherently packet switched network, even with these \n"
"tunnels, allowing it to take advantage of multiple tunnels running \n"
"in parallel, increasing resilience and balancing load. Outside of\n"
"the core I2P layer, there is an optional end to end streaming library \n"
"available for client applications, exposing TCP-esque operation,\n"
"including message reordering, retransmission, congestion control, etc."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:61
#, python-format
msgid ""
"An overview of I2P tunnel terminology is\n"
"<a href=\"%(tunnelrouting)s\">on the tunnel overview page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:66
msgid "Tunnel Operation (Message Processing)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:69
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"After a tunnel is built, <a href=\"%(i2np)s\">I2NP messages</a> are processed and passed through it.\n"
2013-06-05 10:00:16 +00:00
"Tunnel operation has four distinct processes, taken on by various \n"
"peers in the tunnel."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:75
msgid ""
"First, the tunnel gateway accumulates a number\n"
"of I2NP messages and preprocesses them into tunnel messages for\n"
"delivery."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:80
msgid ""
"Next, that gateway encrypts that preprocessed data, then\n"
"forwards it to the first hop."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:84
msgid ""
"That peer, and subsequent tunnel \n"
"participants, unwrap a layer of the encryption, verifying that it isn't\n"
"a duplicate, then forward it on to the next peer."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:89
msgid ""
2013-07-03 01:01:50 +00:00
"Eventually, the tunnel messages arrive at the endpoint where the I2NP messages\n"
2013-06-05 10:00:16 +00:00
"originally bundled by the gateway are reassembled and forwarded on as \n"
"requested."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:96
msgid ""
"Intermediate tunnel participants do not know whether they are in an\n"
"inbound or an outbound tunnel; they always \"encrypt\" for the next hop.\n"
"Therefore, we take advantage of symmetric AES encryption\n"
"to \"decrypt\" at the outbound tunnel gateway,\n"
"so that the plaintext is revealed at the outbound endpoint."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:110
msgid "Role"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:111
msgid "Preprocessing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:112
msgid "Encryption Operation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:113
msgid "Postprocessing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:117
msgid "Outbound Gateway (Creator)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:118
#: i2p2www/pages/site/docs/tunnels/implementation.html:141
msgid "Fragment, Batch, and Pad"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:119
msgid "Iteratively encrypt (using decryption operations)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:120
#: i2p2www/pages/site/docs/tunnels/implementation.html:127
#: i2p2www/pages/site/docs/tunnels/implementation.html:143
#: i2p2www/pages/site/docs/tunnels/implementation.html:150
msgid "Forward to next hop"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:124
#: i2p2www/pages/site/docs/tunnels/implementation.html:147
msgid "Participant"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:126
msgid "Decrypt (using an encryption operation)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:133
2013-07-03 01:01:50 +00:00
msgid ""
"Decrypt (using an encryption operation) to reveal plaintext tunnel message"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:134
2013-07-03 01:01:50 +00:00
msgid ""
"Reassemble Fragments, Forward as instructed to Inbound Gateway or Router"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:142
#: i2p2www/pages/site/docs/tunnels/implementation.html:149
msgid "Encrypt"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:154
msgid "Inbound Endpoint (Creator)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:156
msgid "Iteratively decrypt to reveal plaintext tunnel message"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:157
msgid "Reassemble Fragments, Receive data"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:163
msgid "Gateway Processing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:164
msgid "Message Preprocessing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:166
#, python-format
msgid ""
"A tunnel gateway's function is to fragment and pack\n"
"<a href=\"%(i2np)s\">I2NP messages</a> into fixed-size\n"
"<a href=\"%(tunnelmessage)s\">tunnel messages</a>\n"
"and encrypt the tunnel messages.\n"
"Tunnel messages contain the following:"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:174
msgid "A 4 byte Tunnel ID"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:175
msgid "A 16 byte IV (initialization vector)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:176
msgid "A checksum"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:177
msgid "Padding, if necessary"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:178
msgid "One or more { delivery instruction, I2NP message fragment } pairs"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:181
msgid ""
"Tunnel IDs are 4 byte numbers used at each hop - participants know what\n"
2013-07-03 01:01:50 +00:00
"tunnel ID to listen for messages with and what tunnel ID they should be forwarded\n"
"on as to the next hop, and each hop chooses the tunnel ID which they receive messages\n"
2013-06-05 10:00:16 +00:00
"on. Tunnels themselves are short-lived (10 minutes).\n"
"Even if subsequent tunnels are built using the same sequence of \n"
"peers, each hop's tunnel ID will change."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:190
msgid ""
2013-07-03 01:01:50 +00:00
"To prevent adversaries from tagging the messages along the path by adjusting\n"
"the message size, all tunnel messages are a fixed 1024 bytes in size. To accommodate \n"
"larger I2NP messages as well as to support smaller ones more efficiently, the\n"
"gateway splits up the larger I2NP messages into fragments contained within each\n"
"tunnel message. The endpoint will attempt to rebuild the I2NP message from the\n"
2013-06-05 10:00:16 +00:00
"fragments for a short period of time, but will discard them as necessary."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:199
#, python-format
msgid ""
"Details are in the\n"
"<a href=\"%(tunnelmessage)s\">tunnel message specification</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:205
msgid "Gateway Encryption"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:207
msgid ""
2013-07-03 01:01:50 +00:00
"After the preprocessing of messages into a padded payload, the gateway builds\n"
"a random 16 byte IV value, iteratively encrypting it and the tunnel message as\n"
"necessary, and forwards the tuple {tunnelID, IV, encrypted tunnel message} to the next hop."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:213
msgid ""
2013-07-03 01:01:50 +00:00
"How encryption at the gateway is done depends on whether the tunnel is an\n"
"inbound or an outbound tunnel. For inbound tunnels, they simply select a random\n"
"IV, postprocessing and updating it to generate the IV for the gateway and using \n"
"that IV along side their own layer key to encrypt the preprocessed data. For outbound \n"
"tunnels they must iteratively decrypt the (unencrypted) IV and preprocessed \n"
"data with the IV and layer keys for all hops in the tunnel. The result of the outbound\n"
"tunnel encryption is that when each peer encrypts it, the endpoint will recover \n"
2013-06-05 10:00:16 +00:00
"the initial preprocessed data."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:225
msgid "Participant Processing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:227
msgid ""
2013-07-03 01:01:50 +00:00
"When a peer receives a tunnel message, it checks that the message came from\n"
"the same previous hop as before (initialized when the first message comes through\n"
"the tunnel). If the previous peer is a different router, or if the message has\n"
"already been seen, the message is dropped. The participant then encrypts the \n"
"received IV with AES256/ECB using their IV key to determine the current IV, uses \n"
"that IV with the participant's layer key to encrypt the data, encrypts the \n"
"current IV with AES256/ECB using their IV key again, then forwards the tuple \n"
"{nextTunnelId, nextIV, encryptedData} to the next hop. This double encryption\n"
2013-06-05 10:00:16 +00:00
"of the IV (both before and after use) help address a certain class of\n"
"confirmation attacks."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:240
msgid ""
2013-07-03 01:01:50 +00:00
"Duplicate message detection is handled by a decaying Bloom filter on message\n"
"IVs. Each router maintains a single Bloom filter to contain the XOR of the IV and\n"
"the first block of the message received for all of the tunnels it is participating\n"
"in, modified to drop seen entries after 10-20 minutes (when the tunnels will have\n"
"expired). The size of the bloom filter and the parameters used are sufficient to\n"
"more than saturate the router's network connection with a negligible chance of \n"
"false positive. The unique value fed into the Bloom filter is the XOR of the IV \n"
"and the first block so as to prevent nonsequential colluding peers in the tunnel \n"
"from tagging a message by resending it with the IV and first block switched."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:253
msgid "Endpoint Processing"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:255
msgid ""
2013-07-03 01:01:50 +00:00
"After receiving and validating a tunnel message at the last hop in the tunnel,\n"
"how the endpoint recovers the data encoded by the gateway depends upon whether \n"
"the tunnel is an inbound or an outbound tunnel. For outbound tunnels, the \n"
"endpoint encrypts the message with its layer key just like any other participant, \n"
"exposing the preprocessed data. For inbound tunnels, the endpoint is also the \n"
"tunnel creator so they can merely iteratively decrypt the IV and message, using the \n"
2013-06-05 10:00:16 +00:00
"layer and IV keys of each step in reverse order."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:265
msgid ""
2013-07-03 01:01:50 +00:00
"At this point, the tunnel endpoint has the preprocessed data sent by the gateway,\n"
"which it may then parse out into the included I2NP messages and forwards them as\n"
2013-06-05 10:00:16 +00:00
"requested in their delivery instructions."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:272
msgid "Tunnel Building"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:274
msgid ""
2013-07-03 01:01:50 +00:00
"When building a tunnel, the creator must send a request with the necessary\n"
"configuration data to each of the hops and wait for all of them to agree before\n"
"enabling the tunnel. The requests are encrypted so that only the peers who need\n"
"to know a piece of information (such as the tunnel layer or IV key) has that\n"
"data. In addition, only the tunnel creator will have access to the peer's\n"
"reply. There are three important dimensions to keep in mind when producing\n"
"the tunnels: what peers are used (and where), how the requests are sent (and \n"
2013-06-05 10:00:16 +00:00
"replies received), and how they are maintained."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:288
msgid ""
2013-07-03 01:01:50 +00:00
"Beyond the two types of tunnels - inbound and outbound - there are two styles\n"
2013-06-05 10:00:16 +00:00
"of peer selection used for different tunnels - exploratory and client.\n"
2013-07-03 01:01:50 +00:00
"Exploratory tunnels are used for both network database maintenance and tunnel\n"
2013-06-05 10:00:16 +00:00
"maintenance, while client tunnels are used for end to end client messages."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:296
msgid "Exploratory tunnel peer selection"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:298
msgid ""
2013-07-03 01:01:50 +00:00
"Exploratory tunnels are built out of a random selection of peers from a subset\n"
"of the network. The particular subset varies on the local router and on what their\n"
"tunnel routing needs are. In general, the exploratory tunnels are built out of\n"
"randomly selected peers who are in the peer's \"not failing but active\" profile\n"
"category. The secondary purpose of the tunnels, beyond merely tunnel routing,\n"
"is to find underutilized high capacity peers so that they can be promoted for\n"
2013-06-05 10:00:16 +00:00
"use in client tunnels."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:308
#, python-format
msgid ""
"Exploratory peer selection is discussed further on the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:314
msgid "Client tunnel peer selection"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:316
msgid ""
2013-07-03 01:01:50 +00:00
"Client tunnels are built with a more stringent set of requirements - the local\n"
"router will select peers out of its \"fast and high capacity\" profile category so\n"
"that performance and reliability will meet the needs of the client application.\n"
"However, there are several important details beyond that basic selection that \n"
2013-06-05 10:00:16 +00:00
"should be adhered to, depending upon the client's anonymity needs."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:324
#, python-format
msgid ""
"Client peer selection is discussed further on the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:329
msgid "Peer Ordering within Tunnels"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:331
#, python-format
msgid ""
"Peers are ordered within tunnels to deal with the\n"
"<a href=\"%(pdf)s\">predecessor attack</a>\n"
"<a href=\"%(pdf2008)s\">(2008 update)</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:338
msgid ""
"To frustrate the predecessor \n"
2013-07-03 01:01:50 +00:00
"attack, the tunnel selection keeps the peers selected in a strict order -\n"
"if A, B, and C are in a tunnel for a particular tunnel pool, the hop after A is always B, and the hop after\n"
2013-06-05 10:00:16 +00:00
"B is always C."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:345
msgid ""
"Ordering is implemented by generating a random 32-byte key for each\n"
"tunnel pool at startup.\n"
"Peers should not be able to guess the ordering, or an attacker could\n"
2013-07-03 01:01:50 +00:00
"craft two router hashes far apart to maximize the chance of being at both\n"
2013-06-05 10:00:16 +00:00
"ends of a tunnel.\n"
"Peers are sorted by XOR distance of the\n"
2013-07-03 01:01:50 +00:00
"SHA256 Hash of (the peer's hash concatenated with the random key) from the random key"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:360
msgid ""
2013-07-03 01:01:50 +00:00
"Because each tunnel pool uses a different random key, ordering is consistent\n"
2013-06-05 10:00:16 +00:00
"within a single pool but not between different pools.\n"
"New keys are generated at each router restart."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:367
msgid "Request delivery"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:369
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A multi-hop tunnel is built using a single build message which is repeatedly\n"
2013-06-05 10:00:16 +00:00
"decrypted and forwarded. In the terminology of\n"
"<a href=\"%(pdf)s\">Hashing it out in Public</a>,\n"
"this is \"non-interactive\" telescopic tunnel building."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:376
#, python-format
msgid ""
"This tunnel request preparation, delivery, and response method is\n"
"<a href=\"%(tunnelcreation)s\">designed</a> to reduce the number of\n"
2013-07-03 01:01:50 +00:00
"predecessors exposed, cuts the number of messages transmitted, verifies proper\n"
"connectivity, and avoids the message counting attack of traditional telescopic\n"
2013-06-05 10:00:16 +00:00
"tunnel creation.\n"
2013-07-03 01:01:50 +00:00
"(This method, which sends messages to extend a tunnel through the already-established\n"
"part of the tunnel, is termed \"interactive\" telescopic tunnel building in\n"
2013-06-05 10:00:16 +00:00
"the \"Hashing it out\" paper.)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:387
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The details of tunnel request and response messages, and their encryption,\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(tunnelcreation)s\">are specified here</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:392
msgid ""
2013-07-03 01:01:50 +00:00
"Peers may reject tunnel creation requests for a variety of reasons, though\n"
"a series of four increasingly severe rejections are known: probabilistic rejection\n"
"(due to approaching the router's capacity, or in response to a flood of requests), \n"
"transient overload, bandwidth overload, and critical failure. When received, \n"
"those four are interpreted by the tunnel creator to help adjust their profile of\n"
2013-06-05 10:00:16 +00:00
"the router in question."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:401
#, python-format
msgid ""
"For more information on peer profiling, see the\n"
"<a href=\"%(peerselection)s\">Peer Profiling and Selection page</a>."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:407
msgid "Tunnel Pools"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:409
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"To allow efficient operation, the router maintains a series of tunnel pools,\n"
"each managing a group of tunnels used for a specific purpose with their own\n"
"configuration. When a tunnel is needed for that purpose, the router selects one\n"
"out of the appropriate pool at random. Overall, there are two exploratory tunnel\n"
"pools - one inbound and one outbound - each using the router's default configuration.\n"
2013-06-05 10:00:16 +00:00
"In addition, there is a pair of pools for each local destination -\n"
2013-07-03 01:01:50 +00:00
"one inbound and one outbound tunnel pool. Those pools use the configuration specified\n"
"when the local destination connects to the router via <a href=\"%(i2cp)s\">I2CP</a>, or the router's defaults if\n"
2013-06-05 10:00:16 +00:00
"not specified."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:421
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Each pool has within its configuration a few key settings, defining how many\n"
"tunnels to keep active, how many backup tunnels to maintain in case of failure,\n"
2013-06-05 10:00:16 +00:00
"how long the tunnels should be, whether those\n"
"lengths should be randomized, as \n"
2013-07-03 01:01:50 +00:00
"well as any of the other settings allowed when configuring individual tunnels.\n"
"Configuration options are specified on the <a href=\"%(i2cp)s\">I2CP page</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:431
msgid "Tunnel Lengths and Defaults"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:433
msgid "On the tunnel overview page"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:435
msgid "Anticipatory Build Strategy and Priority"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:437
msgid ""
2013-07-03 01:01:50 +00:00
"Tunnel building is expensive, and tunnels expire a fixed time after they are built.\n"
"However, when a pool that runs out of tunnels, the Destination is essentially dead.\n"
"In addition, tunnel build success rate may vary greatly with both local and global\n"
2013-06-05 10:00:16 +00:00
"network conditions.\n"
2013-07-03 01:01:50 +00:00
"Therefore, it is important to maintain an anticipatory, adaptive build strategy\n"
"to ensure that new tunnels are successfully built before they are needed,\n"
2013-06-05 10:00:16 +00:00
"without building an excess of tunnels, building them too soon,\n"
2013-07-03 01:01:50 +00:00
"or consuming too much CPU or bandwidth creating and sending the encrypted build messages."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:448
msgid ""
"For each tuple {exploratory/client, in/out, length, length variance}\n"
"the router maintains statistics on the time required for a successful\n"
"tunnel build.\n"
2013-07-03 01:01:50 +00:00
"Using these statistics, it calculates how long before a tunnel's expiration\n"
2013-06-05 10:00:16 +00:00
"it should start attempting to build a replacement.\n"
"As the expiration time approaches without a successful replacement,\n"
"it starts multiple build attempts in parallel, and then\n"
"will increase the number of parallel attempts if necessary."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:459
msgid ""
"To cap bandwidth and CPU usage,\n"
"the router also limits the maximum number of build attempts outstanding\n"
"across all pools.\n"
"Critical builds (those for exploratory tunnels, and for pools that have\n"
"run out of tunnels) are prioritized."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:468
msgid "Tunnel Message Throttling"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:470
msgid ""
2013-07-03 01:01:50 +00:00
"Even though the tunnels within I2P bear a resemblance to a circuit switched\n"
"network, everything within I2P is strictly message based - tunnels are merely\n"
"accounting tricks to help organize the delivery of messages. No assumptions are\n"
"made regarding reliability or ordering of messages, and retransmissions are left\n"
"to higher levels (e.g. I2P's client layer streaming library). This allows I2P\n"
"to take advantage of throttling techniques available to both packet switched and\n"
"circuit switched networks. For instance, each router may keep track of the \n"
"moving average of how much data each tunnel is using, combine that with all of \n"
"the averages used by other tunnels the router is participating in, and be able\n"
"to accept or reject additional tunnel participation requests based on its \n"
"capacity and utilization. On the other hand, each router can simply drop \n"
"messages that are beyond its capacity, exploiting the research used on the \n"
2013-06-05 10:00:16 +00:00
"normal Internet."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:486
msgid ""
"In the current implementation, routers implement a\n"
"weighted random early discard (WRED) strategy.\n"
2013-07-03 01:01:50 +00:00
"For all participating routers (internal participant, inbound gateway, and outbound endpoint),\n"
2013-06-05 10:00:16 +00:00
"the router will start randomly dropping a portion of messages as the\n"
"bandwidth limits are approached.\n"
2013-07-03 01:01:50 +00:00
"As traffic gets closer to, or exceeds, the limits, more messages are dropped.\n"
"For an internal participant, all messages are fragmented and padded and therefore are the same size.\n"
"At the inbound gateway and outbound endpoint, however, the dropping decision is made\n"
"on the full (coalesced) message, and the message size is taken into account.\n"
2013-06-05 10:00:16 +00:00
"Larger messages are more likely to be dropped.\n"
2013-07-03 01:01:50 +00:00
"Also, messages are more likely to be dropped at the outbound endpoint than the inbound gateway,\n"
"as those messages are not as \"far along\" in their journey and thus the network cost of\n"
2013-06-05 10:00:16 +00:00
"dropping those messages is lower."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:504
msgid "Mixing/batching"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:506
msgid ""
2013-07-03 01:01:50 +00:00
"What strategies could be used at the gateway and at each hop for delaying,\n"
"reordering, rerouting, or padding messages? To what extent should this be done\n"
"automatically, how much should be configured as a per tunnel or per hop setting,\n"
"and how should the tunnel's creator (and in turn, user) control this operation?\n"
"All of this is left as unknown, to be worked out for a distant future release."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:515
msgid "Padding"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:516
msgid ""
2013-07-03 01:01:50 +00:00
"The padding strategies can be used on a variety of levels, addressing the\n"
2013-06-05 10:00:16 +00:00
"exposure of message size information to different adversaries.\n"
2013-07-03 01:01:50 +00:00
"The current fixed tunnel message size is 1024 bytes. Within this however, the fragmented\n"
"messages themselves are not padded by the tunnel at all, though for end to end \n"
2013-06-05 10:00:16 +00:00
"messages, they may be padded as part of the garlic wrapping."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/implementation.html:526
msgid ""
"WRED strategies have a significant impact on end-to-end performance,\n"
"and prevention of network congestion collapse.\n"
"The current WRED strategy should be carefully evaluated and improved."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:2
msgid "Old Tunnel Implementation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/old-implementation.html:5
#, python-format
msgid ""
"Note: Obsolete - NOT used! Replaced in 0.6.1.10 - see <a "
"href=\"%(tunnelimpl)s\">here</a> for the current implementation"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"This page describes the origins and design of I2P's unidirectional tunnels.\n"
2013-06-05 10:00:16 +00:00
"For further infomrmation see:"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:13
msgid "Tunnel overview page"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:19
msgid "Tunnel design discussion"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:23
msgid "Meeting 125 (~13:12-13:30)"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:28
msgid "Review"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:30
msgid ""
"While we aren't aware of any published research on the advantages of \n"
"unidirecdtional tunnels,\n"
"they appear to make it harder to detect a \n"
"request/response pattern, which is quite possible to detect over a \n"
"bidirectional tunnel.\n"
"Several apps and protocols, notably HTTP,\n"
"do transfer data in such manner. Having the traffic follow the same \n"
"route to its destination and back could make it easier for an \n"
2013-07-03 01:01:50 +00:00
"attacker who has only timing and traffic volume data to infer the path a \n"
2013-06-05 10:00:16 +00:00
"tunnel is taking.\n"
"Having the response come back along a different path arguably \n"
"makes it harder."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:45
msgid ""
"When dealing with \n"
2013-07-03 01:01:50 +00:00
"an internal adversary or most external adversaries, I2P's undirectional tunnels\n"
"expose half as much traffic data than would be exposed with bidirectional circuits\n"
"by simply looking at the flows themselves - an HTTP request and response would \n"
"follow the same path in Tor, while in I2P the packets making up the request \n"
"would go out through one or more outbound tunnels and the packets making up \n"
"the response would come back through one or more different inbound tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:55
msgid ""
"The strategy of using two separate tunnels for inbound and outbound\n"
2013-07-03 01:01:50 +00:00
"communication is not the only technique available, and it does have anonymity\n"
"implications. On the positive side, by using separate tunnels it lessens the\n"
"traffic data exposed for analysis to participants in a tunnel - for instance,\n"
"peers in an outbound tunnel from a web browser would only see the traffic of\n"
2013-06-05 10:00:16 +00:00
"an HTTP GET, while the peers in an inbound tunnel would see the payload \n"
2013-07-03 01:01:50 +00:00
"delivered along the tunnel. With bidirectional tunnels, all participants would\n"
"have access to the fact that e.g. 1KB was sent in one direction, then 100KB\n"
"in the other. On the negative side, using unidirectional tunnels means that\n"
"there are two sets of peers which need to be profiled and accounted for, and\n"
"additional care must be taken to address the increased speed of predecessor\n"
2013-06-05 10:00:16 +00:00
"attacks. The tunnel pooling and building process\n"
"(peer selection and ordering strategies)\n"
"should minimize the worries of the predecessor attack."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:73
msgid "Anonymity"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:75
#, python-format
msgid ""
"A recent <a href=\"%(pdf)s\">paper by Hermann and Grothoff</a>\n"
2013-07-03 01:01:50 +00:00
"declared that I2P's unidirectional tunnels \"seems to be a bad design decision\"."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:80
msgid ""
"The paper's main point is that\n"
2013-07-03 01:01:50 +00:00
"deanonymizations on unidirectional tunnels take a longer time, which is an \n"
"advantage, but that an attacker can be more certain in the unidirectional case. \n"
"Therefore, the paper claims it isn't an advantage at all, but a disadvantage, at least\n"
2013-06-05 10:00:16 +00:00
"with long-living eepsites."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:88
msgid ""
2013-07-03 01:01:50 +00:00
"This conclusion is not fully supported by the paper. Unidirectional tunnels clearly \n"
"mitigate other attacks and it's not clear how to trade off the risk of the \n"
2013-06-05 10:00:16 +00:00
"attack in the paper\n"
"with attacks on a bidirectional tunnel architecture."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:95
msgid ""
"This conclusion is based on an arbitrary certainty vs. time weighting \n"
"(tradeoff) that may not be applicable in all cases. For \n"
2013-07-03 01:01:50 +00:00
"example, somebody could make a list of possible IPs then issue subpoenas to \n"
2013-06-05 10:00:16 +00:00
"each. Or the attacker could DDoS each in turn and via a simple \n"
2013-07-03 01:01:50 +00:00
"intersection attack see if the eepsite goes down or is slowed down. So close \n"
2013-06-05 10:00:16 +00:00
"may be good enough, or time may be more important."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:104
msgid ""
2013-07-03 01:01:50 +00:00
"The conclusion is based on a specific weighting of the importance of certainty \n"
"vs. time, and that weighting may be wrong, and it's definitely debatable, \n"
"especially in a real world with subpoenas, search warrants, and other methods \n"
2013-06-05 10:00:16 +00:00
"available for final confirmation."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:111
msgid ""
"A full analysis of the tradeoffs of unidirectional vs. bidirectional \n"
2013-07-03 01:01:50 +00:00
"tunnels is clearly outside the scope of the paper, and has not been done \n"
"elsewhere. For example, how does this attack compare to the numerous possible \n"
"timing attacks published about onion-routed networks? Clearly the authors have not\n"
2013-06-05 10:00:16 +00:00
"done that analysis, if it's even possible to do it\n"
"effectively."
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:120
msgid ""
2013-07-03 01:01:50 +00:00
"Tor uses bidirectional tunnels and has had a lot of academic review. I2P \n"
"uses unidirectional tunnels and has had very little review. Does the lack of a \n"
"research paper defending unidirectional tunnels mean that it is a poor design \n"
2013-06-05 10:00:16 +00:00
"choice, or just that it needs more study? Timing attacks and \n"
2013-07-03 01:01:50 +00:00
"distributed attacks are difficult to defend against in both I2P and Tor. The \n"
"design intent (see references above) was that unidirectional tunnels are more \n"
"resistant to timing attacks. However, the paper presents a somewhat different type of timing \n"
2013-06-05 10:00:16 +00:00
"attack. Is this attack, innovative as it is, sufficient to label I2P's \n"
"tunnel architecture (and thus I2P as a whole) a \"bad design\", and by \n"
2013-07-03 01:01:50 +00:00
"implication clearly inferior to Tor, or is it just a design alternative that \n"
"clearly needs further investigation and analysis? There are several other reasons \n"
"to consider I2P currently inferior to Tor and other projects (small network \n"
"size, lack of funding, lack of review) but is unidirectional tunnels really a \n"
2013-06-05 10:00:16 +00:00
"reason?"
msgstr ""
#: i2p2www/pages/site/docs/tunnels/unidirectional.html:137
msgid ""
"In summary, \"bad design decision\" is apparently (since the paper does\n"
"not label bidirectional tunnels \"bad\") shorthand for \"unidirectional \n"
"tunnels are unequivocally inferior to bidirectional tunnels\", yet this \n"
"conclusion is not supported by the paper."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:4
msgid ""
"Thank you for your interest in contributing to I2P!\n"
"The details of how you\n"
"can make your contribution are provided below."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:13
#, python-format
msgid "You can donate direct via PayPal to the account \"%(account)s\"."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:19
msgid "One time donation:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:33
msgid "Donate 10 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:41
#: i2p2www/pages/site/get-involved/donate.html:53
#: i2p2www/pages/site/get-involved/donate.html:65
#: i2p2www/pages/site/get-involved/donate.html:77
msgid "I2P donation "
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:47
msgid "Donate 20 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:59
msgid "Donate 30 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:71
msgid "Donate 50 &euro;/month for 12 months:"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:86
msgid "Flattr this"
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:90
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"As of December 2010, eche|on has been running a <a href=\"http://bitcoin.org\">Bitcoin</a> account for the I2P project. \n"
"If you'd like to donate using Bitcoin, just transfer your desired amount of coins to the account \n"
"<b>%(account)s</b> and leave eche|on a note if you'd like your donation to be mentioned on the I2P webpage."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:95
msgid ""
2013-07-03 01:01:50 +00:00
"If you want to keep more or less anonymous, the option to send money via mail is also available. But it is less secure\n"
2013-06-05 10:00:16 +00:00
"as the envelope can be lost on the way to us."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:99
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you'd like to donate via snail mail, send an email to <a href=\"mailto:%(email)s?subject=information about snailmail donation\">%(email)s</a>\n"
2013-06-05 10:00:16 +00:00
" and you'll receive an email with instructions detailing how to proceed."
msgstr ""
#: i2p2www/pages/site/get-involved/donate.html:104
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"In the meantime, feel free to take a look at the generous donations that have been\n"
"given in support of the I2P Project at the <a href=\"%(halloffame)s\">hall of fame</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:2
msgid "Get Involved!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:4
msgid "We need your help!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:5
msgid ""
"To get involved, please feel free to join us on the #i2p IRC channel (on\n"
2013-07-03 01:01:50 +00:00
"irc.freenode.net, or within I2P on irc.freshcoffee.i2p or irc.postman.i2p)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:9
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you're interested in joining our <a href=\"%(team)s\">team</a>, please get in\n"
2013-06-05 10:00:16 +00:00
"touch as we're always looking for eager contributors!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:13
msgid ""
2013-07-03 01:01:50 +00:00
"We need help in many areas, and you don't need to know Java to contribute!\n"
2013-06-05 10:00:16 +00:00
"Here's a list to help you get started!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:18
msgid "Spread the Word!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:19
msgid ""
"Tell people about I2P on forums, blogs, and comments to articles.\n"
"Fix up the Wikipedia article about I2P in your language.\n"
"Tell your friends."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:24
msgid "Testing"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:25
#, python-format
msgid ""
"Run the latest builds from <a href=\"%(monotone)s\">monotone</a>\n"
2013-07-03 01:01:50 +00:00
"and report results on #i2p or as bugs on <a href=\"http://%(trac)s/report/1\">Trac</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:30
msgid ""
"Help fix the parts of the website that are outdated or incomplete.\n"
"Translate pages into other languages."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:34
msgid "Pictures"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:35
msgid "Make some more pictures, fix the old ones on the website"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:39
msgid "Make an eepsite! Add some content! Contribute to the community!"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:42
msgid "Services"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:43
msgid ""
"Run a service on an eepsite. It could be a proxy, a forum, a tracker,\n"
"a naming service, a search engine, an eepsite monitor... many of these\n"
"aren't that hard."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:49
#, python-format
msgid ""
"Write or port applications for I2P! There's some guidelines and\n"
"a list of ideas on the <a href=\"%(apps)s\">applications page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:53
msgid "Coding"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:54
#, python-format
msgid ""
"There's plenty to do if you know Java or are ready to learn.\n"
"Check for open tickets on <a href=\"http://%(trac)s/report/1\">Trac</a>\n"
"or the TODO list on <a href=\"http://%(zzz)s\">%(zzz)s</a> for\n"
"some ideas on where to start.\n"
"See the <a href=\"%(newdevs)s\">new developer's guide</a> for details."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:61
msgid "Translation"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:62
#, python-format
msgid ""
"Help translate the website and the software into your language.\n"
"See the <a href=\"%(newtrans)s\">new translator's guide</a> for details."
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:66
msgid "Analysis"
msgstr ""
#: i2p2www/pages/site/get-involved/index.html:67
#, python-format
msgid ""
"Study or test the code to look for vulnerabilities.\n"
"Both anonymity vulnerabilities from the various\n"
"<a href=\"%(threatmodel)s\">threat models</a>,\n"
"and DOS and other weaknesses due to securities holes,\n"
"need researching."
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:7
msgid ""
"Include some seed data in the distribution so a central reseed location "
"isn't required?"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:10
#, python-format
msgid ""
"Reachability Mapping / handle peers partially reachable / enhanced <a "
"href=\"%(todo)s#fullRestrictedRoutes\">restricted routes</a>"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:13
msgid "Improve help pages and website"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:14
msgid "More translations"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:15
msgid "SSU disconnect message"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:16
msgid "Iterative floodfill lookups"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:21
msgid "Full review of anonymity issues and other vulnerabilities"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:22
msgid ""
2013-07-03 01:01:50 +00:00
"Reduce memory usage, remove debugging overhead, make it run better on slow "
"and embedded machines"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:25
msgid "Docs"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:30
msgid "Full restricted routes"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:35
msgid "Tunnel mixing and padding"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:36
msgid "User defined message delays"
msgstr ""
#: i2p2www/pages/site/get-involved/roadmap.html:39
#, python-format
msgid ""
"Please see the <a href=\"%(todo)s\">TODO</a> list for more detailed info "
"about some of these tasks."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:4
msgid "I2P Project Targets"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:5
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Below is a more detailed (yet still incomplete) discussion of the major areas\n"
"of future development on the core I2P network, spanning the plausibly planned\n"
"releases. This does not include stego transports, porting to wireless devices,\n"
"or tools to secure the local machine, nor does it include client applications\n"
"that will be essential in I2P's success. There are probably other things that\n"
"will come up, especially as I2P gets more peer review, but these are the main\n"
"'big things'. See also <a href=\"%(roadmap)s\">the roadmap</a>. Want to help?\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(volunteer)s\">Get involved</a>!"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:16
#: i2p2www/pages/site/get-involved/todo.html:54
msgid "Core functionality"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:18
#: i2p2www/pages/site/get-involved/todo.html:57
msgid "NAT/Firewall bridging via 1-hop restricted routes"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:21
#: i2p2www/pages/site/get-involved/todo.html:130
msgid "High degree transport layer with UDP, NBIO, or NIO"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:24
#: i2p2www/pages/site/get-involved/todo.html:218
msgid "NetworkDB and profile tuning and ejection policy for large nets"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:28
#: i2p2www/pages/site/get-involved/todo.html:242
msgid "Security / anonymity"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:30
#: i2p2www/pages/site/get-involved/todo.html:245
msgid ""
2013-07-03 01:01:50 +00:00
"Per-hop tunnel id &amp; new permuted TunnelVerificationStructure encryption"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:33
#: i2p2www/pages/site/get-involved/todo.html:295
msgid "Strict ordering of participants within tunnels"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:36
msgid "Randomly permuted tunnel lengths"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:39
#: i2p2www/pages/site/get-involved/todo.html:357
msgid "Full blown n-hop restricted routes with optional trusted links"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:42
#: i2p2www/pages/site/get-involved/todo.html:376
msgid "Hashcash for routerIdentity, destination, and tunnel request"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:45
#: i2p2www/pages/site/get-involved/todo.html:405
msgid "Advanced tunnel operation (batching/mixing/throttling/padding)"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:48
#: i2p2www/pages/site/get-involved/todo.html:442
msgid "Stop &amp; go mix w/ garlics &amp; tunnels"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:62
msgid "Implemented in I2P 0.6.0.6"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:63
msgid ""
2013-07-03 01:01:50 +00:00
"The functionality of allowing routers to fully participate within the network \n"
"while behind firewalls and NATs that they do not control requires some basic \n"
"restricted route operation (since those peers will not be able to receive \n"
"inbound connections). To do this successfully, you consider peers one of \n"
2013-06-05 10:00:16 +00:00
"two ways:"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:73
msgid ""
"<b>Peers who have reachable interfaces</b> - these peers do not need to \n"
"do anything special"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:77
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Peers who do not have reachable interfaces</b> - these peers must build \n"
"a tunnel pointing at them where the gateway is one of the peers they have \n"
"established a connection with who has both a publicly reachable interface \n"
2013-06-05 10:00:16 +00:00
"and who has agreed to serve as their 'introducer'."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:85
msgid ""
"To do this, peers who have no IP address simply connect to a few peers, \n"
2013-07-03 01:01:50 +00:00
"build a tunnel through them, and publish a reference to those tunnels within \n"
2013-06-05 10:00:16 +00:00
"their RouterInfo structure in the network database."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:90
msgid ""
2013-07-03 01:01:50 +00:00
"When someone wants to contact any particular router, they first must get \n"
"its RouterInfo from the network database, which will tell them whether they \n"
2013-06-05 10:00:16 +00:00
"can connect directly (e.g. the peer has a publicly reachable interface) \n"
2013-07-03 01:01:50 +00:00
"or whether they need to contact them indirectly. Direct connections occur \n"
"as normal, while indirect connections are done through one of the published \n"
2013-06-05 10:00:16 +00:00
"tunnels."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:98
msgid ""
2013-07-03 01:01:50 +00:00
"When a router just wants to get a message or two to a specific hidden peer, \n"
2013-06-05 10:00:16 +00:00
"they can just use the indirect tunnel for sending the payload. However, \n"
2013-07-03 01:01:50 +00:00
"if the router wants to talk to the hidden peer often (for instance, as part \n"
"of a tunnel), they will send a garlic routed message through the indirect \n"
"tunnel to that hidden peer which unwraps to contain a message which should \n"
2013-06-05 10:00:16 +00:00
"be sent to the originating router. That hidden peer then establishes an \n"
2013-07-03 01:01:50 +00:00
"outbound connection to the originating router and from then on, those two \n"
"routers can talk to each other directly over that newly established direct \n"
2013-06-05 10:00:16 +00:00
"connection."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:109
msgid ""
2013-07-03 01:01:50 +00:00
"Of course, that only works if the originating peer can receive connections \n"
"(they aren't also hidden). However, if the originating peer is hidden, they \n"
"can simply direct the garlic routed message to come back to the originating \n"
2013-06-05 10:00:16 +00:00
"peer's inbound tunnel."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:115
msgid ""
2013-07-03 01:01:50 +00:00
"This is not meant to provide a way for a peer's IP address to be concealed, \n"
"merely as a way to let people behind firewalls and NATs fully operate within \n"
"the network. Concealing the peer's IP address adds a little more work, as \n"
2013-06-05 10:00:16 +00:00
"described <a href=\"#fullRestrictedRoutes\">below.</a>"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:121
msgid ""
2013-07-03 01:01:50 +00:00
"With this technique, any router can participate as any part of a tunnel. \n"
"For efficiency purposes, a hidden peer would be a bad choice for an inbound \n"
"gateway, and within any given tunnel, two neighboring peers wouldn't want \n"
2013-06-05 10:00:16 +00:00
"to be hidden. But that is not technically necessary."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:133
msgid "Both UDP and NIO have been Implemented in I2P"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:134
msgid ""
"Standard TCP communication in Java generally requires blocking socket \n"
2013-07-03 01:01:50 +00:00
"calls, and to keep a blocked socket from hanging the entire system, those \n"
2013-06-05 10:00:16 +00:00
"blocking calls are done on their own threads. Our current TCP transport \n"
"is implemented in a naive fashion - for each peer we are talking to, we \n"
2013-07-03 01:01:50 +00:00
"have one thread reading and one thread writing. The reader thread simply \n"
2013-06-05 10:00:16 +00:00
"loops a bunch of read() calls, building I2NP messages and adding them \n"
2013-07-03 01:01:50 +00:00
"to our internal inbound message queue, and the writer thread pulls messages \n"
2013-06-05 10:00:16 +00:00
"off a per-connection outbound message queue and shoves the data through \n"
"write() calls."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:145
msgid ""
"We do this fairly efficiently, from a CPU perspective - at any time, \n"
2013-07-03 01:01:50 +00:00
"almost all of these threads are sitting idle, blocked waiting for something \n"
"to do. However, each thread consumes real resources (on older Linux kernels, \n"
"for instance, each thread would often be implemented as a fork()'ed process). \n"
2013-06-05 10:00:16 +00:00
"As the network grows, the number of peers each router will want to talk \n"
"with will increase (remember, I2P is fully connected, meaning that any \n"
2013-07-03 01:01:50 +00:00
"given peer should know how to get a message to any other peer, and restricted \n"
"route support will probably not significantly reduce the number of connections \n"
2013-06-05 10:00:16 +00:00
"necessary). This means that with a 100,000 router network, each router \n"
"will have up to 199,998 threads just to deal with the TCP connections!"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:157
msgid ""
"Obviously, that just won't work. We need to use a transport layer that \n"
"can scale. In Java, we have two main camps:"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:162
#, python-format
msgid ""
"Implemented in I2P 0.6 (\"SSU\") as documented <a "
"href=\"%(ssu)s\">elsewhere</a>"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:165
msgid ""
"Sending and receiving UDP datagrams is a connectionless operation - if \n"
2013-07-03 01:01:50 +00:00
"we are communicating with 100,000 peers, we simply stick the UDP packets \n"
"in a queue and have a single thread pulling them off the queue and shoving \n"
2013-06-05 10:00:16 +00:00
"them out the pipe (and to receive, have a single thread pulling in any \n"
"UDP packets received and adding them to an inbound queue)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:172
msgid ""
2013-07-03 01:01:50 +00:00
"However, moving to UDP means losing the benefits of TCP's ordering, congestion \n"
"control, MTU discovery, etc. Implementing that code will take significant \n"
2013-06-05 10:00:16 +00:00
"work, however I2P doesn't need it to be as strong as TCP. Specifically, \n"
"a while ago I was taking some measurements in the simulator and on the \n"
2013-07-03 01:01:50 +00:00
"live net, and the vast majority of messages transferred would fit easily \n"
"within a single unfragmented UDP packet, and the largest of the messages \n"
"would fit within 20-30 packets. As mule pointed out, TCP adds a significant \n"
"overhead when dealing with so many small packets, as the ACKs are within \n"
2013-06-05 10:00:16 +00:00
"an order of magnitude in size. With UDP, we can optimize the transport \n"
2013-07-03 01:01:50 +00:00
"for both efficiency and resilience by taking into account I2P's particular \n"
2013-06-05 10:00:16 +00:00
"needs."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:185
msgid "It will be a lot of work though."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:188
msgid "NIO or NBIO"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:189
msgid "NIO Implemented in I2P 0.6.1.22 (\"NTCP\")"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:192
msgid ""
2013-07-03 01:01:50 +00:00
"In Java 1.4, a set of \"New I/O\" packages was introduced, allowing Java \n"
2013-06-05 10:00:16 +00:00
"developers to take advantage of the operating system's nonblocking IO \n"
"capabilities - allowing you to maintain a large number of concurrent IO \n"
"operations without requiring a separate thread for each. There is much \n"
"promise with this approach, as we can scalable handle a large number of \n"
"concurrent connections and we don't have to write a mini-TCP stack with \n"
2013-07-03 01:01:50 +00:00
"UDP. However, the NIO packages have not proven themselves to be battle-ready, \n"
"as the Freenet developer's found. In addition, requiring NIO support would \n"
"mean we can't run on any of the open source JVMs like <a href=\"http://www.kaffe.org/\">Kaffe</a>, \n"
"as <a href=\"http://www.classpath.org/\">GNU/Classpath</a> has only limited \n"
2013-06-05 10:00:16 +00:00
"support for NIO. <i>(note: this may not be the case anymore, as there \n"
2013-07-03 01:01:50 +00:00
"has been some progress on Classpath's NIO, but it is an unknown quantity)</i>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:206
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Another alternative along the same lines is the <a href=\"%(link)s\">Non \n"
2013-06-05 10:00:16 +00:00
"Blocking I/O</a> package - essentially a cleanroom NIO implementation \n"
"(written before NIO was around). It works by using some native OS code \n"
"to do the nonblocking IO, passing off events through Java. It seems to \n"
"be working with Kaffe, though there doesn't seem to be much development \n"
"activity on it lately (likely due to 1.4's NIO deployment)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:221
msgid ""
2013-07-03 01:01:50 +00:00
"Within the current network database and profile management implementation, \n"
2013-06-05 10:00:16 +00:00
"we have taken the liberty of some practical shortcuts. For instance, we \n"
"don't have the code to drop peer references from the K-buckets, as we \n"
"don't have enough peers to even plausibly fill any of them, so instead, \n"
2013-07-03 01:01:50 +00:00
"we just keep the peers in whatever bucket is appropriate. Another example \n"
"deals with the peer profiles - the memory required to maintain each peer's \n"
"profile is small enough that we can keep thousands of full blown profiles \n"
2013-06-05 10:00:16 +00:00
"in memory without problems. While we have the capacity to use trimmed \n"
"down profiles (which we can maintain 100s of thousands in memory), we \n"
2013-07-03 01:01:50 +00:00
"don't have any code to deal with moving a profile from a \"minimal profile\" \n"
"to a \"full profile\", a \"full profile\" to a \"minimal profile\", or to simply \n"
2013-06-05 10:00:16 +00:00
"eject a profile altogether. It just wouldn't be practical to write that \n"
"code yet, since we aren't going to need it for a while."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:236
msgid ""
2013-07-03 01:01:50 +00:00
"That said, as the network grows we are going to want to keep these considerations \n"
2013-06-05 10:00:16 +00:00
"in mind. We will have some work to do, but we can put it off for later."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:248
#: i2p2www/pages/site/get-involved/todo.html:332
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Addressed in I2P 0.5 as documented <a href=\"%(tunnelimpl)s\">elsewhere</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:251
msgid ""
"Right now, if Alice builds a four hop inbound tunnel starting at Elvis, \n"
2013-07-03 01:01:50 +00:00
"going to Dave, then to Charlie, then Bob, and finally Alice (A&lt;--B&lt;--C&lt;--D&lt;--E), \n"
2013-06-05 10:00:16 +00:00
"all five of them will know they are participating in tunnel \"123\", as \n"
2013-07-03 01:01:50 +00:00
"the messages are tagged as such. What we want to do is give each hop their \n"
2013-06-05 10:00:16 +00:00
"own unique tunnel hop ID - Charlie will receive messages on tunnel 234 \n"
"and forward them to tunnel 876 on Bob. The intent is to prevent Bob or \n"
"Charlie from knowing that they are in Alice's tunnel, as if each hop in \n"
"the tunnel had the same tunnel ID, collusion attacks aren't much work."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:261
msgid ""
2013-07-03 01:01:50 +00:00
"Adding a unique tunnel ID per hop isn't hard, but by itself, insufficient. \n"
"If Dave and Bob are under the control of the same attacker, they wouldn't \n"
2013-06-05 10:00:16 +00:00
"be able to tell they are in the same tunnel due to the tunnel ID, but \n"
"would be able to tell by the message bodies and verification structures \n"
"by simply comparing them. To prevent that, the tunnel must use layered \n"
"encryption along the path, both on the payload of the tunneled message \n"
2013-07-03 01:01:50 +00:00
"and on the verification structure (used to prevent simple tagging attacks). \n"
2013-06-05 10:00:16 +00:00
"This requires some simple modifications to the TunnelMessage, as well \n"
2013-07-03 01:01:50 +00:00
"as the inclusion of per-hop secret keys delivered during tunnel creation \n"
2013-06-05 10:00:16 +00:00
"and given to the tunnel's gateway. We must fix a maximum tunnel length \n"
"(e.g. 16 hops) and instruct the gateway to encrypt the message to each \n"
"of the 16 delivered secret keys, in reverse order, and to encrypt the \n"
2013-07-03 01:01:50 +00:00
"signature of the hash of the (encrypted) payload at each step. The gateway \n"
"then sends that 16-step encrypted message, along with a 16-step and 16-wide \n"
2013-06-05 10:00:16 +00:00
"encrypted mapping to the first hop, which then decrypts the mapping and \n"
"the payload with their secret key, looking in the 16-wide mapping for \n"
2013-07-03 01:01:50 +00:00
"the entry associated with their own hop (keyed by the per-hop tunnel ID) \n"
2013-06-05 10:00:16 +00:00
"and verifying the payload by checking it against the associated signed \n"
"hash."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:282
msgid ""
2013-07-03 01:01:50 +00:00
"The tunnel gateway does still have more information than the other peers \n"
"in the tunnel, and compromising both the gateway and a tunnel participant \n"
"would allow those peers to collude, exposing the fact that they are both \n"
2013-06-05 10:00:16 +00:00
"in the same tunnel. In addition, neighboring peers know that they are \n"
2013-07-03 01:01:50 +00:00
"in the same tunnel anyway, as they know who they send the message to (and \n"
2013-06-05 10:00:16 +00:00
"with IP-based transports without restricted routes, they know who they \n"
"got it from). However, the above two techniques significantly increase \n"
"the cost of gaining meaningful samples when dealing with longer tunnels."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:298
msgid "Implemented in release 0.6.2"
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:301
#, python-format
msgid ""
"As Connelly <a href=\"%(link)s\">proposed</a> to deal with the\n"
"<a href=\"%(pdf1)s\">predecessor attack</a> <a href=\"%(pdf2)s\">(2008\n"
"update)</a>, keeping the order of peers within our tunnels consistent \n"
"(aka whenever Alice creates a tunnel with both Bob and Charlie in it, \n"
"Bob's next hop is always Charlie), we address the issue as Bob doesn't \n"
"get to substantially sample Alice's peer selection group. We may even \n"
"want to explicitly allow Bob to participate in Alice's tunnels in only \n"
"one way - receiving a message from Dave and sending it to Charlie - and \n"
2013-07-03 01:01:50 +00:00
"if any of those peers are not available to participate in the tunnel (due \n"
"to overload, network disconnection, etc), avoid asking Bob to participate \n"
2013-06-05 10:00:16 +00:00
"in any tunnels until they are back online."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:316
msgid ""
"More analysis is necessary for revising the tunnel creation - at the \n"
"moment, we simply select and order randomly within the peer's top tier \n"
"of peers (ones with fast + high capacity)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:321
msgid ""
2013-07-03 01:01:50 +00:00
"Adding a strict ordering to peers in a tunnel also improves the anonymity \n"
"of peers with 0-hop tunnels, as otherwise the fact that a peer's gateway \n"
2013-06-05 10:00:16 +00:00
"is always the same would be particularly damning. However, peers with \n"
"0-hop tunnels may want to periodically use a 1-hop tunnel to simulate \n"
"the failure of a normally reliable gateway peer (so every MTBF*(tunnel \n"
"duration) minutes, use a 1-hop tunnel)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:338
msgid ""
2013-07-03 01:01:50 +00:00
"Without tunnel length permutation, if someone were to somehow detect that \n"
"a destination had a particular number of hops, it might be able to use that \n"
"information to identify the router the destination is located on, per the \n"
2013-06-05 10:00:16 +00:00
"predecessor attack. For instance, if everyone has 2-hop tunnels, if Bob \n"
2013-07-03 01:01:50 +00:00
"receives a tunnel message from Charlie and forwards it to Alice, Bob knows \n"
"Alice is the final router in the tunnel. If Bob were to identify what destination \n"
"that tunnel served (by means of colluding with the gateway and harvesting \n"
"the network database for all of the LeaseSets), he would know the router \n"
"on which that destination is located (and without restricted routes, that \n"
2013-06-05 10:00:16 +00:00
"would mean what IP address the destination is on)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:350
msgid ""
"It is to counter user behavior that tunnel lengths should be permuted, \n"
"using algorithms based on the length requested (for example, the 1/MTBF \n"
"length change for 0-hop tunnels outlined above)."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:360
msgid ""
2013-07-03 01:01:50 +00:00
"The restricted route functionality described before was simply a functional \n"
2013-06-05 10:00:16 +00:00
"issue - how to let peers who would not otherwise be able to communicate \n"
2013-07-03 01:01:50 +00:00
"do so. However, the concept of allowing restricted routes includes additional \n"
"capabilities. For instance, if a router absolutely cannot risk communicating \n"
"directly with any untrusted peers, they can set up trusted links through \n"
2013-06-05 10:00:16 +00:00
"those peers, using them to both send and receive all of its messages. \n"
"Those hidden peers who want to be completely isolated would also refuse \n"
"to connect to peers who attempt to get them to (as demonstrated by the \n"
2013-07-03 01:01:50 +00:00
"garlic routing technique outlined before) - they can simply take the garlic \n"
2013-06-05 10:00:16 +00:00
"clove that has a request for delivery to a particular peer and tunnel \n"
2013-07-03 01:01:50 +00:00
"route that message out one of the hidden peer's trusted links with instructions \n"
2013-06-05 10:00:16 +00:00
"to forward it as requested."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:379
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Within the network, we will want some way to deter people from consuming \n"
"too many resources or from creating so many peers to mount a <a href=\"%(link)s\">Sybil</a> \n"
"attack. Traditional techniques such as having a peer see who is requesting \n"
2013-06-05 10:00:16 +00:00
"a resource or running a peer aren't appropriate for use within I2P, as \n"
"doing so would compromise the anonymity of the system. Instead, we want \n"
"to make certain requests \"expensive\"."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:387
msgid ""
"<a href=\"http://www.hashcash.org/\">Hashcash</a> is one technique that \n"
2013-07-03 01:01:50 +00:00
"we can use to anonymously increase the \"cost\" of doing certain activities, \n"
"such as creating a new router identity (done only once on installation), \n"
2013-06-05 10:00:16 +00:00
"creating a new destination (done only once when creating a service), or \n"
2013-07-03 01:01:50 +00:00
"requesting that a peer participate in a tunnel (done often, perhaps 2-300 \n"
"times per hour). We don't know the \"correct\" cost of each type of certificate \n"
"yet, but with some research and experimentation, we could set a base level \n"
2013-06-05 10:00:16 +00:00
"that is sufficiently expensive while not an excessive burden for people \n"
"with few resources."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:398
msgid ""
"There are a few other algorithms that we can explore for making those \n"
2013-07-03 01:01:50 +00:00
"requests for resources \"nonfree\", and further research on that front is \n"
2013-06-05 10:00:16 +00:00
"appropriate."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:408
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"To powerful passive external observers as well as large colluding internal \n"
"observers, standard tunnel routing is vulnerable to traffic analysis attacks \n"
"- simply watching the size and frequency of messages being passed between \n"
2013-06-05 10:00:16 +00:00
"routers. To defend against these, we will want to essentially turn some \n"
"of the tunnels into its own mix cascade - delaying messages received at \n"
"the gateway and passing them in batches, reordering them as necessary, \n"
2013-07-03 01:01:50 +00:00
"and injecting dummy messages (indistinguishable from other \"real\" tunnel \n"
2013-06-05 10:00:16 +00:00
"messages by peers in the path). There has been a significant amount of \n"
"<a href=\"%(pdf)s\">research</a> \n"
2013-07-03 01:01:50 +00:00
"on these algorithms that we can lean on prior to implementing the various \n"
2013-06-05 10:00:16 +00:00
"tunnel mixing strategies."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:421
msgid ""
"In addition to the anonymity aspects of more varied tunnel operation, \n"
"there is a functional dimension as well. Each peer only has a certain \n"
2013-07-03 01:01:50 +00:00
"amount of data they can route for the network, and to keep any particular \n"
2013-06-05 10:00:16 +00:00
"tunnel from consuming an unreasonable portion of that bandwidth, they \n"
2013-07-03 01:01:50 +00:00
"will want to include some throttles on the tunnel. For instance, a tunnel \n"
2013-06-05 10:00:16 +00:00
"may be configured to throttle itself after passing 600 messages (1 per \n"
"second), 2.4MB (4KBps), or exceeding some moving average (8KBps for the \n"
"last minute). Excess messages may be delayed or summarily dropped. With \n"
2013-07-03 01:01:50 +00:00
"this sort of throttling, peers can provide ATM-like QoS support for their \n"
2013-06-05 10:00:16 +00:00
"tunnels, refusing to agree to allocate more bandwidth than the peer has \n"
"available."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:434
msgid ""
2013-07-03 01:01:50 +00:00
"In addition, we may want to implement code to dynamically reroute tunnels \n"
2013-06-05 10:00:16 +00:00
"to avoid failed peers or to inject additional hops into the path. This \n"
2013-07-03 01:01:50 +00:00
"can be done by garlic routing a message to any particular peer in a tunnel \n"
2013-06-05 10:00:16 +00:00
"with instructions to redefine the next-hop in the tunnel."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:445
msgid ""
"Beyond the per-tunnel batching and mixing strategy, there are further \n"
2013-07-03 01:01:50 +00:00
"capabilities for protecting against powerful attackers, such as allowing \n"
2013-06-05 10:00:16 +00:00
"each step in a garlic routed path to define a delay or window in which \n"
2013-07-03 01:01:50 +00:00
"it should be forwarded on. This would enable protections against the long \n"
"term intersection attack, as a peer could send a message that looks perfectly \n"
"standard to most peers that pass it along, except at any peers where the \n"
2013-06-05 10:00:16 +00:00
"clove exposed includes delay instructions."
msgstr ""
#: i2p2www/pages/site/get-involved/todo.html:457
#, python-format
msgid ""
"Performance related improvements are listed on the\n"
"<a href=\"%(futureperf)s\">Performance</a> page."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:2
msgid "Bounty Arabic translation of webpage and router console"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:3
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:119
2013-06-05 10:00:16 +00:00
msgid "Arabic translation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P echelon set out this bounty for translation\n"
"of the I2P web page and I2P router console into Arabic."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:12
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:12
msgid "This bounty is set into 2 subparts:"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:14
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:14
msgid "Part 1 is translation of the webpage."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:17
msgid ""
"For collecting the bounty of 20 BTC you need to translate the following "
"pages:"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:25
2013-07-03 01:01:50 +00:00
msgid ""
"This job was done by hamada and the bounty of 20 BTC was paid to hamada."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:27
msgid ""
"Part 2 is the translation of the router console. The router console was\n"
"partly translated and the bounty of 80 BTC was paid to hamada."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/arabic-trans.html:34
msgid "Judge is echelon."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:2
msgid "Bounty creating a I2P native Bitcoin client"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:3
msgid "BTC I2P native client"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:6
msgid ""
"For a future of I2P and attract more people\n"
"into I2P this bounty is to create a I2P native Bitcoin client. \n"
2013-07-03 01:01:50 +00:00
"It should integrate with other client via the I2P network and via gateways to\n"
2013-06-05 10:00:16 +00:00
"the existant bitcoin network."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/btc-client.html:15
msgid "Judge is psychonaut who donated the first 30 &euro; to this bounty."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:2
msgid "Bounty datastorage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:3
msgid "datastore"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:6
msgid ""
"To improve I2P's usage and to be independent of routers \n"
"online status we want a datastorage as a extension to I2P.\n"
"Like in Freenet the datastorage should be distributed and every\n"
"participating node should be able to configure his options.\n"
"The files should be saved in chunks and at least 2-3 times to\n"
"obtain redundancy. Usage of storage space should be auto balanced.\n"
"As it is a extra application, it should work flawless within I2P and\n"
"cooperate nice with the I2P router. Maybe a integration within the\n"
"webpage/router could be done."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:17
msgid ""
"This bounty cooperates with the 2 other bounties \"frost for I2P\" and \n"
"\"eepsites in datastorage\"."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:21
msgid ""
"The frost for I2P datastorage bounty is paid for a frost like program \n"
2013-07-03 01:01:50 +00:00
"with which files/messages are stored into database and got from database.\n"
2013-06-05 10:00:16 +00:00
"It needs to work with a GUI."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:26
msgid ""
"The eepsite served out of I2P datastorage extends a I2P router to send\n"
2013-07-03 01:01:50 +00:00
"out eepsites out of the I2P datastorage. All files for eepsites need to be\n"
2013-06-05 10:00:16 +00:00
"saved inside of datastorage and are taken from it.\n"
"Extension:\n"
2013-07-03 01:01:50 +00:00
"For better integration all datastorage participants could serve that eepsite."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/datastore.html:36
msgid ""
2013-07-03 01:01:50 +00:00
"For bounties to be declared done and paid, we need the program AND the source.\n"
"Source and code need to be licensed under a free license (free to change and \n"
2013-06-05 10:00:16 +00:00
"free to distribute)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:2
msgid "Bounty I2P package in Debian and Ubuntu mirrors"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:3
msgid "I2P Ubuntu/Debian package"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/deb-pack.html:6
msgid ""
"For the future of I2P and in order to attract more people\n"
2013-07-03 01:01:50 +00:00
"to I2P, this bounty was set for including an I2P package into the Ubuntu and Debian \n"
2013-06-05 10:00:16 +00:00
"archive mirrors.\n"
"To claim this bounty, the I2P router package needs to be available from\n"
"Ubuntu and Debian archive mirrors and Debian bug \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=448638\">448638</a> \n"
2013-06-05 10:00:16 +00:00
"needs to be closed successfully."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:2
msgid "Bounty I2PHex code implementation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:3
msgid "i2phex code implementation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/i2phex.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2PHex P2P ArneBab setout the bounty for implementing actual\n"
"Phex code onto I2PHex."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:5
msgid "Bounties for I2P"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:6
msgid ""
"While we always gratefully accept any contributions of code, \n"
"documentation, and the like, there are other ways to help I2P move \n"
2013-07-03 01:01:50 +00:00
"forward. As with any open source project, our goals would be achieved more \n"
2013-06-05 10:00:16 +00:00
"rapidly if we were able to support all of our contributors to work on \n"
"I2P full time. However, as with any open source project, that's not a \n"
"possibility. Instead, we are making use of a bounty system, whereby \n"
"anyone can get support for working on something that people want \n"
2013-07-03 01:01:50 +00:00
"implemented, and people who want to contribute to I2P can be assured that \n"
2013-06-05 10:00:16 +00:00
"their support goes to what they care about."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:18
msgid ""
"We are also keeping open the ability for people who want to support I2P \n"
2013-07-03 01:01:50 +00:00
"but don't have strong feelings about the bounties available. Those people\n"
2013-06-05 10:00:16 +00:00
"can simply put their trust in the I2P team to do what we feel is best by\n"
"donating to a catch-all general fund that will be used as deemed \n"
2013-07-03 01:01:50 +00:00
"necessary - allocated to various bounties, covering incidentals (hosting, \n"
2013-06-05 10:00:16 +00:00
"etc), and the like."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:27
msgid "Current bounties"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:30
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:99
#: i2p2www/pages/site/get-involved/bounties/index.html:112
2013-06-05 10:00:16 +00:00
msgid "Name"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:30
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:99
#: i2p2www/pages/site/get-involved/bounties/index.html:112
2013-06-05 10:00:16 +00:00
msgid "Status"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:30
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:99
2013-06-05 10:00:16 +00:00
msgid "Judge"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:30
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:99
2013-06-05 10:00:16 +00:00
msgid "Bounty"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:32
msgid "Frost for I2P datastorage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:33
#: i2p2www/pages/site/get-involved/bounties/index.html:40
#: i2p2www/pages/site/get-involved/bounties/index.html:47
#: i2p2www/pages/site/get-involved/bounties/index.html:54
#: i2p2www/pages/site/get-involved/bounties/index.html:61
#: i2p2www/pages/site/get-involved/bounties/index.html:82
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:89
2013-06-05 10:00:16 +00:00
msgid "Proposal in development"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:39
msgid "Eepsites served out of I2P datastorage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:46
msgid "Backporting Phex code onto I2PHex"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:53
msgid "Make I2P IPv6 native"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:60
msgid "I2P package in Debian and Ubuntu mirrors"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:68
msgid "Done, phase of verification"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:74
msgid "Unit tests and Multi-router Simulation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/index.html:75
msgid "Partly done, partly in work, partly still open"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:96
2013-06-05 10:00:16 +00:00
msgid "Hold bounties, set on hold due to jrandom AWOL and missing funding"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:101
2013-06-05 10:00:16 +00:00
msgid "Bundling bounties"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:102
2013-06-05 10:00:16 +00:00
msgid "Proposed"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:109
2013-06-05 10:00:16 +00:00
msgid "Claimed bounties"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:112
2013-06-05 10:00:16 +00:00
msgid "Dev team"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:114
2013-06-05 10:00:16 +00:00
msgid "Setting up a SILC server"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:124
2013-06-05 10:00:16 +00:00
msgid "Datastore over I2P"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:134
2013-06-05 10:00:16 +00:00
msgid "Swarming file transfer"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:139
2013-06-05 10:00:16 +00:00
msgid "Streaming library window size"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:144
2013-06-05 10:00:16 +00:00
msgid "IRC connect time monitor"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:149
2013-06-05 10:00:16 +00:00
msgid "Unit tests (part 1)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/index.html:161
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Dev lists anyone who may already be working on the bounty - collaboration is\n"
"preferred, so if you're interested in working on it, please contact one of the\n"
2013-06-05 10:00:16 +00:00
"people listed!"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:2
msgid "Bounty I2P IPv6 native"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:3
msgid "native IPv6 I2P"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:6
msgid ""
"For a future of I2P and attract more people\n"
"into I2P I withdrawal the vuze bounty and offer a IPv6 bounty.\n"
"To claim this bounty, the I2P router needs to run full on native\n"
"IPv6 connections like it does on IPv4."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/ipv6.html:15
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:20
msgid ""
2013-07-03 01:01:50 +00:00
"For bounties to be declared done and paid, we need the plugin AND the source.\n"
"Source and code need to be licensed under a free license (free to change and \n"
2013-06-05 10:00:16 +00:00
"free to distribute)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/bounties/netdb.html:2
msgid "NetDB Backend"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:3
msgid "netDB backend"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:7
msgid ""
"The current NetDB implementation (namely the FloodFill system)\n"
"needs to be extended with another backend to improve reliability,\n"
"reduce attack surface and solve the scalability issue for the \n"
"coming years."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/netdb.html:14
msgid ""
"A solution likely based on a DHT will be investigated and \n"
"finally implemented."
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:2
msgid "Bounty russian translation of webpage and router console"
msgstr ""
2013-07-03 01:01:50 +00:00
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:3
msgid "Russian translation"
msgstr ""
2013-06-05 10:00:16 +00:00
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P a anonymous donator set out the bounty for translation\n"
"of the I2P web page and I2P router console into russian language."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:17
msgid ""
2013-07-03 01:01:50 +00:00
"For collecting the bounty of $115 USD you need to translate the following "
"pages:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:30
msgid ""
2013-07-03 01:01:50 +00:00
"Part 2 is the translation of the router console. The whole router console needs\n"
2013-06-05 10:00:16 +00:00
"to be translated to collect the bounty of $115 USD."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/russian-trans.html:37
msgid "Judge is the russian donor."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:2
msgid "Bounty migrate I2P IRC to SILC"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:3
msgid "I2P silc server"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:7
msgid ""
"For a future of I2P and attract more people\n"
"into I2P this bounty is to setup and host a I2P SILC server. \n"
2013-07-03 01:01:50 +00:00
"This will allow people to send files over their messaging servers and have intrinsic security built into the protocol."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:12
msgid ""
2013-07-03 01:01:50 +00:00
"A silc server needs to be set up and run for at least 3 month time to get payed. \n"
2013-06-05 10:00:16 +00:00
"A second server should be set up, to."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:16
msgid ""
2013-07-03 01:01:50 +00:00
"Bounty was withdrawn and money donated to returningnovice and general fund."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/silc.html:22
msgid "Judge is An Anonymous Secret Society, society@mail.i2p."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:7
msgid ""
"Beside of I2P we want to encourage users\n"
"to care more about anonymity and security. As I2P is a low \n"
"latency network with its natural limits, the software SYNDIE\n"
"can overcome some of these limits and provide better anonymity\n"
"for people who really need it."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:14
msgid ""
2013-06-11 12:45:56 +00:00
"For our bad sake the syndie project was out of development for \n"
2013-06-05 10:00:16 +00:00
"quite a long time yet (5 years). To get a fresh and new built \n"
"with needed bugfixes we set out this bounty. Also syndie needs\n"
"some enhancements and a better GUI for users to work with it.\n"
2013-06-11 12:45:56 +00:00
"Current bounty sum is 50 Bitcoin."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/syndie-2012.html:22
msgid ""
"The latest Syndie coding rally did improve the situation of the\n"
"Syndie package dramatically. A new Syndie package with bugfixes\n"
"was created and made available on different webpages.\n"
"As a result of this work, the bounty sum was reduced and\n"
"the withdrawn money moved to the IPv6 bounty."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:2
msgid "Bounty unittests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:3
msgid "unit test"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:7
msgid ""
"To improve I2P's maintainability, we want to have a solid set of\n"
"automated unit tests for the critical code. While we do have some\n"
"unit tests at the moment, they are ad-hoc and partly unfinished. \n"
"This bounty is for someone to check the existing tests and move over\n"
"old ones to jUnit, automate their execution, extend them to provide \n"
"better code coverage, and publish the report online. Its a massive \n"
"effort, but can be broken down into phases, listed below (phase 2 \n"
"must occur first, but further phases may happen in any order).\n"
"As this needs some reading of code, it is the best start point for\n"
"new devs to get a good overview of I2P code and coding. A good job\n"
"for college students, interns or anyone who is just interested."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:20
msgid ""
"Take care! Jobs and bounties shuffled a bit!\n"
"Phase 6,7 and 8 are still open!"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:26
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:40
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:55
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:66
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:77
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:88
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:101
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:112
#, python-format
msgid "Phase %(phase)s:"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:27
msgid "CI jenkins and IRC bot"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:28
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:42
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:57
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:68
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:79
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:90
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:103
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:114
#, python-format
msgid "Bounty: %(euro)s &euro;"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:29
msgid "server runs and this section is blocked"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:31
msgid ""
"To collect this bounty, a continuous integration server (Jenkins,\n"
"old name was Hudson) must be set up and a connected IRC bot needs \n"
"to set up in the channel #i2p-dev on IRC2p network to print out\n"
"results of build tests.<br>\n"
"The server needs to be run long term."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:41
msgid "Check existing SDK tests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:43
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:69
msgid "paid to str4d"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:45
#, python-format
msgid ""
"To collect this bounty, the existing SDK tests must be checked \n"
"and made to work again. The need to be integrated into the ant \n"
2013-07-03 01:01:50 +00:00
"build scripts (\"ant test\"), and tied in with a code coverage tool (e.g. \n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(clover)s\">Clover</a>). The ant script\n"
"must be capable of generating test status results as a web page, \n"
"which will be published online."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:56
msgid "SDK test coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:58
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:80
msgid "paid to unittests dev team"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:60
msgid ""
"To collect this bounty, the automated unit tests of the SDK \n"
"(i2p/core/java/src) must work again."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:67
msgid "Router test migration"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:71
msgid ""
"As with phase 2, the existing unit tests for the router must be\n"
"moved over to the automated system."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:78
msgid "Router test coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:82
msgid ""
"To collect this bounty, the automated unit tests of the router \n"
"(i2p/router/java/src) must work again."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:89
msgid "Streaming lib tests"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:94
#, python-format
msgid ""
"To collect this bounty, a new set of unit tests must meet a \n"
"measured code coverage of 90% of the streaming lib \n"
"(i2p/apps/ministreaming/ and i2p/apps/streaming/)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:102
msgid "Unit tests coverage"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:106
msgid ""
"To collect this bounty, all above unit tests must meet the 100%\n"
"coverage marker (except for log statements)."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:113
msgid "MultiRouter simulation"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:115
msgid "will be split in more sub-tasks"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:117
msgid ""
"To collect this bounty, the existing in-memory multi-router\n"
"simulation must be checked, made work again and extend to simulate\n"
"lots of routers in memory on a single machine. This bounty will\n"
"be split in more fine grained subworks."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/unit-tests.html:126
msgid ""
"Judge on all these works is the donor and donor decides if a phase is\n"
"called succesfull done and money can be paid."
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:2
msgid "Bounty I2P vuze plugin"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:3
msgid "vuze plugin"
msgstr ""
#: i2p2www/pages/site/get-involved/bounties/vuze-plugin.html:6
msgid ""
"To improve I2P usage and attract more people\n"
"into I2P torrent P2P I setout the bounty for a working I2P vuze\n"
"plugin.\n"
"The plugin needs to be official and submitted to vuze for publication\n"
"on their webpage/repository for plugins.\n"
"It should be easy to install and configured, work smooth and flawless.\n"
2013-07-03 01:01:50 +00:00
"Configuration should be friendly to starters and made easy to be anonymous.\n"
2013-06-05 10:00:16 +00:00
"It should work with *.b32.i2p destinations as with signed (516++ bits) \n"
"destinations."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:2
msgid "Application Development"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:6
2013-06-05 10:00:16 +00:00
msgid "Application Development Guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:10
#: i2p2www/pages/site/get-involved/develop/applications.html:16
2013-06-05 10:00:16 +00:00
msgid "Why write I2P-specific code?"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:11
#: i2p2www/pages/site/get-involved/develop/applications.html:102
2013-06-05 10:00:16 +00:00
msgid "Important concepts"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:12
#: i2p2www/pages/site/get-involved/develop/applications.html:190
2013-06-05 10:00:16 +00:00
msgid "Development options"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:13
#: i2p2www/pages/site/get-involved/develop/applications.html:303
2013-06-05 10:00:16 +00:00
msgid "Start developing - a simple guide"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:18
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"There are multiple ways to use applications in I2P.\n"
"Using <a href=\"%(i2ptunnel)s\">I2PTunnel</a>,\n"
2013-07-03 01:01:50 +00:00
"you can use regular applications without needing to program explicit I2P support.\n"
2013-06-05 10:00:16 +00:00
"This is very effective for client-server scenario's,\n"
"where you need to connect to a single website.\n"
2013-07-03 01:01:50 +00:00
"You can simply create a tunnel using I2PTunnel to connect to that website, as shown in <a href=\"#tunnel.serverclient\">Figure 1</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:26
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"If your application is distributed, it will require connections to a large amount of peers.\n"
"Using I2PTunnel, you will need to create a new tunnel for each peer you want to contact,\n"
2013-06-05 10:00:16 +00:00
"as shown in <a href=\"#tunnel.peertopeer\">Figure 2</a>.\n"
2013-07-03 01:01:50 +00:00
"This process can of course be automated, but running a lot of I2PTunnel instances creates a large amount of overhead.\n"
2013-06-05 10:00:16 +00:00
"In addition, with many protocols you will need to force everyone to \n"
2013-07-03 01:01:50 +00:00
"use the same set of ports for all peers - e.g. if you want to reliably run DCC \n"
"chat, everyone needs to agree that port 10001 is Alice, port 10002 is Bob, port \n"
"10003 is Charlie, and so on, since the protocol includes TCP/IP specific information\n"
2013-06-05 10:00:16 +00:00
"(host and port)."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:37
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"General network applications often send a lot of additional data that could be used to identify users.\n"
"Hostnames, port numbers, time zones, character sets, etc. are often sent without informing the user.\n"
"As such, designing the network protocol specifically with anonymity in mind\n"
2013-06-05 10:00:16 +00:00
"can avoid compromising user identities."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:43
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"There are also efficiency considerations to review when determining how to \n"
"interact on top of I2P. The streaming library and things built on top of it\n"
"operate with handshakes similar to TCP, while the core I2P protocols (I2NP and I2CP)\n"
"are strictly message based (like UDP or in some instances raw IP). The important\n"
"distinction is that with I2P, communication is operating over a long fat network - \n"
"each end to end message will have nontrivial latencies, but may contain payloads \n"
"of up to several KB. An application that needs a simple request and response can get rid\n"
"of any state and drop the latency incurred by the startup and teardown handshakes\n"
"by using (best effort) datagrams without having to worry about MTU detection or \n"
2013-06-11 12:45:56 +00:00
"fragmentation of messages."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:57
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:59
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Creating a server-client connection using I2PTunnel only requires creating a"
" single tunnel."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:59
2013-06-05 10:00:16 +00:00
msgid "Figure 1:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:64
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:66
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Setting up connections for a peer-to-peer applications requires a very large"
" amount of tunnels."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:66
2013-06-05 10:00:16 +00:00
msgid "Figure 2:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:70
2013-06-05 10:00:16 +00:00
msgid "In summary, a number of reasons to write I2P-specific code:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:74
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Creating a large amount of I2PTunnel instances consumes a non-trivial amount of resources,\n"
"which is problematic for distributed applications (a new tunnel is required for each peer)."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:78
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"General network protocols often send a lot of additional data that can be used to identify users.\n"
"Programming specifically for I2P allows the creation of a network protocol\n"
2013-06-05 10:00:16 +00:00
"that does not leak such information, keeping users anonymous and secure."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:83
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Network protocols designed for use on the regular internet can be inefficient\n"
2013-06-05 10:00:16 +00:00
"on I2P, which is a network with a much higher latency."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:90
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P supports a standard <a href=\"%(plugins)s\">plugins interface</a> for developers\n"
2013-06-11 12:45:56 +00:00
"so that applications may be easily integrated and distributed."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:96
2013-06-05 10:00:16 +00:00
msgid ""
"Applications written in Java and accessible/runnable\n"
"using an HTML interface via the standard webapps/app.war\n"
"may be considered for inclusion in the i2p distribution."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:104
2013-06-05 10:00:16 +00:00
msgid "There are a few changes that require adjusting to when using I2P:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:108
2013-06-05 10:00:16 +00:00
msgid "Destination ~= host+port"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:110
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"An application running on I2P sends messages from and receives messages to a\n"
"unique cryptographically secure end point - a \"destination\". In TCP or UDP\n"
"terms, a destination could (largely) be considered the equivalent of a hostname\n"
2013-06-05 10:00:16 +00:00
"plus port number pair, though there are a few differences."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:118
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"An I2P destination itself is a cryptographic construct - all data sent to one is \n"
"encrypted as if there were universal deployment of IPsec with the (anonymized)\n"
"location of the end point signed as if there were universal deployment of DNSSEC."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:123
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"I2P destinations are mobile identifiers - they can be moved from one I2P router\n"
"to another (or it can even \"multihome\" - operate on multiple routers at\n"
"once). This is quite different from the TCP or UDP world where a single end point (port)\n"
2013-06-05 10:00:16 +00:00
"must stay on a single host."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:130
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"I2P destinations are ugly and large - behind the scenes, they contain a 2048 bit ElGamal\n"
"public key for encryption, a 1024 bit DSA public key for signing, and a variable size \n"
2013-06-05 10:00:16 +00:00
"certificate, which may contain proof of work or blinded data."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:135
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"There are existing ways to refer to these large and ugly destinations by short\n"
"and pretty names (e.g. \"irc.duck.i2p\"), but those techniques do not guarantee\n"
"globally uniqueness (since they're stored locally in a database on each person's machine)\n"
"and the current mechanism is not especially scalable nor secure (updates to the host list are\n"
2013-06-11 12:45:56 +00:00
"managed using \"subscriptions\" to naming services).\n"
"There may be some secure, human readable, scalable, and globally \n"
2013-07-03 01:01:50 +00:00
"unique, naming system some day, but applications shouldn't depend upon it being in place,\n"
2013-06-05 10:00:16 +00:00
"since there are those who don't think such a beast is possible.\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(naming)s\">Further information on the naming system</a> is available."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:149
#, python-format
msgid ""
"While most applications do not need to distinguish protocols and ports,\n"
2013-07-03 01:01:50 +00:00
"I2P <em>does</em> support them. Complex applications may specify a protocol,\n"
2013-06-11 12:45:56 +00:00
"from port, and to port, on a per-message basis, to multiplex traffic on\n"
"a single destination.\n"
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
2013-07-03 01:01:50 +00:00
"Simple applications operate by listening for \"all protocols\" on \"all ports\" of a destination."
2013-06-11 12:45:56 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:158
2013-06-05 10:00:16 +00:00
msgid "Anonymity and confidentiality"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:160
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"I2P has transparent end to end encryption\n"
2013-07-03 01:01:50 +00:00
"and authentication for all data passed over the network - if Bob sends to Alice's destination,\n"
"only Alice's destination can receive it, and if Bob is using the datagrams or streaming \n"
"library, Alice knows for certain that Bob's destination is the one who sent the data."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:167
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"Of course, I2P transparently anonymizes the\n"
2013-07-03 01:01:50 +00:00
"data sent between Alice and Bob, but it does nothing to anonymize the content of what they\n"
"send. For instance, if Alice sends Bob a form with her full name, government IDs, and \n"
"credit card numbers, there is nothing I2P can do. As such, protocols and applications should \n"
"keep in mind what information they are trying to protect and what information they are willing\n"
2013-06-05 10:00:16 +00:00
"to expose."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:176
msgid "I2P datagrams can be up to several KB"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:178
#, python-format
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Applications that use I2P datagrams (either raw or repliable ones) can essentially be thought\n"
"of in terms of UDP - the datagrams are unordered, best effort, and connectionless - but unlike\n"
"UDP, applications don't need to worry about MTU detection and can simply fire off large datagrams.\n"
"While the upper limit is nominally 32 KB, the message is fragmented for transport, thus dropping\n"
"the reliability of the whole. Datagrams over about 10 KB are not currently recommended.\n"
2013-06-11 12:45:56 +00:00
"See the <a href=\"%(datagrams)s\">datagram page</a> for details.\n"
"For many applications, 10 KB of data is sufficient for an\n"
2013-07-03 01:01:50 +00:00
"entire request or response, allowing them to transparently operate in I2P as a UDP-like \n"
2013-06-05 10:00:16 +00:00
"application without having to write fragmentation, resends, etc."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:192
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"There are several means of sending data over I2P, each with their own pros and cons.\n"
"The streaming lib is the recommended interface, used by the majority of I2P applications."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:197
2013-06-05 10:00:16 +00:00
msgid "Streaming Lib"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:198
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"%(streaming)s\">full streaming library</a> is now the standard\n"
"interface. It allows programming using TCP-like sockets, as explained in the <a href=\"#start.streaming\">Streaming development guide</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:204
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"BOB is the <a href=\"%(bob)s\">Basic Open Bridge</a>,\n"
"allowing an application in any language to make streaming connections \n"
2013-07-03 01:01:50 +00:00
"to and from I2P. At this point in time it lacks UDP support, but UDP support\n"
2013-06-05 10:00:16 +00:00
"is planned in the near future. BOB also contains several tools, such as \n"
2013-07-03 01:01:50 +00:00
"destination key generation, and verification that an address conforms to \n"
"I2P specifications. Up to date info and applications that use BOB can be \n"
2013-06-05 10:00:16 +00:00
"found at this <a href=\"http://%(boburl)s/\">eepsite</a>."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:217
msgid "SAM is not recommended. SAM V2 is okay, SAM V3 is recommended."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:218
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"SAM is the <a href=\"%(sam)s\">Simple Anonymous Messaging</a> protocol, allowing an\n"
"application written in any language to talk to a SAM bridge through a plain TCP socket and have\n"
"that bridge multiplex all of its I2P traffic, transparently coordinating the encryption/decryption\n"
2013-06-05 10:00:16 +00:00
"and event based handling. SAM supports three styles of operation:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:225
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"streams, for when Alice and Bob want to send data to each other reliably and"
" in order"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:228
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"repliable datagrams, for when Alice wants to send Bob a message that Bob can"
" reply to"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:231
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"raw datagrams, for when Alice wants to squeeze the most bandwidth and performance as possible,\n"
"and Bob doesn't care whether the data's sender is authenticated or not (e.g. the data transferred\n"
2013-06-05 10:00:16 +00:00
"is self authenticating)"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:237
2013-06-05 10:00:16 +00:00
msgid ""
"SAM V3 aims at the same goal as SAM and SAM V2, but does not require\n"
2013-07-03 01:01:50 +00:00
"multiplexing/demultiplexing. Each I2P stream is handled by its own socket between the application\n"
"and the SAM bridge. Besides, datagrams can be sent and received by the application through datagram\n"
2013-06-05 10:00:16 +00:00
"communications with the SAM bridge."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:244
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"<a href=\"%(samv2)s\">SAM V2</a> is a new version used by imule\n"
"that fixes some of the problems in <a href=\"%(sam)s\">SAM</a>.\n"
"<br />\n"
"<a href=\"%(samv3)s\">SAM V3</a> is used by imule since version 1.4.0."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:252
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The I2PTunnel application allows applications to build specific TCP-like tunnels to peers \n"
"by creating either I2PTunnel 'client' applications (which listen on a specific port and connect\n"
"to a specific I2P destination whenever a socket to that port is opened) or I2PTunnel 'server'\n"
"applications (which listen to a specific I2P destination and whenever it gets a new I2P \n"
"connection it outproxies to a specific TCP host/port). These streams are 8-bit clean, and are\n"
"authenticated and secured through the same streaming library that SAM uses, but there is a \n"
"nontrivial overhead involved with creating multiple unique I2PTunnel instances, since each have\n"
2013-06-05 10:00:16 +00:00
"their own unique I2P destination and their own set of tunnels, keys, etc."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:264
msgid ""
"I2P supports a SOCKS V4 and V5 proxy.\n"
2013-07-03 01:01:50 +00:00
"Outbound connections work well. Inbound (server) and UDP functionality may be incomplete\n"
2013-06-11 12:45:56 +00:00
"and untested."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:271
msgid "Removed"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:272
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"There used to be a simple \"ministreaming\" library,\n"
2013-07-03 01:01:50 +00:00
"but now ministreaming.jar contains only the interfaces for the full streaming library."
2013-06-06 01:31:38 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:278
msgid "Recommended for UDP-like applications"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:279
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The <a href=\"%(datagrams)s\">Datagram library</a> allows sending UDP-like packets.\n"
2013-06-05 10:00:16 +00:00
"It's possible to use:"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:284
2013-06-05 10:00:16 +00:00
msgid "Repliable datagrams"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:285
2013-06-05 10:00:16 +00:00
msgid "Raw datagrams"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:289
msgid "Not recommended"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:290
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"%(i2cp)s\">I2CP</a> itself is a language independent protocol, but to implement an I2CP library \n"
"in something other than Java there is a significant amount of code to be written (encryption routines, \n"
"object marshalling, asynchronous message handling, etc). While someone could write an I2CP library in \n"
"C or something else, it would most likely be more useful to use the C SAM library instead."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:297
2013-06-05 10:00:16 +00:00
msgid "Web Applications"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:298
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"I2P comes with the Jetty webserver, and configuring to use the Apache server instead is straightforward.\n"
2013-06-05 10:00:16 +00:00
"Any standard web app technology should work."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:304
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Developing using I2P requires a working I2P installation and a development environment of your own choice.\n"
"If you are using Java, you can start development with the <a href=\"#start.streaming\">streaming library</a> or datagram library.\n"
2013-06-05 10:00:16 +00:00
"Using another programming language, SAM or BOB can be used."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:310
2013-06-05 10:00:16 +00:00
msgid "Developing with the streaming library"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:312
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"The following example shows how to create TCP-like client and server applications\n"
2013-06-11 12:45:56 +00:00
"using the streaming library."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:317
msgid "This will require the following libraries in your classpath:"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:321
msgid "The streaming library itself"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:322
msgid "Factory and interfaces for the streaming library"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/applications.html:323
msgid "Standard I2P classes, data structures, API, and utilities"
2013-06-06 01:31:38 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:326
2013-06-05 10:00:16 +00:00
msgid ""
"Network communication requires the usage of I2P network sockets.\n"
2013-07-03 01:01:50 +00:00
"To demonstrate this, we will create an application where a client can send text messages to a server,\n"
"who will print the messages and send them back to the client. In other words, the server will function as an echo."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:331
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"We will start by initializing the server application. This requires getting an I2PSocketManager\n"
2013-06-05 10:00:16 +00:00
"and creating an I2PServerSocket.\n"
2013-07-03 01:01:50 +00:00
"We will not provide the I2PSocketManagerFactory with the saved keys for an existing Destination,\n"
2013-06-11 12:45:56 +00:00
"so it will create a new Destination for us.\n"
2013-07-03 01:01:50 +00:00
"So we will ask the I2PSocketManager for an I2PSession, so we can find out the Destination that\n"
"was created, as we will need to copy and paste that information later so the client can connect to us."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:362
2013-06-05 10:00:16 +00:00
msgid "Code example 1: initializing the server application."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:364
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Once we have an I2PServerSocket, we can create I2PSocket instances to accept connections from clients.\n"
"In this example, we will create a single I2PSocket instance, that can only handle one client at a time.\n"
2013-06-05 10:00:16 +00:00
"A real server would have to be able to handle multiple clients.\n"
2013-07-03 01:01:50 +00:00
"To do this, multiple I2PSocket instances would have to be created, each in separate threads.\n"
"Once we have created the I2PSocket instance, we read data, print it and send it back to the client.\n"
2013-06-05 10:00:16 +00:00
"The bold code is the new code we add."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:448
2013-07-03 01:01:50 +00:00
msgid ""
"Code example 2: accepting connections from clients and handling messages."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:452
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"When you run the above server code, it should print something like this (but without the line endings, it should just be\n"
2013-06-05 10:00:16 +00:00
"one huge block of characters):"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:466
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"This is the base64-representation of the server Destination. The client will"
" need this string to reach the server."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:470
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Now, we will create the client application. Again, a number of steps are required for initialization.\n"
2013-06-05 10:00:16 +00:00
"Again, we will need to start by getting an I2PSocketManager.\n"
"We won't use an I2PSession and an I2PServerSocket this time.\n"
2013-07-03 01:01:50 +00:00
"Instead, we will use the server Destination string to start our connection.\n"
"We will ask the user for the Destination string, and create an I2PSocket using this string.\n"
"Once we have an I2PSocket, we can start sending and receiving data to and from the server."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:554
2013-06-05 10:00:16 +00:00
msgid ""
"Code example 3: starting the client and connecting it to the server "
"application."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:556
2013-06-05 10:00:16 +00:00
msgid ""
"Finally, you can run both the server and the client application.\n"
2013-07-03 01:01:50 +00:00
"First, start the server application. It will print a Destination string (like shown <a href=\"#start.streaming.destination\">above</a>).\n"
"Next, start the client application. When it requests a Destination string, you can enter the string printed by the server.\n"
"The client will then send 'Hello I2P!' (along with a newline) to the server, who will print the message and send it back to the client."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:562
2013-06-05 10:00:16 +00:00
msgid "Congratulations, you have successfully communicated over I2P!"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:566
msgid "Existing Applications"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:567
msgid "Contact us if you would like to contribute."
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:588
2013-06-05 10:00:16 +00:00
msgid "Application Ideas"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:590
2013-06-05 10:00:16 +00:00
msgid "NNTP server - there have been some in the past, none at the moment"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:593
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Jabber server - there have been some in the past, and there is one at the "
"moment, with access to the public internet"
2013-06-05 10:00:16 +00:00
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:596
2013-06-05 10:00:16 +00:00
msgid "PGP Key server and/or proxy"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:599
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"Content Distribution / DHT applications - resurrect feedspace,\n"
2013-06-05 10:00:16 +00:00
"port dijjer, look for alternatives"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:603
2013-06-05 10:00:16 +00:00
msgid "Help out with <a href=\"http://syndie.i2p2.de/\">Syndie</a> development"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:606
2013-06-05 10:00:16 +00:00
msgid ""
2013-07-03 01:01:50 +00:00
"Web-based applications - The sky is the limit for hosting web-server-based\n"
2013-06-05 10:00:16 +00:00
"applications such as blogs, pastebins, storage, tracking, feeds, etc.\n"
"Any web or CGI technology such as Perl, PHP, Python, or Ruby will work."
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/applications.html:611
2013-06-05 10:00:16 +00:00
msgid ""
2013-06-11 12:45:56 +00:00
"Resurrect some old apps, several previously in the i2p source package -\n"
"bogobot, pants, proxyscript, q, stasher, socks proxy, i2ping, feedspace"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:2
msgid "I2P Developer's MTN Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:4
msgid "MTN Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:5
msgid ""
"Monotone servers used by the I2P project require two types of keys to be "
"used."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:9
msgid ""
"<a href=\"#commit\">Commit Keys</a> to sign changes checked-in to the "
"respository; and"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:10
msgid ""
2013-07-03 01:01:50 +00:00
"<a href=\"#transport\">Transport Keys</a> to push changes to remote servers."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:13
#, python-format
msgid ""
"Everyone that uses Monotone to checkout the I2P codebase will need to\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(monotone)s#obtaining-and-deploying-developers-keys\">import</a> the\n"
"developer commit keys, but only Monotone <a href=\"%(monotone)s#operating-a-monotone-server\">\n"
"server operators</a> will need to import the <a href=\"#transport\">transport keys</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:20
msgid "Developer Commit keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:240
2013-06-05 10:00:16 +00:00
msgid "Developer Transport Keys"
msgstr ""
2013-06-11 12:45:56 +00:00
#: i2p2www/pages/site/get-involved/develop/developers-keys.html:241
2013-06-05 10:00:16 +00:00
#, python-format
msgid ""
"<b>Note:</b> Transport keys are only needed for setting up a\n"
"<a href=\"%(monotone)s#operating-a-monotone-server\">Monotone server</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:2
msgid "License Agreements"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:5
#, python-format
msgid "For more information see <a href=\"%(licenses)s\">the licenses page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:8
msgid ""
"Following is a monotonerc file defining the current trust list.\n"
"Developers must use this file in ~/.monotone/monotonerc or\n"
"_MTN/montonerc in their i2p.i2p workspace."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/license-agreements.html:17
msgid "Agreements"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:4
msgid "I2P Software Licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:5
#, python-format
msgid ""
"As required by our\n"
"<a href=\"%(threatmodel)s\">threat model</a> (among other reasons), the \n"
"software developed to support the anonymous communication \n"
"network we call I2P must be freely available, open source, \n"
"and user modifiable. To meet these criteria, we make use of\n"
"a variety of legal and software engineering techniques so\n"
"as to remove as many barriers to entry for those considering\n"
"making use of or contributing to the I2P effort."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:16
msgid ""
"While the information below may be more confusing than just simply \n"
"stating \"I2P is BSD\", \"I2P is GPL\", or \"I2P is public domain\",\n"
"the short answer to the question \"How is I2P licensed?\" is this:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:22
msgid "All software bundled in the I2P distributions will allow:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:24
msgid "use without fee"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:25
msgid ""
2013-07-03 01:01:50 +00:00
"use with no restrictions on how, when, where, why, or by whom is running it"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:26
msgid "access to the source code without fee"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:27
msgid "modifications to the source"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:30
msgid ""
2013-07-03 01:01:50 +00:00
"Most of the software guarantees much more - the ability of <b>anyone</b> to \n"
"distribute the modified source however they choose. However, not all of the \n"
"software bundled provides this freedom - the GPL restricts the ability of \n"
"developers who wish to integrate I2P with their own applications that are not \n"
"themselves open source applications. While we applaud the noble goals of \n"
"increasing the resources in the commons, I2P is best served by removing any\n"
"barriers that stand in the way of its adoption - if a developer considering whether\n"
"they can integrate I2P with their application has to stop and check with their lawyer,\n"
"or conduct a code audit to make sure their own source can be released as GPL-compatible,\n"
2013-06-05 10:00:16 +00:00
"we lose out."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:43
msgid "Component licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:44
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P distribution contains several resources, reflecting the partitioning of \n"
"the source code into components. Each component has its own license, which all \n"
"developers who contribute to it agree to - either by explicitly declaring the release\n"
"of code committed under a license compatible with that component, or by implicitly\n"
"releasing the code committed under the component's primary license. Each of these \n"
"components has a lead developer who has the final say as to what license is compatible\n"
"with the component's primary license, and the I2P project manager has the final say as\n"
"to what licenses meet the above four guarantees for inclusion in the I2P distribution."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:57
msgid "Component"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:58
msgid "Source path"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:59
msgid "Resource"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:60
msgid "Primary license"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:61
msgid "Alternate licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:62
msgid "Lead developer"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:271
msgid "GPL + java exception"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:272
#, python-format
msgid ""
"While it may be redundant, just for clarity the\n"
"<a href=\"%(gpl)s\">GPL</a>'ed code included within\n"
2013-07-03 01:01:50 +00:00
"I2PTunnel and other apps must be released under the GPL with an additional \"exception\"\n"
2013-06-05 10:00:16 +00:00
"explicitly authorizing the use of Java's standard libraries:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:288
msgid ""
2013-07-03 01:01:50 +00:00
"All source code under each component will by default be licensed under the\n"
"primary license, unless marked otherwise in the code. All of the above is\n"
"summary of the license terms - please see the specific license for the component\n"
"or source code in question for authoritative terms. Component source locations and\n"
2013-06-05 10:00:16 +00:00
"resource packaging may be changed if the repository is reorganized."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:296
msgid "Commit privileges"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:297
#, python-format
msgid ""
"Developers may push changes to a distributed monotone repository if you\n"
"receive permission from the person running that repository.\n"
"See the <a href=\"%(monotone)s\">Monotone Page</a> for details."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:303
msgid ""
"However, to have changes included in a release, developers\n"
"must be trusted by the release manager (currently zzz).\n"
2013-07-03 01:01:50 +00:00
"In addition, they must explicitly agree with the above terms to be trusted.\n"
"That means that they must send one of the release managers a signed message affirming that:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:310
msgid ""
"Unless marked otherwise, all code I commit is implicitly licensed under\n"
"the component's primary license"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:314
msgid ""
2013-07-03 01:01:50 +00:00
"If specified in the source, the code may be explicitly licensed under one\n"
2013-06-05 10:00:16 +00:00
"of the component's alternate licenses"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:318
msgid ""
"I have the right to release the code I commit under the terms I\n"
"am committing it"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/licenses.html:324
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If anyone is aware of any instances where the above conditions are not met,\n"
"please contact the component lead and/or an I2P release manager with further\n"
2013-06-05 10:00:16 +00:00
"information.\n"
"<a href=\"%(licenseagreements)s\">See developers' license agreements</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:2
msgid "Release Signing Key"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:4
msgid "Releases 0.7.6 and later are signed by zzz. His public key is:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/release-signing-key.html:40
msgid ""
2013-07-03 01:01:50 +00:00
"Releases 0.6.1.31 through 0.7.5 were signed by Complication. His public key "
"is:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:2
msgid "Signed Developer Keys"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"Keys for zzz, Complication and welterde are provided clearsigned. The key for jrandom must be\n"
2013-06-05 10:00:16 +00:00
"verified differently, since he's away, and only left a binary detached\n"
"signature for his key."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:10
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:16
msgid "Monotone keys for zzz"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:11
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:47
msgid "Monotone keys for welterde"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:12
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:79
msgid "Monotone keys for Complication"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:13
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:114
msgid "Monotone keys for jrandom"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:17
msgid ""
2013-07-03 01:01:50 +00:00
"<u>Tip:</u> To find zzz's GPG key, on his eepsite locate the key `0xA76E0BED`, with\n"
"the name `zzz@mail.i2p` and the fingerprint `4456 EBBE C805 63FE 57E6 B310 4155\n"
2013-06-05 10:00:16 +00:00
"76BA A76E 0BED`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:49
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tip:</b> To find welterde's GPG key, on public keyservers locate the key\n"
"`0x62E011A1`, with the name `welterde@arcor.de` and the fingerprint `6720 FD81\n"
2013-06-05 10:00:16 +00:00
"3872 6DFC 6016 64D1 EBBC 0374 62E0 11A1`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:81
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tip:</b> To find Complication's GPG key, on his eepsite locate the key\n"
"`0x79FCCE33`, with the name `complication@mail.i2p` and the fingerprint `73CF\n"
2013-06-05 10:00:16 +00:00
"2862 87A7 E7D2 19FF DB66 FA1D FC6B 79FC CE33`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:116
msgid ""
2013-07-03 01:01:50 +00:00
"<b>Tip:</b> To find jrandom's GPG key for Syndie releases, on public keyservers locate\n"
2013-06-05 10:00:16 +00:00
"the key `0x393F2DF9`, with the name `syndie-dist-key@i2p.net` and the\n"
"fingerprint `AE89 D080 0E85 72F0 B777 B2ED C2FA 68C0 393F 2DF9`."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:122
msgid ""
"Jrandom had to leave unexpectedly in the end of 2007. His commit key was\n"
2013-07-03 01:01:50 +00:00
"deployed in the Syndie Monotone repository, in a file named `mtn-committers`.\n"
"That file also had a GPG signature, `mtn-committers.sig`, but it was a binary\n"
"detached signature. I am going to supply both files in GPG ASCII-armoured form\n"
2013-06-05 10:00:16 +00:00
"below."
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:130
msgid ""
2013-07-03 01:01:50 +00:00
"First, the file `mtn-committers` containing jrandom's Monotone key. Save as\n"
"`mtn-committers.asc` and unpack it using `gpg --output mtn-committers --dearmor\n"
2013-06-05 10:00:16 +00:00
"mtn-committers.asc`:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:151
msgid ""
"Now the file `mtn-committers.sig`, containing the GPG signature. Save as\n"
2013-07-03 01:01:50 +00:00
"`mtn-committers.sig.asc` and unpack it using `gpg --output mtn-committers.sig\n"
2013-06-05 10:00:16 +00:00
"--dearmor mtn-committers.sig.asc`. Use it to verify the above supplied\n"
"`mtn-committers` file:"
msgstr ""
#: i2p2www/pages/site/get-involved/develop/signed-keys.html:170
#, python-format
msgid ""
"Some of the developers have included their Monotone keys in their <a "
"href=\"%(licenseagreements)s\">signed license agreement</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:2
msgid "Developer Guidelines and Coding Style"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:4
#, python-format
msgid "Read the <a href=\"%(newdevs)s\">new developers guide</a> first."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:8
msgid "Basic Guidelines and Coding Style"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:10
msgid ""
2013-07-03 01:01:50 +00:00
"Most of the following should be common sense for anybody who has worked on open source or in a commercial\n"
2013-06-05 10:00:16 +00:00
"programming envrionment.\n"
"The following applies mostly to the main development branch i2p.i2p.\n"
2013-07-03 01:01:50 +00:00
"Guidelines for other branches, plugins, and external apps may be substantially different;\n"
2013-06-05 10:00:16 +00:00
"check with the appropriate developer for guidance."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:18
msgid "Community"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:20
msgid ""
2013-07-03 01:01:50 +00:00
"Please don't just \"write code\". If you can, participate in other development activities, including:\n"
"development discussions and support on IRC, zzz.i2p, and forum.i2p; testing;\n"
2013-06-05 10:00:16 +00:00
"bug reporting and responses; documentation; code reviews; etc."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:25
msgid ""
"Active devs should be available periodically on IRC #i2p-dev.\n"
"Be aware of the current release cycle.\n"
"Adhere to release milestones such as feature freeze, tag freeze, and\n"
"the checkin deadline for a release."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:35
msgid ""
2013-07-03 01:01:50 +00:00
"Have a basic understanding of distributed source control systems, even if you haven't\n"
2013-06-05 10:00:16 +00:00
"used monotone before. Ask for help if you need it.\n"
"Once pushed, checkins are forever, there is no undo. Please be careful.\n"
"If you have not used monotone before, start with baby steps.\n"
"Check in some small changes and see how it goes."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:42
msgid ""
"Test your changes before checking them in.\n"
"If you prefer the checkin-before-test development model,\n"
"use your own development branch (e.g. i2p.i2p.yourname.test)\n"
"and propagate back to i2p.i2p once it is working well.\n"
"Do not break the build. Do not cause regressions.\n"
2013-07-03 01:01:50 +00:00
"In case you do (it happens), please do not vanish for a long period after\n"
2013-06-05 10:00:16 +00:00
"you push your change."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:51
msgid ""
2013-07-03 01:01:50 +00:00
"If your change is non-trivial, or you want people to test it and need good test reports\n"
"to know whether your change was tested or not, add a checkin comment to history.txt\n"
2013-06-05 10:00:16 +00:00
"and increment the build revision in RouterVersion.java."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:56
msgid ""
"Ensure that you have the latest monotonerc file in _MTN.\n"
"Do not check in on top of untrusted revisions."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:60
msgid ""
"Ensure that you pull the latest revision before you check in.\n"
"If you inadvertently diverge, merge and push as soon as possible.\n"
"Don't routinely make others merge for you.\n"
"Yes, we know that monotone says you should push and then merge,\n"
2013-07-03 01:01:50 +00:00
"but in our experience, in-workspace merge works just as well as in-database merge,\n"
2013-06-05 10:00:16 +00:00
"without creating a merge revision."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:68
msgid ""
2013-07-03 01:01:50 +00:00
"Do not check in major changes into the main i2p.i2p branch late in the release cycle.\n"
"If a project will take you more than a couple days, create your own branch in monotone\n"
2013-06-05 10:00:16 +00:00
"and do the development there so you do not block releases."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:75
msgid "Coding Style"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:77
msgid ""
2013-07-03 01:01:50 +00:00
"Coding style throughout most of the code is 4-spaces for indentation. Do not use tabs.\n"
"Do not reformat code. If your IDE or editor wants to reformat everything, get control of it.\n"
"Yes, we know 4 spaces is a pain, but perhaps you can configure your editor appropriately.\n"
2013-06-05 10:00:16 +00:00
"In some places, the coding style is different.\n"
"Use common sense. Emulate the style in the file you are modifying."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:84
msgid ""
2013-07-03 01:01:50 +00:00
"New classes and methods require at least brief javadocs. Add @since release-"
"number."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:87
msgid ""
2013-07-03 01:01:50 +00:00
"Classes in core/ (i2p.jar) and portions of i2ptunnel are part of our official API.\n"
"There are several out-of-tree plugins and other applications that rely on this API.\n"
2013-06-05 10:00:16 +00:00
"Be careful not to make any changes that break compatibility.\n"
"Don't add methods to the API unless they are of general utility.\n"
"Javadocs for API methods should be clear and complete.\n"
2013-07-03 01:01:50 +00:00
"If you add or change the API, also update the documentation on the website (i2p.www branch)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:95
msgid ""
"Tag strings for translation where appropriate.\n"
2013-07-03 01:01:50 +00:00
"Don't change existing tagged strings unless really necessary, as it will break existing translations.\n"
"Do not add or change tagged strings after the \"tag freeze\" in the release cycle so that\n"
2013-06-05 10:00:16 +00:00
"translators have a chance to update before the release."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:101
msgid ""
2013-07-03 01:01:50 +00:00
"Use generics and concurrent classes where possible. I2P is a highly multi-"
"threaded application."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:104
msgid ""
"We require Java 6 to build but only Java 5 to run I2P.\n"
2013-07-03 01:01:50 +00:00
"Do not use Java 6 classes or methods without handling the class not found exceptions\n"
"and providing alternate Java 5 code. See classes in net.i2p.util for examples."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:109
msgid ""
"Explicitly convert between primitive types and classes;\n"
"don't rely on autoboxing/unboxing."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:117
msgid ""
"Only check in code that you wrote yourself.\n"
"Before checking in any code or library jars from other sources,\n"
"justify why it is necessary,\n"
"verify the license is compatible,\n"
"and obtain approval from the lead developer."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:124
msgid ""
"For any images checked in from external sources,\n"
"it is your responsibility to first verify the license is compatible.\n"
"Include the license and source information in the checkin comment."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:131
msgid "Bugs"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:133
#, python-format
msgid ""
"Managing Trac tickets is everybody's job, please help.\n"
"Monitor %(trac)s for tickets you have been assigned or can help with.\n"
"Assign, categorize, comment on, fix, or close tickets if you can."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/dev-guidelines.html:138
msgid ""
"Close a ticket when you think you've fixed it.\n"
"We don't have a test department to verify and close tickets.\n"
"If you arent sure you fixed it, close it and add a note saying\n"
"\"I think I fixed it, please test and reopen if it's still broken\".\n"
"Add a comment with the dev build number or revision and set\n"
"the milestone to the next release."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"The main I2P development branch (<code>i2p.i2p</code>) has been set up to "
"enable developers to easily set up two of the commonly-used IDEs for Java "
"development: Eclipse and NetBeans."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:10
msgid ""
2013-07-03 01:01:50 +00:00
"The main I2P development branches (<code>i2p.i2p</code> and branches from "
"it) contain .project and .classpath Eclipse files, to enable the branch to "
"be easily set up in Eclipse."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:16
msgid ""
"Check out the I2P branch into some directory (e.g. "
"<code>$HOME/dev/i2p.i2p</code>)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:20
msgid ""
2013-07-03 01:01:50 +00:00
"Open Eclipse and create a new Workspace, based in the directory that the I2P"
" branch was checked out to."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:24
msgid ""
"Select \"File - Import...\" and then under \"General\" select \"Existing "
"Projects into Workspace\"."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:28
msgid ""
2013-07-03 01:01:50 +00:00
"For \"Select root directory:\" choose the directory that the I2P branch was "
"checked out to."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:32
msgid "If necessary, click \"Refresh\" to refresh the list of projects."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:36
msgid "Select every project in the list, and click \"Finish\"."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:40
msgid ""
2013-07-03 01:01:50 +00:00
"Done! Your workspace should now contain all projects within the I2P branch, "
"and their build dependencies should be correctly set up."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/ides.html:48
msgid ""
2013-07-03 01:01:50 +00:00
"The main I2P development branches (<code>i2p.i2p</code> and branches from "
"it) contain NetBeans project files."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:9
msgid "Operating a Monotone client"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:11
#: i2p2www/pages/site/get-involved/guides/monotone.html:63
msgid "Generating Monotone keys"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:12
msgid "Trust and initializing your repository"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:13
#: i2p2www/pages/site/get-involved/guides/monotone.html:196
msgid "Obtaining and deploying developers' keys"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:14
#: i2p2www/pages/site/get-involved/guides/monotone.html:227
msgid "Setting up trust evaluation hooks"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:15
#: i2p2www/pages/site/get-involved/guides/monotone.html:268
msgid ""
"Pulling the <code>i2p.i2p</code>, <code>i2p.www</code> and "
"<code>i2p.syndie</code> branches"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:16
#: i2p2www/pages/site/get-involved/guides/monotone.html:308
msgid "Verifying that trust evaluation works"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:17
#: i2p2www/pages/site/get-involved/guides/monotone.html:357
msgid "Checking out a working copy of the latest version"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:18
#: i2p2www/pages/site/get-involved/guides/monotone.html:384
msgid "Updating your working copy to the latest version"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:22
#: i2p2www/pages/site/get-involved/guides/monotone.html:414
msgid "Operating a Monotone Server"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:24
msgid "Obtaining and deploying developers transport keys"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:25
#: i2p2www/pages/site/get-involved/guides/monotone.html:424
msgid "Granting push and pull access"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:26
#: i2p2www/pages/site/get-involved/guides/monotone.html:469
msgid "Running Monotone in server mode"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:27
#: i2p2www/pages/site/get-involved/guides/monotone.html:494
msgid "Differences under Debian GNU/Linux"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:34
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"This is a revised version of <a href=\"%(transitionguide)s\">Complication's original\n"
2013-06-05 10:00:16 +00:00
" guide</a> detailing the use of Monotone in I2P development.\n"
2013-07-03 01:01:50 +00:00
" For basic instructions see the <a href=\"%(newdevs)s\">quick-start guide</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:42
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"I2P has a distributed development model. The source code is replicated across\n"
" independently administered <a href=\"http://www.monotone.ca/\">Monotone</a> (\"MTN\") repositories.\n"
" Developers with commit rights are able to push their changes to the repository\n"
" (a <a href=\"%(licenses)s#commit\">license agreement</a> needs to be signed\n"
2013-06-05 10:00:16 +00:00
" before commit rights are granted)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:52
msgid ""
"Some of Monotone's noteworthy qualities are: distributed\n"
2013-07-03 01:01:50 +00:00
" version control, cryptographic authentication, access control, its small size, having few\n"
" dependencies, storage of projects in a compressed SQLite database file, and\n"
2013-06-05 10:00:16 +00:00
" having the ability to resume interrupted synchronization attempts."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:61
msgid "Operating a Monotone Client"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:66
msgid ""
2013-07-03 01:01:50 +00:00
"A transport key grants you the ability to push your changes to a Monotone repository server.\n"
" In order to commit code into Monotone (in essence signing your code), a commit key is also needed.\n"
" None of the public Monotone servers on I2P currently require a key in order to read (or pull) the source code."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:74
msgid ""
"Without a transport key, one cannot:\n"
" <ul>\n"
2013-07-03 01:01:50 +00:00
" <li>pull code from a server which doesn't allow global read access</li>\n"
2013-06-05 10:00:16 +00:00
" <li>push code to any server</li>\n"
" <li>run a Monotone server</li>\n"
" </ul>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:85
msgid ""
"Without a commit key, one cannot:\n"
" <ul>\n"
" <li>commit any code</li>\n"
" </ul>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:94
msgid ""
"If you only intend to retrieve code from MTN, feel free to skip to the\n"
2013-07-03 01:01:50 +00:00
" <a href=\"#trust-and-initializing-your-repository\">next section</a>. If you want\n"
2013-06-05 10:00:16 +00:00
" to generate keys, read the following."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:102
msgid ""
2013-07-03 01:01:50 +00:00
"By convention keys are named like an e-mail addresses, but a corresponding e-mail\n"
2013-06-05 10:00:16 +00:00
" address does not need to exist. For example, your keys might be named:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:113
msgid ""
2013-07-03 01:01:50 +00:00
"Monotone stores keys under <code><b>$HOME/.monotone/keys</b></code> in text files which\n"
2013-06-05 10:00:16 +00:00
" are named identically to the keys. For example:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:123
msgid ""
"To generate transport and commit keys, enter the following commands at a "
"prompt:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:133
msgid ""
2013-07-03 01:01:50 +00:00
"Monotone will prompt you for a password to protect your keys. You are very strongly encouraged to set a password\n"
" for the commit key. Many users will leave an empty password for the transport key, especially those running a\n"
2013-06-05 10:00:16 +00:00
" Monotone server."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:141
msgid "Trust, and initializing your repository"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:145
msgid ""
2013-07-03 01:01:50 +00:00
"Monotone's security model helps to ensure that nobody can easily impersonate a developer without\n"
" it being noticed. Since developers can make mistakes and become compromised,only manual review can\n"
" ensure quality of code. Monotone's trust model will ensure that you read the right diffs. It does\n"
2013-06-05 10:00:16 +00:00
" not replace reading diffs."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:155
msgid ""
2013-07-03 01:01:50 +00:00
"A Monotone repository is a single file (a compressed SQLite database) which "
"contains all of the project's source code and history."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:161
msgid ""
2013-07-03 01:01:50 +00:00
"After <a href=\"#obtaining-and-deploying-developers-keys\">importing the developers' keys into Monotone</a> and\n"
" <a href=\"#setting-up-trust-evaluation-hooks\">setting up trust evaluation hooks</a>,\n"
" Monotone will prevent untrusted code from being checked out into your workspace.\n"
" There are commands available to clean untrusted code from your workspace but in practice they've not been\n"
2013-06-05 10:00:16 +00:00
" needed due to the push access policies in place."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:171
msgid ""
2013-07-03 01:01:50 +00:00
"A repository can hold many branches. For example, our repository holds the\n"
2013-06-05 10:00:16 +00:00
" following main branches:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:176
msgid "The I2P router and associated programs"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:177
msgid "The I2P project website"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:178
msgid "Syndie, a distributed forums tool"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:183
msgid ""
2013-07-03 01:01:50 +00:00
"By convention, the I2P Monotone repository is named <code>i2p.mtn</code>. Before pulling\n"
" source code from servers, a database for your repository will need to be initialized.\n"
" To initialize your local repository, change into the directory that you want the\n"
" <code>i2p.mtn</code> file and branch directories to be stored and issue the following\n"
2013-06-05 10:00:16 +00:00
" command:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:199
msgid ""
2013-07-03 01:01:50 +00:00
"Keys which developers use to commit code are essential for trust evaluation in\n"
" Monotone. The other developers' transport keys are only required for Monotone server operators.\n"
2013-06-05 10:00:16 +00:00
" "
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:206
#, python-format
msgid ""
"Developers' commit keys are provided GPG-signed <a "
"href=\"%(signedkeys)s\">on another page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:212
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"To import developers' keys after verifying their authenticity, copy <a href=\"%(devkeys)s\">all of the keys</a> into a new\n"
" file. Create this file (e.g. <code><b>keys.txt</b></code>) in the same directory where <code>i2p.mtn</code> is located. Import the keys with the command:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:222
msgid ""
"<b>Note</b>: <i>Never</i> add keys to "
"<code><b>$HOME/.monotone/keys</b></code> manually."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:230
msgid ""
2013-07-03 01:01:50 +00:00
"The default Monotone trust policy is way too lax for our requirements: every comitter is trusted by default.\n"
2013-06-05 10:00:16 +00:00
" That is not acceptable for I2P development."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:237
msgid ""
2013-07-03 01:01:50 +00:00
"Change into the directory <code><b>$HOME/.monotone</b></code> and open the file\n"
" <code>monotonerc</code> with a text editor. Copy and paste the following two functions into this file:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:246
msgid ""
2013-07-03 01:01:50 +00:00
"The first function determines an intersection between two sets, in our case a\n"
2013-06-05 10:00:16 +00:00
" revision's signers and trusted signers."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:253
msgid ""
2013-07-03 01:01:50 +00:00
"The second function determines trust in a given revision, by calling the first\n"
" function with \"signers\" and \"trusted\" as arguments. If the intersection is\n"
" null, the revision is not trusted. If the intersection is not empty, the\n"
2013-06-05 10:00:16 +00:00
" revision is trusted. Otherwise, the revision is not trusted."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:262
msgid ""
"More information about Trust Evauluation Hooks can be found in the <a "
"href=\"http://www.monotone.ca/docs/Hooks.html\">official Monotone "
"documentation</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:271
msgid ""
2013-07-03 01:01:50 +00:00
"Enter the directory where you initialized <code>i2p.mtn<code>. Depending on whether you\n"
" want only I2P sources, or also sources for the I2P website and Syndie, you can\n"
2013-06-05 10:00:16 +00:00
" perform the <code>pull</code> operation in different ways."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:279
msgid "If you only want I2P sources:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:288
msgid "If you want all branches:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:294
msgid ""
2013-07-03 01:01:50 +00:00
"If the transfer aborts before completing sucessfully, simply repeating the "
"pull command will resume the transfer."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:300
msgid ""
2013-07-03 01:01:50 +00:00
"Pulling in the above examples is done anonymously by specifying an empty transport key.\n"
" If everyone pulls anonymously it will be harder for an attacker who gains control of the server\n"
2013-06-05 10:00:16 +00:00
" to selectively provide some people with tampered data."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:311
msgid "To verify that trust evaluation works:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:315
msgid "Make a backup of your <code>monotonerc</code> file."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:316
msgid ""
"Modify <code><b>monotonerc</b></code> by setting the trusted_signers "
"variable in the following way:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:322
msgid ""
2013-07-03 01:01:50 +00:00
"With <code><b>monotonerc</b></code> configured as above, Monotone will no longer trust any committers. Confirm this by changing into the\n"
"directory where <code>i2p.mtn</code> was created and attempt a checkout of the I2P branch:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:332
msgid ""
2013-07-03 01:01:50 +00:00
"A directory named <code>i2p.i2p</code> should <b>not</b> appear. You should encounter many\n"
2013-06-05 10:00:16 +00:00
" error messages like:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:349
msgid ""
"If you are satisfied with results, restore the backup of\n"
2013-07-03 01:01:50 +00:00
" <code>monotonerc</code> that was created above. If you didn't create a backup\n"
" as advised, re-read <a href=\"#setting-up-trust-evaluation-hooks\">Setting up trust evaluation hools</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:360
msgid ""
2013-07-03 01:01:50 +00:00
"If you already have a branch checked out, skip to the <a href=\"#updating-your-working-copy-to-the-latest-version\">next\n"
2013-06-05 10:00:16 +00:00
" section</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:367
msgid ""
2013-07-03 01:01:50 +00:00
"Change into the directory where <code>i2p.mtn</code> is located. Over there "
"issue:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:376
msgid ""
2013-07-03 01:01:50 +00:00
"The checkout should complete without error messages and a directory named\n"
" <code>i2p.i2p</code> should appear in the current directory. Congratulations! You have\n"
2013-06-05 10:00:16 +00:00
" successfully checked out the latest I2P sources, ready to be compiled."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:387
msgid ""
2013-07-03 01:01:50 +00:00
"If you haven't done this already, pull fresh code from the server to your local\n"
" Monotone repository. To accomplish this, change into the directory where\n"
2013-06-05 10:00:16 +00:00
" <code>i2p.mtn</code> is located and issue:\n"
" <ul>\n"
2013-07-03 01:01:50 +00:00
" <li>$ <code><b>mtn --db=\"i2p.mtn\" -k \"\" pull 127.0.0.1:8998 i2p.i2p</b></code></li>\n"
2013-06-05 10:00:16 +00:00
" </ul>"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:398
2013-07-03 01:01:50 +00:00
msgid ""
"Now change into your <code>i2p.i2p</code> directory, and over there issue:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:407
msgid ""
2013-07-03 01:01:50 +00:00
"As long as there were no errors&hellip;Congratulations! You have successfully updated to the latest I2P sources. They\n"
2013-06-05 10:00:16 +00:00
" should be ready to compile."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:416
msgid "Obtaining and deploying developers' transport keys"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:419
msgid ""
"As a server operator you may want to grant push access to certain "
"developers."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:427
msgid "By default the Monotone server denies all access."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:433
msgid "To grant pull access to all clients, set the following in"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:445
msgid ""
2013-07-03 01:01:50 +00:00
"No one will not be able to push code to your server without permission being"
" explicitly granted. To grant push access:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:451
msgid ""
"Add the name of the user's transport key to\n"
"<code>$HOME/.monotone/write-permissions</code>, such as\n"
"<code><pre>\n"
" zzz-transport@mail.i2p\n"
" complication-transport@mail.i2p\n"
"</pre></code>\n"
"with one key per line."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:462
msgid ""
2013-07-03 01:01:50 +00:00
"Import the transport key(s) into your database. The procedure for importing transport keys is the same as for\n"
"importing commit keys, which is described in the section <a href=\"#obtaining-and-deploying-developers-keys\">Obtaining and deploying developers' keys</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:472
msgid ""
2013-07-03 01:01:50 +00:00
"A separate database should be used for your Monotone server because monotone will lock the database while it is served to others.\n"
2013-06-05 10:00:16 +00:00
" Make a copy of your development database, then start the server with:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:479
msgid ""
2013-07-03 01:01:50 +00:00
"If your key is protected with a passphrase, Monotone may request the passphrase\n"
" when the first client connects. You can work around this by connecting making the first client connection to your server\n"
2013-06-05 10:00:16 +00:00
" (or by clearing the password for your transport key)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:487
msgid ""
2013-07-03 01:01:50 +00:00
"For your server to be accessible for others over I2P, you will need to create a\n"
" server tunnel for it. Use the \"Standard\" tunnel type and \"Bulk\" profile."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:497
msgid ""
"Debian (amongst other distributions) has integrated Monotone into their\n"
2013-07-03 01:01:50 +00:00
" framework of daemons/services. Although Monotone servers can still be run\n"
" \"the ordinary way\" on Debian systems, doing it the \"Debian way\" may be more straightforward."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/monotone.html:505
msgid ""
"Permissions are granted by editing the files\n"
" <code>/etc/monotone/read-permissions</code> and\n"
" <code>/etc/monotone/write-permissions</code>. You'll also need to edit\n"
2013-07-03 01:01:50 +00:00
" <code>/etc/default/monotone</code> to enable monotone to start at boot or to\n"
2013-06-05 10:00:16 +00:00
" customize the host, port, or database location."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:4
msgid ""
"\n"
"So you want to start work on I2P? Great!\n"
"Here's a quick guide to getting started\n"
2013-07-03 01:01:50 +00:00
"on contributing to the website or the software, doing development or creating translations."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:9
#, python-format
msgid ""
"\n"
"Not quite ready for coding?\n"
"Try <a href=\"%(volunteer)s\">getting involved</a> first."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:16
#: i2p2www/pages/site/get-involved/guides/new-developers.html:27
msgid "Basic study"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:17
#: i2p2www/pages/site/get-involved/guides/new-developers.html:41
msgid "Getting the I2P code"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:18
#: i2p2www/pages/site/get-involved/guides/new-developers.html:112
msgid "Building I2P"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:19
#: i2p2www/pages/site/get-involved/guides/new-developers.html:133
msgid "Development ideas"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:20
#: i2p2www/pages/site/get-involved/guides/new-developers.html:141
msgid "Making the results available"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:21
#: i2p2www/pages/site/get-involved/guides/new-developers.html:162
msgid "Get to know us!"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:22
#: i2p2www/pages/site/get-involved/guides/new-developers.html:168
msgid "Translations"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:23
#: i2p2www/pages/site/get-involved/guides/new-developers.html:174
msgid "Tools"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:29
msgid ""
2013-07-03 01:01:50 +00:00
"Basic development on the I2P router or the embedded applications uses Java as the main development language.\n"
"If you don't have experience with Java, you can always have a look at <a href=\"http://www.mindview.net/Books/TIJ/\">Thinking in Java</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:33
#, python-format
msgid ""
"Study the <a href=\"%(intro)s\">how intro</a>,\n"
"the <a href=\"%(docs)s\">other \"how\" documents</a>,\n"
"the <a href=\"%(techintro)s\">tech intro</a>,\n"
"and associated documents.\n"
2013-07-03 01:01:50 +00:00
"These will give you a good overview of how I2P is structured and what different things it does."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:43
msgid ""
"For development on the i2p router or the embedded applications,\n"
"get the monotone source repository installed - short instructions:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:48
msgid ""
"Install <a href=\"http://www.monotone.ca/\">monotone</a>.\n"
"Monotone is a version control system.\n"
2013-07-03 01:01:50 +00:00
"We use it because it allows us to keep track of who does what changes to the source code (and for a lot of complicated things, but 'keeping track of changes' is the basic idea)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"Skim over the <a href=\"http://www.monotone.ca/docs/Tutorial.html\">monotone"
" tutorial</a>, to make sure you understand the concepts."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:57
msgid ""
2013-07-03 01:01:50 +00:00
"If you want to remain anonymous, you need to do an additional step, to set "
"up a connection to a monotone server over I2P:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:60
#, python-format
msgid ""
"Enable the <a href=\"%(i2ptunnel)s\">i2ptunnel</a> client tunnel on port "
"8998 pointing to mtn.i2p2.i2p."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:64
msgid ""
"Pick a directory where you want to put all your I2P files, and create a "
"monotone database:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:67
msgid ""
2013-07-03 01:01:50 +00:00
"Define the trust list by creating <code>~/.monotone/monotonerc</code> (or "
"<code>_MTN/monotonerc</code> in the i2p.i2p workspace) with the following "
"contents:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:72
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Copy and paste the <a href=\"%(devkeys)s\">developer's commit keys</a> into a new file (e.g. <code>keys.txt</code>) in the same directory\n"
" that <code>i2p.mtn</code> is in. Import the keys into your database with <br><code><pre> mtn -d i2p.mtn read < keys.txt</pre></code>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:76
msgid ""
2013-07-03 01:01:50 +00:00
"Pull the I2P sources to your machine. This may take a long time, especially "
"if you are doing this over I2P!"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:78
msgid "Anonymously:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:81
msgid "Non-anonymously:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:83
msgid ""
2013-07-03 01:01:50 +00:00
"Alternatively, instead of 'mtn.i2p2.de', you can also download from mtn.i2p-"
"projekt.de."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:90
msgid ""
2013-07-03 01:01:50 +00:00
"All the sources are now present on your machine, in the database file. To "
"make them available in a directory, you need to check them out:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:92
msgid ""
2013-07-03 01:01:50 +00:00
"The above command creates a directory i2p.i2p, which contains all of the I2P"
" sources."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:96
msgid "Remarks"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:97
msgid ""
"\n"
2013-07-03 01:01:50 +00:00
"To download the website files instead of the I2P source files, use 'i2p.www' instead of 'i2p.i2p'."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:100
msgid ""
"The initial pull may take several hours using the tunnel.\n"
2013-07-03 01:01:50 +00:00
"If it fails after a partial pull, simply rerun it, it will start where it left off.\n"
2013-06-05 10:00:16 +00:00
"If you are in a hurry, use the non-anonymous access."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:105
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"A full list of branches, including i2p.i2p and i2p.www can be found on <a "
"href=\"%(viewmtn)s\">viewmtn</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:108
#, python-format
msgid ""
"A long explanation about using monotone is available on the <a "
"href=\"%(monotone)s\">monotone page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:114
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"To compile the code, you need the Sun Java Development Kit 6 or higher, or equivalent JDK\n"
2013-06-05 10:00:16 +00:00
"(<a href=\"%(sunjdk6)s\">Sun JDK 6</a> strongly recommended) and\n"
"<a href=\"http://ant.apache.org/\">Apache ant</a>\n"
"version 1.7.0 or higher.\n"
2013-07-03 01:01:50 +00:00
"If you go are working on the main I2P code, you can go into the i2p.i2p directory and run 'ant' to see the build options."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:122
msgid ""
"To build or work on console translations, you need\n"
"the xgettext, msgfmt, and msgmerge tools from the\n"
"<a href=\"http://www.gnu.org/software/gettext/\">GNU gettext package</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:128
#, python-format
msgid ""
"For development on new applications,\n"
"see the <a href=\"%(apps)s\">application development guide</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:134
#, python-format
msgid ""
"See <a href=\"http://%(zzz)s/forums/3\">zzz's TODO lists</a>,\n"
"<a href=\"%(todo)s\">this website's TODO list</a> or\n"
"<a href=\"http://%(trac)s/report/1\">Trac</a>\n"
"for ideas."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:143
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"See the bottom of <a href=\"%(licenses)s#commit\">the licenses page</a> for\n"
"commit privilege requirements. You need these to put code into i2p.i2p (not required for the website!)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:148
msgid "Short version of how to generate and use keys if you plan to commit:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:150
msgid "use an empty passphrase"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:151
msgid "enter a passphrase"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:152
#, python-format
msgid ""
"<a href=\"mailto:%(email)s\">send</a> this to a mtn repo operator to get "
"push privileges"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:153
#, python-format
msgid ""
"send this to <a href=\"mailto:%(email)s\">a release manager</a> to get "
"commit privileges - not required for website"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:154
msgid "check in with this key"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:155
msgid "push with this key"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:157
#, python-format
msgid "Long version: see the <a href=\"%(monotone)s\">monotone page</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:163
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The developers hang around on IRC. They can be reached on the Freenode network, OFTC, and on the I2P internal networks. The usual place to look is #i2p-dev. Join the channel and say hi!\n"
"We also have <a href=\"%(guidelines)s\">additional guidelines for regular developers</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:169
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Website and router console translators: See the <a href=\"%(newtrans)s\">New Translator's Guide</a>\n"
2013-06-05 10:00:16 +00:00
"for next steps."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:175
msgid ""
"I2P is open source software that is mostly developed using open sourced\n"
2013-07-03 01:01:50 +00:00
"toolkits. The I2P project recently acquired a license for the YourKit Java\n"
"Profiler. Open source projects are eligible to receive a free license provided\n"
"that YourKit is referenced on the project web site. Please get in touch if you\n"
2013-06-05 10:00:16 +00:00
"are interested in profiling the I2P codebase."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-developers.html:183
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"YourKit is kindly supporting open source projects with its full-featured Java Profiler.\n"
"YourKit, LLC is the creator of innovative and intelligent tools for profiling\n"
"Java and .NET applications. Take a look at YourKit's leading software products:\n"
2013-06-05 10:00:16 +00:00
"<a href=\"%(java)s\">YourKit Java Profiler</a> and\n"
"<a href=\"%(dotnet)s\">YourKit .NET Profiler</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:4
msgid "Here's a very quick guide to getting started."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:6
msgid "How to Translate the Website"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:8
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Translation of the website is done with .po files. The easiest way by far to\n"
2013-06-05 10:00:16 +00:00
"translate the website is to sign up for an account at \n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation team. \n"
2013-06-05 10:00:16 +00:00
"Alternatively it can be done \"the old way\" as outlined below."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:17
#: i2p2www/pages/site/get-involved/guides/new-translators.html:82
msgid "Preparation"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:19
#: i2p2www/pages/site/get-involved/guides/new-translators.html:84
#, python-format
msgid ""
"Come to #i2p-dev on irc and talk to people.\n"
"Claim the language -\n"
2013-07-03 01:01:50 +00:00
"To make sure other coworkers don't bump onto the files you are working on,\n"
"please update the translation status on <a href=\"%(url)s\">this wiki page</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:25
#, python-format
msgid ""
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
"Including the installation of monotone,\n"
"checking out i2p.www branch, and generate your own monotone keys.\n"
"It is not required that you sign a dev agreement."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:33
msgid ""
"<b>Create files:</b>\n"
"If the file for your language does not exist yet:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:38
msgid ""
2013-07-03 01:01:50 +00:00
"Run \"<code>./extract-messages.sh</code>\" to generate a <code>messages.pot</code> in the base directory.\n"
"Edit the header of this file, then run \"<code>./init-new-po.sh locale</code>\" to generate the file\n"
"<code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>. \"<code>mtn add</code>\" this file."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:43
msgid ""
"Edit <code>i2p2www/pages/global/lang.html</code> and add a line for your "
"language (copy an existing line)."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:46
msgid ""
2013-07-03 01:01:50 +00:00
"Add a flag image file to <code>i2p2www/static/images/flags/</code> for the "
"menu (copy from the router)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:52
msgid ""
"<b>Edit files:</b>\n"
"Edit <code>i2p2www/translations/locale/LC_MESSAGES/messages.po</code>.\n"
2013-07-03 01:01:50 +00:00
"To work with .po files efficiently, you may wish to use <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:58
#: i2p2www/pages/site/get-involved/guides/new-translators.html:151
msgid ""
"<b>Check in:</b>\n"
2013-07-03 01:01:50 +00:00
"\"<code>mtn pull</code>\", \"<code>mtn update</code>\". Then check in by \"<code>mtn ci -k yourname@mail.i2p file1 file2 ...</code>\"\n"
"This collects the diff info of your changed file into your local repo. Then \"<code>mtn sync mtn.i2p2.de -k yourname-transport@mail.i2p i2p.i2p</code>\".\n"
2013-06-05 10:00:16 +00:00
"This synchronizes your local repo with the repo on the target machine."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:65
#: i2p2www/pages/site/get-involved/guides/new-translators.html:158
msgid "Repeat. Check in often. Don't wait until it is perfect."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:72
msgid "How to Translate the Router Console"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:74
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The easiest way by far to translate the router console is to sign up for an account at \n"
"<a href=\"%(transifex)s\">Transifex</a> and request to join a translation team. \n"
2013-06-05 10:00:16 +00:00
"Alternatively it can be done \"the old way\" as outlined below."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:90
#, python-format
msgid ""
"Follow the <a href=\"%(newdevs)s\">new developer's guide</a>,\n"
"including the installation of monotone and the gettext tools,\n"
"checking out i2p.i2p branch, and generate your own monotone keys."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:95
msgid "Generate your own gpg key and sign the dev agreement."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:101
msgid ""
2013-07-03 01:01:50 +00:00
"Before starting a console translation, better help translate some i2p webpages first.\n"
2013-06-05 10:00:16 +00:00
"At least an i2p homepage in your language would be great."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:106
msgid ""
"<b>What to translate:</b>\n"
"There are about 15 files in the i2p.i2p branch that needs translation:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:132
msgid ""
"Where xx is your language code like fr/de/ch/zh/...\n"
2013-07-03 01:01:50 +00:00
"There may be or may not be files with your lang code. If not, you can create your own. by copying and renaming other language files you know with your own lang code."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:137
msgid ""
"<b>Create files:</b>\n"
2013-07-03 01:01:50 +00:00
"If the file for your language does not exist yet, copy another language file to a new file <code>foo_xx.bar</code> for your language.\n"
2013-06-05 10:00:16 +00:00
"Then \"<code>mtn add</code>\" the file.\n"
2013-07-03 01:01:50 +00:00
"After creating a .po file, edit the headers. Then run \"<code>ant distclean poupdate</code>\"."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:144
msgid ""
"<b>Start to work:</b>\n"
"Edit the HTML files with any text editor.\n"
"Be sure not to use an editor in HTML mode that reformats everything.\n"
2013-07-03 01:01:50 +00:00
"To work with .po files efficiently, you may wish to use <a href=\"http://www.poedit.net/download.php\">POEdit</a>"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:163
msgid ""
"As you can see, it's not that difficult.\n"
2013-07-03 01:01:50 +00:00
"If you have questions about the meaning of the terms in the console, ask in <code>#i2p-dev</code> on IRC."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:171
msgid ""
2013-07-03 01:01:50 +00:00
"Q: Why do I have to install monotone, Java, jsp, learn about .po files and "
"html, etc.? Why can't I just do a translation and email it to you?"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:175
msgid "A: Several reasons:"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:178
#, python-format
msgid ""
"You might be interested in translating via Transifex. Request to join a "
"translation team <a href=\"%(transifex)s\">here</a>."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:182
msgid ""
2013-07-03 01:01:50 +00:00
"We don't have anybody who has time to accept manual contributions and submit"
" them to our source control system on your behalf. Even if we did, it "
"doesn't scale."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:186
msgid ""
"Maybe you are thinking translation is a one-step process. It isn't. You "
"can't do it all at once. You will make mistakes. You need to test it and "
2013-07-03 01:01:50 +00:00
"tweak it to make it look right <i>before</i> you submit it. Developers will "
"update or add to the English text, thus requiring a translation update."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:190
msgid ""
"Having translators use a source control system directly provides "
2013-07-03 01:01:50 +00:00
"authentication and accountablility - we know who is doing what, and we can "
"track changes, and revert them if necessary."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:194
msgid ""
2013-07-03 01:01:50 +00:00
".po files are not difficult. If you don't want to work directly with them, "
"we recommend 'poedit'."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:198
msgid ""
2013-07-03 01:01:50 +00:00
"HTML files are not difficult. Just ignore the html stuff and translate the "
"text."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:202
msgid ""
"Installing and using monotone is not that difficult. Several of the "
2013-07-03 01:01:50 +00:00
"translators and other contributors to I2P are non-programmers, and they use "
"monotone regularly. Monotone is simply a source control system, it is not "
"about \"coding\"."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:206
msgid ""
"Our items to translate are not \"documents\". They are html files and po "
2013-07-03 01:01:50 +00:00
"files, with a specific format and character encoding (UTF-8) that must be "
"maintained, and not corrupted by email programs or other methods of "
2013-06-05 10:00:16 +00:00
"transfer."
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:210
msgid ""
2013-07-03 01:01:50 +00:00
"We looked at 'pootle' as a front-end for translators. It didn't work well, "
"needed an administrator, and a pootle-based process would suffer from a "
"number of the above flaws."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:215
msgid ""
"<b>In summary:</b>\n"
2013-07-03 01:01:50 +00:00
"Yes, we know it is somewhat of a hurdle to get started. It's really the only possible way we can do it. Give it a try, it really isn't that hard."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:220
msgid "More Information"
msgstr ""
#: i2p2www/pages/site/get-involved/guides/new-translators.html:221
#, python-format
msgid ""
"The #i2p-dev channel on IRC, or the <a "
"href=\"http://%(zzz)s/forums/14\">translation forum on %(zzz)s</a>."
msgstr ""
#: i2p2www/pages/site/misc/clt.html:2
msgid "I2P at CLT and PetCon 2009.1"
msgstr ""
#: i2p2www/pages/site/misc/clt.html:4
msgid ""
"Members of I2P will held a talk at CLT and PetCon 2009.1\n"
2013-07-03 01:01:50 +00:00
"Two members of the I2P team will be at two forthcoming Linux day and security convention."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/clt.html:9
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"On 14th march of 2009 there will be a short talk about general introduction to I2P at the <a href=\"%(chemnitzer)s\">Chemnitz Linux Tag 2009</a> hold by echelon.\n"
"Echelon and some other members of the I2P family will attend to the Linux meeting the whole two days (Saturday and Sunday) and will be recognizable as I2P family members. Meet them, ask them your questions, show them your props! Show your support!"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/clt.html:14
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"Just 10 days later the <a href=\"%(petcon)s\">Privacy and Data Security convention</a> in Dresden will take place.\n"
"Again, echelon will attend this event and hold a short talk about general introduction to I2P. Another talk about the profiling by the I2P clients will be held."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/cvs.html:4
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The I2P sourcecode was kept in a CVS repository. Nowadays it is kept in a <a href=\"%(monotone)s\">Monotone</a> repository.\n"
2013-06-05 10:00:16 +00:00
"For those who aren't very familiar with CVS, there is a\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://cvsbook.red-bean.com/cvsbook.html\">fantastic book</a> on the\n"
"subject (developers only need to deal with the first chapter - \"An Overview of\n"
"CVS\", as subsequent chapters go into some nasty details very few ever need to\n"
2013-06-05 10:00:16 +00:00
"touch)."
msgstr ""
#: i2p2www/pages/site/misc/cvs.html:31
msgid ""
2013-07-03 01:01:50 +00:00
"Humorous quote from WinCVS: \"Did you know... Never experiment with new CVS\n"
2013-06-05 10:00:16 +00:00
"commands on your working repository. Create a sample module instead.\""
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:2
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:4
msgid "I2PTunnel migration"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:6
msgid ""
"After upgrading to the new architecture, you'll have to do a \n"
"little work to get your old I2PTunnel-driven servers running. \n"
"Lets walk through a simple example. For an eepsite with the \n"
"old clientApp configuration, you had:"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:16
msgid "To provide that same functionality on the new web architecture:"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:18
#, python-format
msgid "Jump to <a href=\"%(url)s\">%(url)s</a>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:19
msgid "Click on Add new: [Server tunnel] \"GO\""
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:21
msgid "For the name: <code>\"eepsite\"</code>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:22
msgid "For the description: <code>\"My eepsite, isn't it pretty?\"</code>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:23
msgid ">For the target host:"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:24
msgid "For the target port:"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:25
msgid ""
"For the private key file: <code>path to \"myWebPriv.dat\"</code><br /> \n"
"(it is recommended to copy that .dat to your new install dir)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:29
msgid "Check the \"Start automatically?\" checkbox"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:30
msgid "Click <code>\"Save\"</code>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:32
msgid "It will come back saying:"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:39
msgid ""
2013-07-03 01:01:50 +00:00
"That's it! Creating a new I2PTunnel server works the same way too, except you\n"
"don't need to \"copy the old file\", obviously. Behind the scenes, it is all driven\n"
"by the <code>i2ptunnel.config</code> file, which you may modify externally (if you do,\n"
"hit \"Reload config\" on the I2PTunnel web page, which will tear down all of your \n"
2013-06-05 10:00:16 +00:00
"existing tunnels and rebuild new ones)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-migration.html:47
msgid ""
"Note that you WILL need to wait until your router is integrated\n"
"into the network before you are able to use the /i2ptunnel/ web\n"
"interface. It will say \"Please be patient\" if you try to \n"
"beforehand, which means that it is still trying to build the \n"
"necessary I2PTunnel sessions it has been configured to create."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:2
msgid "I2PTunnel services"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:4
msgid "Below is quick copy of aum's eepsite deployment guide."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:8
msgid "1. - Deploy a local server"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:10
msgid ""
"For simplicity's sake, we will walk through the setup of a web server; "
"however, this procedure is the same regardless what protocol of servers "
"and/or clients you are setting up."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:13
msgid ""
2013-07-03 01:01:50 +00:00
"I recommend the Tiny Httpd web server, thttpd, (windows version available on"
" site) although you can use anything that you feel comfortable with."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:16
msgid ""
"Another more robust option would be to use EasyPHP, which is also open "
"source. It comes with PHP, PHPmyadmin, mySQL, and Apache web server. For "
2013-07-03 01:01:50 +00:00
"newbies who have no experience setting up and hosting content over servers, "
"see the hosting page for help."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:19
msgid ""
2013-07-03 01:01:50 +00:00
"With the web server you've chosen, configure it to listen on a port of your "
"choice, and serve its documents from a directory of your choice. For this "
"example, we'll assume port 10880."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:22
msgid ""
"Make sure your firewall is set up so that you cannot receive incoming "
"connections on this port (which would breach your anonymity)."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:25
msgid ""
"Test the webserver, by pointing your normal browser (the one with the "
"\"direct connection\") at <a href=\"http://localhost:10880\" "
2013-07-03 01:01:50 +00:00
"target=\"_blank\">http://localhost:10880</a> (changing the 10880 to the port"
" number you have chosen)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:28
msgid ""
"Once your webserver is working, and you can access it locally with your "
"browser, continue to the next step."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:33
msgid "2 - Generate an I2P Destination Keypair"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:35
msgid ""
2013-07-03 01:01:50 +00:00
"I2P does not deal in IP addresses. To protect your anonymity, it deals in "
"unique addresses called destination keys."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:38
msgid ""
"A destination key works a lot like a regular IP address, except that it "
2013-07-03 01:01:50 +00:00
"can't be traced to your IP address or physical location. When users place a "
"request to speak with you, your gateways are the ones that answer for you. "
"So the requesting user can only know the IP address of your gateways. "
"However, gateways don't know your IP address, because gateways are the last "
"nodes on your tunnels, and you anonymously create tunnels by way of garlic "
"routing. (So gateways are like puppets that can't see their masters, and "
"everyone communicates through these puppets)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:41
msgid ""
"To deploy a server on I2P, you create a destination keypair. You use the "
2013-07-03 01:01:50 +00:00
"private key to authenticate your server when connecting it to I2P, and you "
"make the public key (aka destination key) known publicly, so others can "
"connect to your server. (indirectly, through your gateways)"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:44
msgid "Each service you run on I2P requires a different keypair."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:47
msgid ""
"To generate your keypair, type the command: <code>java -jar "
"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat "
"myWebPubKey.dat\"</code> (all on one line)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:50
msgid ""
"In windows, to generate your keypair, type the command: <code>java -jar "
"lib/i2ptunnel.jar -nogui -e \"genkeys myWebPrivKey.dat "
"myWebPubKey.dat\"</code>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:53
msgid ""
2013-07-03 01:01:50 +00:00
"The filenames <code>myWebPrivKey.dat</code> and <code>myWebPubKey.dat</code>"
" are arbitrary - choose whatever you want here, as long as you understand "
"your own choices."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:56
msgid ""
"We now need to export your public key into base64 format, which you will "
"share with others."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:59
msgid ""
2013-07-03 01:01:50 +00:00
"To convert your myWebPubKey.dat file into shareable base64, type the command"
" <code>java -cp lib/i2p.jar net.i2p.data.Base64 encode myWebPubKey.dat &gt; "
"myWebPubKey.txt</code> (all on one line)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:62
msgid ""
2013-07-03 01:01:50 +00:00
"This file you have just generated, <code>myWebPubKey.txt</code>, contains a "
"long base64 string (516 chars at last count), which we call a destination "
"key. All you need to know about this string for now is that it allows remote"
" clients to uniquely pinpoint and connect to your server, just the same way "
"as an IP address allows remote machines to pinpoint and connect to your "
"machine."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:65
msgid ""
"However, in contrast to an IP address, there is no way to trace your "
2013-07-03 01:01:50 +00:00
"machine's physical location - even though your server can be addressed via "
"I2P, your IP address cannot be traced or associated with this destination "
"key."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:70
msgid "3 - Open a 'Tunnel' from I2P To Your Server"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:72
msgid ""
2013-07-03 01:01:50 +00:00
"For clients elsewhere in I2P to be able to access your server, you must run "
"a 'bridge' or 'tunnel', which takes connections from these clients and "
"forwards them to your local server."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:75
msgid ""
"To activate such a tunnel, type the command <code>java -jar "
"lib/i2ptunnel.jar -nogui -e \"server localhost 10880 "
"myWebPrivKey.dat\"</code> (all one line)."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:78
msgid ""
"If you used different filenames or port number earlier on, change these "
"accordingly"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:81
msgid ""
"Windows users, remember to replace apostrophes with double quotes. Thus: "
"<code>java -jar lib/i2ptunnel.jar -nogui -e \"server localhost 10880 "
"myWebPrivKey.dat\"</code>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:84
msgid ""
2013-07-03 01:01:50 +00:00
"Within a few seconds, the 'tunnel' should now be active, and remote clients "
"should be able to reach your server anonymously. Remember to let your router"
" \"warm up\" before opening clients to it."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:89
msgid "4 - Update Your hosts.txt File "
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:91
msgid ""
"To test your own server locally, you'll need to create an entry in your "
"hosts.txt file, so I2P can translate the simple URL you place in the "
"browser's address bar into the full public key text needed to find your "
"server."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:94
msgid ""
"Edit your hosts.txt, and add the line myserver.i2p=blahblahblah, where "
2013-07-03 01:01:50 +00:00
"myserver.i2p is an I2P 'domain' you want to associate with your site, and "
"the blahblahblah is the text of the base64 public key you created earlier in"
" the file myWebPubKey.txt"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:97
msgid ""
"With this in place, you and others can reach your server with the simple "
"domain name myserver.i2p in the browser's address bar."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:102
msgid "5 - Surf Your Site Within I2P"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:104
msgid ""
"Using your secondary browser - the one you earlier configured to use "
"localhost:4444 as a proxy - point this browser to the address <a "
"href=\"http://myserver.i2p\" target=\"_blank\">http://myserver.i2p</a>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:107
msgid "You should see the main page of your webserver come up."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:112
msgid "6 - Create a Local Client Tunnel Connection "
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:114
msgid "We now have to think beyond just web servers."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:117
msgid ""
2013-07-03 01:01:50 +00:00
"As you grow into I2P and get more of a 'feel' for it, you will want to use "
"all manner of servers and clients."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:120
msgid ""
2013-07-03 01:01:50 +00:00
"The beauty of I2P is that it allows standard Internet clients and servers "
"for most protocols to be transparently 'tunneled' through the anonymous "
2013-06-05 10:00:16 +00:00
"network."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:123
msgid ""
2013-07-03 01:01:50 +00:00
"You can run mailservers/clients, nameservers/clients, newsservers/clients - "
"almost anything at all - perhaps even FTP in passive mode."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:126
msgid ""
2013-07-03 01:01:50 +00:00
"Now, we'll create a client tunnel. This is like the server tunnel we created"
" earlier, but works in reverse. It listens to a port on your local machine; "
"your local client connects to this port; the connection gets forwarded "
"through I2P to the service on the other end."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:129
msgid ""
2013-07-03 01:01:50 +00:00
"To open your client tunnel for your server, type the command <code>java -jar"
" lib/i2ptunnel.jar -nogui -e \"config localhost 7654\" -e \"client 10888 "
"textofbase64key\"</code> (all one line)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:132
msgid ""
2013-07-03 01:01:50 +00:00
"The port 10888 is arbitrary - it just needs to be something other than the "
"physical port your server is listening on."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:135
msgid ""
"textofbase64key is simply the contents of the public key text file "
"myWebPubKey.txt, reproduced fully on one line (alternately, instead of "
"textofbase64key, you can specify the name from your hosts.txt - e.g. "
"myserver.i2p)"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:138
msgid ""
"Within a minute or two of launching this command, the client tunnel from "
"your local machine into I2P will be open and ready for use."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:141
msgid ""
"Point your regular web browser (ie, not the one you configured to use "
"localhost:4444), and point it to <a href=\"http://localhost:10888\" "
"target=\"_blank\">http://localhost:10888</a>"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:144
msgid ""
"Verify that the main page of your server eventually comes up in your "
"browser."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:147
msgid ""
2013-07-03 01:01:50 +00:00
"You use the same procedure for using any local client program to access a "
"remote I2P server - just get the base64 public key (called destination key) "
"of the remote server, choose a local port to connect to the remote server, "
"open the tunnel, and just connect with your client to your heart's content."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:152
msgid "7 - Share your server details with others"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:154
msgid ""
"Using an anonymous medium (eg the one of the I2P IRC servers or ugha's "
"wiki), post your domain name (eg <a href=\"http://www.mynick.i2p\" "
2013-07-03 01:01:50 +00:00
"target=\"_blank\">www.mynick.i2p</a> as well as your destination key. Others"
" will then be able to reach your server remotely, without either of you "
"jeopardizing your anonymity."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:157
msgid ""
2013-07-03 01:01:50 +00:00
"Remember, you can go to What's on I2P and find the latest public keys linked"
" to their URL. You should also post your own public key and URL their. "
"However, you will want to do this anonymously, of course. Drupal.i2p.net is "
"currently, as of this writing, only accessible from the net. So, to access "
"the outside WWW anonymously from inside of I2P, you will need to start up "
"your script called startSquid. Do it the same way you have been doing these "
"other scripts. Reconfigure your browser to proxy on localhost:5555, as "
"defined in the script, and when the script has generated it's keys, you can "
"access the squid proxy. Put any WWW URL (such as Google or this i2p site) "
"into your browser's address bar and you will be surfing the World Wide Web "
"anonymously. Now you can safely post your public key, and no one can detect "
"your IP address."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:162
msgid "8 - Write Some Scripts To Handle All This Menial Nonsense"
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:164
msgid ""
2013-07-03 01:01:50 +00:00
"It would drive most people crazy, going through all these steps every time "
"one sets up an I2P server, and/or deploys a client."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:167
msgid ""
"Aum's website <a href=\"http://www.freenet.org.nz/i2p/\" "
"target=\"_blank\">http://www.freenet.org.nz/i2p/</a> has a script called "
"setupServer.py which automates all this nonsense into one simple command "
"line . But I respect that people's tastes in user interfaces differ, and "
2013-07-03 01:01:50 +00:00
"trying to write something which satisfies everyone's needs usually results "
"in something so complex that it turns into newbie-repellent."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:170
msgid ""
"So please feel free to use and/or customize setupServer.py to taste, or "
"write your own in Python or another language."
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:173
msgid ""
2013-07-03 01:01:50 +00:00
"Also, you may want to write a script which handles the startup of the I2P "
"Router, the eepProxy, plus any and all tunnels you are using. I've got such "
"a script called startEverything.sh, which gets launched at system startup. "
"(Be sure to search this site for template scripts to automate your I2P "
"commands. If I create a page for one, I'll try to remember to link it here."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/i2ptunnel-services.html:176
2013-07-03 01:01:50 +00:00
msgid ""
"Exercise for Windows users - port setupServer.py into a MS-DOS .BAT file."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/invisiblenet.html:2
msgid "Old Documents"
msgstr ""
#: i2p2www/pages/site/misc/invisiblenet.html:5
msgid ""
2013-07-03 01:01:50 +00:00
"Following is a list of documents originally on www.invisiblenet.net/i2p/ and\n"
2013-06-05 10:00:16 +00:00
"rescued via the\n"
"<a href=\"http://www.archive.org/\">Wayback Machine</a>.\n"
"They are quite dated and may or may not be accurate.\n"
2013-07-03 01:01:50 +00:00
"However, the I2CP and I2NP documents in particular have some good information."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:3
msgid "August 2011"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"Using JNI (Java Native Interface), a bit of C code (thanks ugha!), a little\n"
2013-06-05 10:00:16 +00:00
"manual work and a piece of chewing gum we have made several\n"
"cryptography operations quite a bit faster."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:13
#, python-format
msgid ""
"The speedup comes from the super-fast\n"
"<a href=\"%(gmplib)s\">GNU MP Bignum library (libgmp)</a>.\n"
"We use a single function from libgmp -\n"
"<a href=\"%(func)s\">mpz_powm()</a>\n"
"as a replacement for the\n"
"<a href=\"%(bigint)s\">Java Math library's BigInteger modPow()</a>.\n"
2013-07-03 01:01:50 +00:00
"As modPow() is a significant computational portion of many crypto operations, this is of significant benefit."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:25
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The standard I2P installation includes about 20 versions of the library for different platforms,\n"
2013-06-05 10:00:16 +00:00
"each about 50KB, inside the jbigi.jar file.\n"
2013-07-03 01:01:50 +00:00
"The initialization of the JBigI library, including CPU identification, selection, and extraction\n"
2013-06-05 10:00:16 +00:00
"of the correct loadable module, is handled by the\n"
"<a href=\"%(nativebigint)s\">NativeBigInteger class</a>.\n"
"If no module is available for the current platform, the standard\n"
"<a href=\"%(bigint)s\">Java Math library's BigInteger modPow()</a>\n"
"is used."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:38
msgid "Rebuilding and Testing JBigI"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:39
msgid ""
2013-07-03 01:01:50 +00:00
"Following are the instructions to build a new jbigi library for your own platform\n"
2013-06-05 10:00:16 +00:00
"and testing its performance."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:42
msgid "Requirements"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:43
msgid ""
"This works on Linux, and with a few changes in build.sh probably also on\n"
2013-07-03 01:01:50 +00:00
"other platforms. FreeBSD has also been reported to work too. On Kaffee the\n"
"speedup is very small, because it already uses native BitInteger internally.\n"
2013-06-05 10:00:16 +00:00
"Blackdown seems to cause strange errors. Because you are going to do\n"
"compilation, you need JDK; JRE won't work."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:50
msgid ""
2013-07-03 01:01:50 +00:00
"The required code is available in monotone database and the latest source "
"tarball. "
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:51
msgid ""
"The GNU MP Bignum library (libgmp) needs to be installed, if it isn't\n"
2013-07-03 01:01:50 +00:00
"included in your OS / distribution or installed already, it can be received from\n"
"<a href=\"http://gmplib.org/#DOWNLOAD\">http://gmplib.org/#DOWNLOAD</a>. Even if you\n"
"have already installed it as binary, it might still be worth a try to compile\n"
"GMP yourself, since then it will be able to use the specific instructions of\n"
2013-06-05 10:00:16 +00:00
"your processor. The latest GMP may also\n"
"be used instead of GMP 5.0.2, but it hasn't been tested by us."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:61
msgid "Step-by-step instructions"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:63
msgid ""
2013-07-03 01:01:50 +00:00
"Look at <a href=\"http://localhost:7657/logs.jsp\">your running environment on the logs.jsp page</a>.\n"
2013-06-05 10:00:16 +00:00
"There should be one of two status messages for JBigI - either"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:66
msgid "Locally optimized native BigInteger loaded from the library path"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:68
msgid "or"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:70
msgid "Native BigInteger library jbigi not loaded - using pure java"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:71
msgid ""
"If the native BitInteger library was NOT loaded, you definitely need to\n"
"compile your own.\n"
"Certain platforms, such as OS X, OpenSolaris, and 64-bit systems,\n"
"may require you to compile your own library.\n"
"If the BigInteger library was loaded, do at least the next step to see\n"
"what your performance is."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:78
msgid ""
2013-07-03 01:01:50 +00:00
"Look on <a href=\"http://localhost:7657/stats.jsp\">http://localhost:7657/stats.jsp</a>\n"
"to see what the lifetime average values for <code>crypto.elGamal.decrypt</code> and\n"
"<code>crypto.elGamal.encrypt</code> are. The numbers are times in milliseconds. Copy these somewhere so you can compare\n"
2013-06-05 10:00:16 +00:00
"them later on.\n"
"The network average for encrypt time is about 20ms.\n"
2013-07-03 01:01:50 +00:00
"If your encrypt time is less than 50ms for a relatively new processor, or less than 100ms\n"
"for an older processor, and the native BigInteger library was loaded, you are probably fine."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:87
#, python-format
msgid ""
"Get the latest released source code of I2P from\n"
2013-07-03 01:01:50 +00:00
"<a href=\"%(downloads)s\">the download page</a>, or get the cutting-edge source\n"
2013-06-05 10:00:16 +00:00
"out of the monotone database mtn.i2p2.de"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:92
msgid "Inside the source tree change directory to: <code>core/c/jbigi</code>"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:93
msgid ""
"Read the README file.\n"
"If you have a /usr/lib/libgmp.so file, you do not have to download GMP.\n"
"Use the 'dynamic' argument to build.sh.\n"
"Otherwise, you must download GMP version 5.0.2 from\n"
2013-07-03 01:01:50 +00:00
"from <a href=\"http://gmplib.org/#DOWNLOAD\">http://gmplib.org/#DOWNLOAD</a>, saving it to gmp-5.0.2.tar.bz2.\n"
"If you decide to use a newer version, change the VER= line in <code>core/c/jbigi/build.sh</code>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:101
msgid ""
"Take a look at <code>build.sh</code>, if your <code>JAVA_HOME</code>\n"
2013-07-03 01:01:50 +00:00
"environment variable is set and you are using Linux then it might just work.\n"
2013-06-05 10:00:16 +00:00
"Otherwise change the settings. Remember, you need the Java SDK installed."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:106
msgid ""
"Run <code>build.sh</code> (if you downloaded GMP) or\n"
"<code>build.sh dynamic</code> (if you have /usr/lib/libgmp.so).<br/>\n"
2013-07-03 01:01:50 +00:00
"Maybe the build spewed out some errors of missing jni.h and jni_md.h files.\n"
"Either copy these files from your java install into the core/c/jbigi/jbigi/include/ directory,\n"
2013-06-05 10:00:16 +00:00
"or fix $JAVA_HOME.<br>\n"
2013-07-03 01:01:50 +00:00
"You can run the <code>build.sh</code> from the <code>core/c/</code> directory which will\n"
2013-06-05 10:00:16 +00:00
"build all available jbigi libs into a jbigi.jar.</br>\n"
"A file named <code>libjbigi.so</code> should be created in the current\n"
2013-07-03 01:01:50 +00:00
"directory. If this doesn't happen and/or you get errors then please report\n"
2013-06-05 10:00:16 +00:00
"them."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:118
msgid ""
"Follow the instructions in core/c/README to install the library and run\n"
"the speed test.\n"
"Read the final lines of the speed test's output for some additional\n"
"info, it will be something like this:"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:128
msgid ""
"If the native is indeed 5-7x faster (or more) then it looks all good. If "
"not, please report."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:129
msgid "Copy <code>libjbigi.so</code> to your i2p directory"
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:130
msgid "Restart your I2P programs."
msgstr ""
#: i2p2www/pages/site/misc/jbigi.html:131
msgid ""
2013-07-03 01:01:50 +00:00
"On <a href=\"http://localhost:7657/stats.jsp\">http://localhost:7657/stats.jsp</a>\n"
"the <code>crypto.elGamal.decrypt</code> and <code>crypto.elGamal.encrypt</code>\n"
2013-06-05 10:00:16 +00:00
"should be a lot faster."
msgstr ""
#: i2p2www/pages/site/misc/jrandom-awol.html:2
msgid "Jrandom's Announcement"
msgstr ""
#: i2p2www/pages/site/misc/jrandom-awol.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"The following message was received in mid-November 2007. We have no further information\n"
2013-06-05 10:00:16 +00:00
"on jrandom's status."
msgstr ""
#: i2p2www/pages/site/misc/jrandom-awol.html:9
#, python-format
msgid ""
"Subsequently, in an unrelated incident, the hosting company for\n"
"all *.i2p.net servers (except forum.i2p.net) suffered a power outage\n"
2013-07-03 01:01:50 +00:00
"on January 13, 2008, and the i2p.net servers did not fully return to service.\n"
2013-06-05 10:00:16 +00:00
"As only jrandom has the credentials required to restore service,\n"
"and he could not be contacted,\n"
"we moved all public services to <a href=\"%(site)s\">www.i2p2.de</a>\n"
"and related subdomains."
msgstr ""
#: i2p2www/pages/site/misc/jrandom-awol.html:19
#, python-format
msgid ""
"Approximately two months later, for unrelated reasons,\n"
"forum.i2p.net was moved to <a href=\"http://%(forum)s/\">%(forum)s</a>."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:2
#: i2p2www/pages/site/misc/manual-wrapper.html:4
msgid "Manually Installing the Java Wrapper"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:6
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The installation package for the <a href=\"%(downloads)s\">I2P router</a> comes\n"
"with a Java wrapper for the most common architectures. If your system is not\n"
"supported by our installer&mdash;or if you want to update the wrapper to a\n"
"newer version&mdash;the following steps describe installing the wrapper manually."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:14
msgid ""
2013-07-03 01:01:50 +00:00
"Check Tanuki Software's <a href=\"http://wrapper.tanukisoftware.com/doc/english/download.jsp#stable\">download page</a>\n"
2013-06-05 10:00:16 +00:00
"for your platform. Is your platform listed? If so, you're in\n"
2013-07-03 01:01:50 +00:00
"luck! Download the most recent version of the Community Edition for your OS and\n"
2013-06-05 10:00:16 +00:00
"CPU and move to <a href=\"#packaged\">the next step</a>."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:20
msgid ""
2013-07-03 01:01:50 +00:00
"If your platform does not have an already compiled wrapper available, you\n"
"may be able to compile it yourself. If you are willing to have a go at it, move\n"
2013-06-05 10:00:16 +00:00
"on to <a href=\"#compiling\">compiling</a> the wrapper for your system."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:27
msgid "Using existing binaries"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:28
2013-07-03 01:01:50 +00:00
msgid ""
"In the steps below, $I2P means <em>the location I2P was installed to</em>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:36
#: i2p2www/pages/site/misc/manual-wrapper.html:64
msgid "Try to start I2P using <code>$I2P/i2prouter start</code>"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:37
#: i2p2www/pages/site/misc/manual-wrapper.html:65
msgid "<code>tail -f /tmp/wrapper.log</code> and look for any problems."
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:39
#: i2p2www/pages/site/misc/manual-wrapper.html:67
msgid ""
2013-07-03 01:01:50 +00:00
"If this did not work you'll need to use <code>runplain.sh</code> to start "
"I2P."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:43
msgid "Compiling from source"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:44
msgid ""
2013-07-03 01:01:50 +00:00
"These steps worked to compile the wrapper for use on a mipsel system running"
" Debian. The steps <strong>will</strong> need to be altered for your system."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:48
msgid ""
2013-07-03 01:01:50 +00:00
"Download the source archive for the community version of the wrapper from <a"
" href=\"http://wrapper.tanukisoftware.com/downloads\">wrapper download "
"page</a>."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:49
msgid "Extract the tarball"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:51
msgid ""
2013-07-03 01:01:50 +00:00
"Set environment variables <code>ANT_HOME</code> and <code>JAVA_HOME</code>. "
"For example, in Debian:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:54
msgid ""
"Since there isn't a Makefile for Mipsel, we'll make a copy of an already "
"existing makefile:"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:56
msgid "Now we can attempt to compile the wrapper:"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:57
msgid "use <code>./build64.sh</code> if you have a 64bit CPU and JVM"
msgstr ""
#: i2p2www/pages/site/misc/manual-wrapper.html:58
msgid "Copy the wrapper into its proper place:"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:4
msgid ""
"Here's an outline and rationale for a minimal WWW proxy app for use over "
"I2P."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:8
msgid ""
"HTTP operation over I2P using I2PTunnel. When the base SocketLibrary\n"
"is out, the only significant difference will be the 'wrapRequest' and\n"
"'unwrapRequest' will functionally be placed in the socketLibrary, not\n"
"in the router (but later versions of the SocketLibrary will be able to\n"
"use selective ACK and large window sizes, allowing more ACKs to be\n"
"skipped)"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:47
msgid ""
2013-07-03 01:01:50 +00:00
"An optimized form, designed to handle only 128KB [1] files and pages, can\n"
2013-06-05 10:00:16 +00:00
"operate significantly faster:"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:71
msgid ""
"The difference in network load and latency is significant - this is\n"
2013-07-03 01:01:50 +00:00
"essentially a UDP version of HTTP. On the normal web, we can't really do that,\n"
"since most HTTP requests and responses are orders of magnitude larger than UDP\n"
"packets functionally support, but in I2P, messages can be large. The savings\n"
"for the network load comes from the fact that we don't need to send any ACK\n"
2013-06-05 10:00:16 +00:00
"messages - rather than the earlier wrap/unwrap request (that bundles a\n"
2013-07-03 01:01:50 +00:00
"DataMessage with a DeliveryStatusMessage to provide guaranteed delivery), the\n"
"MinWWW proxy deals with resends (if necessary - in I2PTunnel today, there are no\n"
2013-06-05 10:00:16 +00:00
"resends)."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:83
msgid ""
2013-07-03 01:01:50 +00:00
"The data that the MinWWW proxy and server need to wrap is trivial - when the\n"
"proxy wants to send \"GET /\", it prepends it with the I2P Destination sending\n"
"the request, followed by a 4 byte request ID. The MinWWW server receives those\n"
"requests, contacts the appropriate HTTPD, sends the request, waits for the\n"
2013-06-05 10:00:16 +00:00
"response, and sends a reply to the MinWWW proxy containing the response,\n"
2013-07-03 01:01:50 +00:00
"prefixed with the original request ID. That response is taken and passed back\n"
2013-06-05 10:00:16 +00:00
"to the browser and the connection is closed."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:93
msgid ""
"In addition, the MinWWW proxy can choose the MinWWW server to use from a\n"
2013-07-03 01:01:50 +00:00
"list, going through some round robin or other algorithm, so that there are\n"
"multiple outproxies merged transparently. The bandwidth required for running\n"
"one of these outproxies is also greatly reduced, since it will only handle 128KB\n"
2013-06-05 10:00:16 +00:00
"files (aka no one is going to be downloading porn, warez, etc)."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:101
msgid ""
2013-07-03 01:01:50 +00:00
"The functionality /is/ limited, but 128KB of data is a lot for a single HTTP\n"
"request or response. The above diagrams are also unrealistic in their hops -\n"
"ROUTERA will really never talk directly to ROUTERB. ROUTERA will send each\n"
"of the messages through two additional outbound routers, then forwarded to\n"
"two additional inbound routers to ROUTERB, so the lag there is significant -\n"
"while the above only saves 11 steps, 8 of those steps need to traverse the\n"
"entire tunnel path (4+ remote hops each time when tunnels are 2 remote hops\n"
"in each stretch), leaving MinWWW with only two full traversals (one for the\n"
2013-06-05 10:00:16 +00:00
"request, one for the response), instead of 10."
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:113
msgid ""
2013-07-03 01:01:50 +00:00
"Implementing the MinWWW proxy and server should be fairly easy - read an HTTP\n"
"request from the client fully (perhaps only start out with HTTP GET, leaving\n"
"HTTP POST for later), wrap the message, and wait for the response. The server\n"
"in turn simply needs to parse the request to either open a socket or URL,\n"
"send the request, wait for the response, and send it back through the network.\n"
2013-06-05 10:00:16 +00:00
"If someone were to implement this, it would be Good :)"
msgstr ""
#: i2p2www/pages/site/misc/minwww.html:122
msgid ""
2013-07-03 01:01:50 +00:00
"[1] Why 128KB files? Currently I2CP allows functionally arbitrary message\n"
"size, but that's going to be going away since it involves either excessive memory\n"
"overhead on intermediary routers, or additional implementation details to\n"
"handle. I2PTunnel is currently limited to 128KB and hasn't been a burden,\n"
2013-06-05 10:00:16 +00:00
"so perhaps it could be increased to 256KB when the I2CP spec is updated)"
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"There has been discussion about a distributed blogging application for a few\n"
"months now called \"MyI2P\". While the original discussions were lost, we were \n"
"able to retrieve a Google <a href=\"http://dev.i2p.net/~jrandom/i2p.net/myi2p.html\">cache</a>\n"
"of it. It isn't pretty, but it includes the basic overview and some discussion\n"
2013-06-05 10:00:16 +00:00
"that ensued."
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:12
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"The application itself is not yet implemented, and the ideas behind it have \n"
"been made less ambitious over time, but they are still valid and the current \n"
"<a href=\"%(roadmap)s\">plan</a> is to have the core MyI2P functionality available \n"
"along side the I2P 1.0 release. That will include a distributed address book\n"
"to enable secure, distributed, and human readable naming by sacrificing the \n"
"need for global uniqueness - basically everyone has their own local address book \n"
"and can 'subscribe' to other people's address books, letting MyI2P periodically\n"
"retrieve new name to destination mappings (leaving conflicts up to the user to\n"
"resolve). In addition to the address book, there will be a distributed blogging\n"
2013-06-05 10:00:16 +00:00
"system using a reduced and secured subset of \n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://www.phpbb.com/phpBB/faq.php?mode=bbcode\">bbcode</a> to essentially\n"
"provide an anonymous <a href=\"http://www.livejournal.com/\">LiveJournal</a> with\n"
"a 'friends list' and transparent access control (authenticated by the I2P\n"
"<a href=\"%(datagrams)s\">datagrams</a> with rules defined based on the address book)."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/myi2p.html:29
msgid ""
2013-07-03 01:01:50 +00:00
"Additional functionality, such as integration with a DHT backing store or \n"
"swarming file transfers for 'attachments' can be added later. Email may or may\n"
"not get in the first pass either, though its implementation is essentially just\n"
"a blog entry with private access, so perhaps some UI designer can come up with\n"
"something. Exporting the data to RSS or access through ATOM will be an option \n"
2013-06-05 10:00:16 +00:00
"down the road as well."
msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:2
#: i2p2www/pages/site/misc/ratestats.html:5
msgid "RateStat list"
msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:6
msgid "I2P enables the collection of a wide range of rates."
msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:7
msgid ""
2013-07-03 01:01:50 +00:00
"The list was gathered using the following command in the top directory of "
"the branch i2p.i2p:"
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/ratestats.html:10
msgid "All options aren't needed, but it works."
msgstr ""
#: i2p2www/pages/site/misc/transition-guide.html:4
#, python-format
msgid ""
"The I2P sourcecode is kept in several distributed monotone repositories.\n"
"See the\n"
"<a href=\"http://www.monotone.ca/\">Monotone website</a> for information\n"
"on monotone.\n"
"See\n"
2013-07-03 01:01:50 +00:00
"<a href=\"http://%(forum)s/viewtopic.php?t=2524\">this forum post on i2p monotone</a>\n"
"for more information on how to get started and check out the source anonymously.\n"
2013-06-05 10:00:16 +00:00
"There is also a quick-start guide on the\n"
"<a href=\"%(newdevs)s\">new developer's page</a>."
msgstr ""
#: i2p2www/pages/site/misc/transition-guide.html:16
msgid ""
2013-07-03 01:01:50 +00:00
"If you want to get the source non-anonymously, pull from the public server mtn.welterde.de.\n"
2013-06-05 10:00:16 +00:00
"The i2p source code branch is \"i2p.i2p\"."
msgstr ""
#: i2p2www/pages/site/misc/transition-guide.html:21
msgid "Guide"
msgstr ""
#: i2p2www/pages/site/misc/transition-guide.html:22
msgid ""
"\n"
"The following is a detailed guide by Complication."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:2
msgid "How to Upgrade from 0.6.1.30 and Earlier"
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:6
msgid "Upgrading from 0.6.1.30 and Earlier Releases"
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:8
#, python-format
msgid ""
"Since i2p's lead developer\n"
"<a href=\"%(jrandom)s\">has gone AWOL</a>,\n"
"we do not have his update signing key or access to\n"
"www.i2p[.net] or dev.i2p[.net].\n"
2013-07-03 01:01:50 +00:00
"Complication and zzz have generated new signing keys, and they and Amiga are providing\n"
"update file hosting. These changes must be configured in your router to take effect."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:17
msgid ""
2013-07-03 01:01:50 +00:00
"Make the following configuration changes and your router will automatically install\n"
2013-06-05 10:00:16 +00:00
"the latest release."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:22
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"We recommend the automated process as it will verify the key of the signed update file.\n"
2013-06-05 10:00:16 +00:00
"If you do not make these changes,\n"
"you may manually download the i2pupdate.zip file from\n"
"<a href=\"%(downloads)s\">the download page</a>."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:34
#, python-format
msgid "Change the News URL to: %(url)s"
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:38
msgid ""
2013-07-03 01:01:50 +00:00
"Select ONE of the following new Update URLs at random and enter it into the "
"Update URL box: "
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:43
msgid "Check the box \"Update through the eepProxy?\""
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:44
msgid "Click \"Save\""
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:51
msgid "Add the following line:"
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:55
msgid "Click \"Apply\""
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:58
msgid ""
"You are now ready to automatically receive the release update file,\n"
2013-07-03 01:01:50 +00:00
"either by setting your update policy to \"download and install\" or by clicking on the\n"
2013-06-05 10:00:16 +00:00
"\"update available\" link when it appears."
msgstr ""
#: i2p2www/pages/site/misc/upgrade-0.6.1.30.html:65
#, python-format
msgid ""
"If you would like to verify the trusted update keys, they are also\n"
"<a href=\"%(url)s\">posted and signed here</a>.\n"
2013-07-03 01:01:50 +00:00
"Thank you for your support during this transition. For help please contact us on #i2p."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/research/index.html:2
msgid "Academic Research"
msgstr ""
#: i2p2www/pages/site/research/index.html:4
msgid ""
2013-07-03 01:01:50 +00:00
"Academic research and analysis of I2P is an important part of ensuring that "
"the software and network performs as expected and is safe for users in "
"hostile environments."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/research/index.html:8
msgid ""
2013-07-03 01:01:50 +00:00
"I2P can be run as a separate test network by controlling the locations that "
"a new router reseeds from so that it only finds other test routers. "
"Additionally, the router can be run on its own in a virtual network mode to "
"enable testing the router in isolation; to enable this mode, add "
2013-06-05 10:00:16 +00:00
"<code>i2p.vmCommSystem=true</code> to the router.config before starting."
msgstr ""
#: i2p2www/pages/site/research/index.html:12
#, python-format
msgid ""
2013-07-03 01:01:50 +00:00
"If you are planning on conducting research on the live I2P network, please "
"<a href=\"%(contact)s\">contact us</a> before you commence your testing. "
"While we do not discourage researchers from responsibly testing their ideas "
"on the live network, if an attack becomes apparent and we don't have any "
"line of communication then we will end up taking countermeasures which could"
" interfere with the test."
2013-06-05 10:00:16 +00:00
msgstr ""
#: i2p2www/pages/site/research/index.html:16
msgid "Prior Research"
msgstr ""
#: i2p2www/pages/site/research/index.html:18
#, python-format
msgid ""
"A list of known published papers about I2P is available <a "
"href=\"%(papers)s\">here</a>."
msgstr ""
#: i2p2www/pages/site/research/papers.html:6
msgid "Following are links to research papers about I2P."
msgstr ""
#: i2p2www/pages/site/research/papers.html:12
msgid "Newest links are at the top of the page."
msgstr ""
#: i2p2www/pages/site/research/papers.html:17
msgid "Papers and Research"
msgstr ""